maverick-wave 4.11.0 → 4.12.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.
@@ -162,7 +162,8 @@ Two shadows per level - a tight contact layer plus a wide ambient one:
162
162
  `0` is explicitly flat. Never write a `box-shadow` by hand - the twelve one-off
163
163
  values that used to exist are exactly what this replaced.
164
164
 
165
- **Motion** `--mw-duration-instant|fast|base|slow|slower` = 90/150/240/400/700ms,
165
+ **Motion** `--mw-duration-instant|fast|base|slow|slower` = 110/180/300/520/900ms
166
+ plus `--mw-duration-zoom` (650ms, for a large surface actually travelling),
166
167
  `--mw-ease-out` (things arriving - the default), `--mw-ease-in-out` (A to B and
167
168
  back), `--mw-ease-spring` (a pop). Two ready-made transitions:
168
169
  `var(--mw-transition)` for hover and focus states, `var(--mw-transition-fast)`
@@ -352,8 +353,9 @@ spacing, flex, display, text
352
353
  comment. If your component really does need to animate a size, name that
353
354
  property - do not reach for `all`.
354
355
  27. **A control is a `<button>`, never a styled `<div>`.** `mw-tabs-nav-item`,
355
- `mw-theme-toggle` and `mw-gallery-dot` are all written for one, and all
356
- three shipped as divs and spans before 4.11 that no keyboard could reach.
356
+ `mw-theme-toggle`, `mw-gallery-dot` and `mw-accordion-header` are all
357
+ written for one, and all four shipped as divs and spans - the first three
358
+ until 4.11, the accordion header until 4.12 - that no keyboard could reach.
357
359
  Each class clears what a `<button>` brings with it, so
358
360
  `<button type="button" class="mw-tabs-nav-item" data-tab="...">` is the
359
361
  whole markup. If you build your own clickable thing: the element decides
@@ -194,7 +194,7 @@ export class ConfirmDialogComponent {
194
194
 
195
195
  ## Accordion
196
196
 
197
- `active` on the header **and** the content - no prefix.
197
+ `mw-active` on the header **and** the content.
198
198
 
199
199
  ```ts
200
200
  @Component({
@@ -203,16 +203,20 @@ export class ConfirmDialogComponent {
203
203
  <div class="mw-accordion">
204
204
  @for (item of items(); track item.id; let i = $index) {
205
205
  <div class="mw-accordion-item">
206
- <div
206
+ <button
207
+ type="button"
207
208
  class="mw-accordion-header"
208
209
  [class.mw-active]="openIndex() === i"
210
+ [attr.aria-expanded]="openIndex() === i"
211
+ [attr.aria-controls]="item.id"
209
212
  (click)="toggle(i)"
210
213
  >
211
- <h3>{{ item.question }}</h3>
214
+ <span>{{ item.question }}</span>
212
215
  <i class="fas fa-chevron-down mw-accordion-icon"></i>
213
- </div>
216
+ </button>
214
217
  <div
215
218
  class="mw-accordion-content"
219
+ [id]="item.id"
216
220
  [class.mw-active]="openIndex() === i"
217
221
  >
218
222
  <div class="mw-accordion-content-inner">{{ item.answer }}</div>
@@ -234,11 +234,16 @@ wired up by hand.
234
234
 
235
235
  <div class="mw-accordion">
236
236
  <div class="mw-accordion-item">
237
- <div class="mw-accordion-header mw-active">
238
- <h3>Where is the data stored?</h3>
237
+ <button
238
+ type="button"
239
+ class="mw-accordion-header mw-active"
240
+ aria-expanded="true"
241
+ aria-controls="faq-storage"
242
+ >
243
+ <span>Where is the data stored?</span>
239
244
  <i class="fas fa-chevron-down mw-accordion-icon"></i>
240
- </div>
241
- <div class="mw-accordion-content mw-active">
245
+ </button>
246
+ <div class="mw-accordion-content mw-active" id="faq-storage">
242
247
  <div class="mw-accordion-content-inner">
243
248
  <p>In Frankfurt, in our own data centre.</p>
244
249
  </div>
@@ -246,11 +251,16 @@ wired up by hand.
246
251
  </div>
247
252
 
248
253
  <div class="mw-accordion-item">
249
- <div class="mw-accordion-header">
250
- <h3>Can I cancel monthly?</h3>
254
+ <button
255
+ type="button"
256
+ class="mw-accordion-header"
257
+ aria-expanded="false"
258
+ aria-controls="faq-cancel"
259
+ >
260
+ <span>Can I cancel monthly?</span>
251
261
  <i class="fas fa-chevron-down mw-accordion-icon"></i>
252
- </div>
253
- <div class="mw-accordion-content">
262
+ </button>
263
+ <div class="mw-accordion-content" id="faq-cancel">
254
264
  <div class="mw-accordion-content-inner">
255
265
  <p>Yes, at the end of every billing period.</p>
256
266
  </div>
@@ -317,21 +317,32 @@ Tile sizes: `mw-tile-sm`, `mw-tile-lg`.
317
317
  ```html
318
318
  <div class="mw-accordion">
319
319
  <div class="mw-accordion-item">
320
- <div class="mw-accordion-header mw-active">
321
- <h3>Question</h3>
320
+ <button
321
+ type="button"
322
+ class="mw-accordion-header mw-active"
323
+ aria-expanded="true"
324
+ aria-controls="faq-1"
325
+ >
326
+ <span>Question</span>
322
327
  <i class="fas fa-chevron-down mw-accordion-icon"></i>
323
- </div>
324
- <div class="mw-accordion-content mw-active">
328
+ </button>
329
+ <div class="mw-accordion-content mw-active" id="faq-1">
325
330
  <div class="mw-accordion-content-inner">Answer</div>
326
331
  </div>
327
332
  </div>
328
333
  </div>
329
334
  ```
330
335
 
336
+ The header is a `<button>` - it is the control that opens the panel, and a
337
+ `<div>` is not focusable. A heading is not allowed inside a button, so the
338
+ question is a `<span>` and the header carries the type itself; a nested `h3`
339
+ still renders the same, for markup written before 4.12.
340
+
331
341
  Open state = `mw-active` on header **and** content (bare `active` still works
332
342
  but is deprecated). The icon rotates via the **header** state - putting the
333
343
  class on the icon instead does nothing. Content taller than 500px scrolls.
334
- Toggling is JS - see `references/javascript.md`.
344
+ Toggling is JS - see `references/javascript.md`; the shipped script keeps
345
+ `aria-expanded` in step when the header is a button.
335
346
 
336
347
  ## Tabs
337
348
 
@@ -27,7 +27,7 @@ classes are the entire contract.
27
27
 
28
28
  | Behaviour | What the shipped JS does | What to do instead |
29
29
  | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
30
- | Accordion | Toggles `mw-active` on `mw-accordion-header` and the following `mw-accordion-content` | `[class.mw-active]="isOpen()"` on both elements |
30
+ | Accordion | Toggles `mw-active` on `mw-accordion-header` and the following `mw-accordion-content`, and writes `aria-expanded` when the header is a `<button>` | `[class.mw-active]="isOpen()"` and `[attr.aria-expanded]="isOpen()"` on the header, `mw-active` on the panel |
31
31
  | Tabs | `data-tab` → panel `id`; sets `mw-active` on nav item and panel | Track the selected index/key, bind `mw-active` on both; drop `data-tab` |
32
32
  | Modal | Click on `mw-modal-close` removes `mw-modal-open` from the overlay | `[class.mw-modal-open]="isOpen()"`; backdrop click closes. Opening is not in the script at all (the showcase has its own `openModal`) |
33
33
  | Mobile nav | Toggles `open` on `mw-menu-btn` and `mw-navbar`, closes on anchor click | One signal, bound to both; reset it on navigation end |
package/CHANGELOG.md CHANGED
@@ -6,6 +6,12 @@ Patch releases are only for test purposes - here I only document major and minor
6
6
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
7
7
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
8
8
 
9
+ ## [4.12.0] - 2026-08-27
10
+
11
+ ### Fixed
12
+
13
+ - some fixes because of the big update previously
14
+
9
15
  ## [4.11.0] - 2026-08-27
10
16
 
11
17
  ### Changed
@@ -1,11 +1,11 @@
1
- @charset "UTF-8";*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px;scroll-padding-top:calc(var(--mw-header-height) + .75rem);-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-width:thin;scrollbar-color:var(--mw-border) #0000}html::-webkit-scrollbar{width:8px;height:8px}html::-webkit-scrollbar-track{background:#0000;border-radius:4px}html::-webkit-scrollbar-thumb{background:var(--mw-border);border-radius:4px}html::-webkit-scrollbar-thumb:hover{background:var(--mw-primary-text-color)}html::-webkit-scrollbar-corner{background:#0000}body{background:var(--mw-page-background);overflow-wrap:break-word;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:has(.mw-modal-open){overflow:hidden;height:100vh}::selection{background:color-mix(in srgb,var(--mw-primary-color) 55%,#0000);color:var(--mw-text-color)}a{text-decoration:none;color:var(--mw-text-muted-color);transition:var(--mw-transition);touch-action:manipulation;-webkit-tap-highlight-color:transparent}a:focus-visible{outline:var(--mw-focus-ring-width) solid var(--mw-focus-ring-color);outline-offset:2px}ul{list-style:none}hr{margin:.5rem 0;color:var(--mw-text-muted-color);border:0;border-top:1px solid;opacity:.35}img{max-width:100%;height:auto;display:block}button{background:none;border:none;cursor:pointer;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font-family:inherit}:focus-visible{outline:var(--mw-focus-ring-width) solid var(--mw-focus-ring-color);outline-offset:var(--mw-focus-ring-offset)}canvas,img,svg,video{max-width:100%}:target{scroll-margin-top:calc(var(--mw-header-height) + .75rem)}table{border-collapse:collapse;width:100%}td,th{border:1px solid var(--mw-border);padding:.2rem .35rem;text-align:left}th{background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color)}tbody tr:nth-child(2n){background:var(--mw-gray-background)}:root{--mw-primary-color:#1031bb;--mw-primary-color-hover:color-mix(in hsl, var(--mw-primary-color), #000 15%);--mw-primary-background:color-mix(in srgb, var(--mw-primary-color) 30%, #0000);--mw-primary-background-hover:color-mix(in srgb, var(--mw-primary-color) 50%, #0000);--mw-primary-info-background:var(--mw-primary-background);--mw-secondary-color:#bb5710;--mw-secondary-color-hover:color-mix(in hsl, var(--mw-secondary-color), #000 15%);--mw-secondary-background:color-mix(in srgb, var(--mw-secondary-color) 30%, #0000);--mw-secondary-background-hover:color-mix(in srgb, var(--mw-secondary-color) 50%, #0000);--mw-secondary-info-background:var(--mw-secondary-background);--mw-accent-text-color:#f2f6fc;--mw-primary-accent-text-color:var(--mw-accent-text-color);--mw-secondary-accent-text-color:var(--mw-accent-text-color);--mw-gray-color:#6e6e78;--mw-gray-background:color-mix(in srgb, var(--mw-gray-color) 20%, #0000);--mw-surface-muted:var(--mw-gray-background);--mw-overlay-background:color-mix(in srgb, var(--mw-gray-color) 60%, #0000);--mw-section-alternate-pattern:color-mix(in srgb, var(--mw-gray-color) 30%, #0000);--mw-form-elements-background:#f4f7fb;--mw-form-elements-color:color-mix(in hsl, var(--mw-light-text-color), #000 18%);--mw-success-color:#157f1a;--mw-success-color-hover:color-mix(in hsl, var(--mw-success-color), #000 15%);--mw-success-info-background:color-mix(in srgb, var(--mw-success-color) 30%, #0000);--mw-success-info-background-hover:color-mix(in srgb, var(--mw-success-color) 50%, #0000);--mw-success-accent-text-color:var(--mw-accent-text-color);--mw-warning-color:#d1bb21;--mw-warning-color-hover:color-mix(in hsl, var(--mw-warning-color), #000 15%);--mw-warning-info-background:color-mix(in srgb, var(--mw-warning-color) 30%, #0000);--mw-warning-info-background-hover:color-mix(in srgb, var(--mw-warning-color) 50%, #0000);--mw-warning-accent-text-color:var(--mw-accent-text-color);--mw-danger-color:#d41708;--mw-danger-color-hover:color-mix(in hsl, var(--mw-danger-color), #000 15%);--mw-danger-info-background:color-mix(in srgb, var(--mw-danger-color) 30%, #0000);--mw-danger-info-background-hover:color-mix(in srgb, var(--mw-danger-color) 50%, #0000);--mw-danger-accent-text-color:var(--mw-accent-text-color);--mw-info-color:#0780ca;--mw-info-color-hover:color-mix(in hsl, var(--mw-info-color), #000 15%);--mw-info-info-background:color-mix(in srgb, var(--mw-info-color) 30%, #0000);--mw-info-info-background-hover:color-mix(in srgb, var(--mw-info-color) 50%, #0000);--mw-info-accent-text-color:var(--mw-accent-text-color);--mw-header-background:color-mix(in srgb, var(--mw-primary-color) 14%, #000);--mw-header-text-color:color-mix(in hsl, var(--mw-primary-color), #fff 92%);--mw-header-navbar-list-color:color-mix(in srgb, var(--mw-header-text-color) 70%, #0000);--mw-header-navbar-list-active-color:color-mix(in hsl, var(--mw-primary-color), #fff 25%);--mw-header-burgerbutton-color:var(--mw-primary-accent-text-color);--mw-header-burgerbutton-open-color:var(--mw-secondary-accent-text-color);--mw-header-border:color-mix(in srgb, var(--mw-header-navbar-list-active-color) 40%, #0000);--mw-dark-page-background:#171f30;--mw-dark-hero-image-filter:brightness(0.7);--mw-dark-card-background:oklch(from var(--mw-dark-page-background) calc(l * 0.85) calc(c * 0.85) h);--mw-dark-footer-background:oklch(from var(--mw-dark-page-background) calc(l * 0.75) calc(c * 0.75) h);--mw-dark-border:oklch(from var(--mw-dark-page-background) calc(l * 1.35) calc(c * 1.35) h);--mw-dark-shadow:color-mix(in srgb, var(--mw-dark-text-color) 30%, #0000);--mw-dark-shadow-near:color-mix(in srgb, oklch(from var(--mw-dark-page-background) calc(l * 0.3) calc(c * 0.3) h) 55%, #0000);--mw-dark-shadow-far:color-mix(in srgb, var(--mw-dark-text-color) 13%, #0000);--mw-dark-elevation-1:0 1px 2px var(--mw-dark-shadow-near), 0 1px 4px var(--mw-dark-shadow-far);--mw-dark-elevation-2:0 2px 4px var(--mw-dark-shadow-near), 0 5px 12px var(--mw-dark-shadow-far);--mw-dark-elevation-3:0 3px 6px var(--mw-dark-shadow-near), 0 10px 24px var(--mw-dark-shadow-far);--mw-dark-elevation-4:0 6px 12px var(--mw-dark-shadow-near), 0 18px 40px var(--mw-dark-shadow-far);--mw-dark-elevation-5:0 10px 20px var(--mw-dark-shadow-near), 0 30px 64px var(--mw-dark-shadow-far);--mw-dark-text-color:#f0eef9;--mw-dark-text-muted-color:color-mix(in oklab, oklch(0.7 0 0), var(--mw-primary-color) 23%);--mw-dark-primary-text-color:oklch(from var(--mw-primary-color) max(l, 0.4) c h);--mw-dark-secondary-text-color:oklch(from var(--mw-secondary-color) max(l, 0.4) c h);--mw-dark-success-text-color:oklch(from var(--mw-success-color) max(l, 0.4) c h);--mw-dark-warning-text-color:oklch(from var(--mw-warning-color) max(l, 0.4) c h);--mw-dark-danger-text-color:oklch(from var(--mw-danger-color) max(l, 0.4) c h);--mw-dark-info-text-color:oklch(from var(--mw-info-color) max(l, 0.4) c h);--mw-dark-border-accent:color-mix(in srgb, var(--mw-dark-primary-text-color) 70%, #0000);--mw-light-page-background:#e7e7f0;--mw-light-hero-image-filter:brightness(1.1);--mw-light-card-background:oklch(from var(--mw-light-page-background) calc(l * 1.05) calc(c * 1.05) h);--mw-light-footer-background:oklch(from var(--mw-light-page-background) calc(l * 0.95) calc(c * 0.95) h);--mw-light-border:oklch(from var(--mw-light-page-background) calc(l * 0.8) calc(c * 0.8) h);--mw-light-shadow:color-mix(in srgb, var(--mw-light-text-color) 30%, #0000);--mw-light-shadow-near:color-mix(in srgb, var(--mw-light-text-color) 14%, #0000);--mw-light-shadow-far:color-mix(in srgb, var(--mw-light-text-color) 10%, #0000);--mw-light-elevation-1:0 1px 2px var(--mw-light-shadow-near), 0 1px 4px var(--mw-light-shadow-far);--mw-light-elevation-2:0 2px 4px var(--mw-light-shadow-near), 0 5px 12px var(--mw-light-shadow-far);--mw-light-elevation-3:0 3px 6px var(--mw-light-shadow-near), 0 10px 24px var(--mw-light-shadow-far);--mw-light-elevation-4:0 6px 12px var(--mw-light-shadow-near), 0 18px 40px var(--mw-light-shadow-far);--mw-light-elevation-5:0 10px 20px var(--mw-light-shadow-near), 0 30px 64px var(--mw-light-shadow-far);--mw-light-text-color:#131925;--mw-light-text-muted-color:color-mix(in oklab, oklch(0.5 0 0), var(--mw-primary-color) 23%);--mw-light-primary-text-color:oklch(from var(--mw-primary-color) min(l, 0.7) c h);--mw-light-secondary-text-color:oklch(from var(--mw-secondary-color) min(l, 0.7) c h);--mw-light-success-text-color:oklch(from var(--mw-success-color) min(l, 0.7) c h);--mw-light-warning-text-color:oklch(from var(--mw-warning-color) min(l, 0.7) c h);--mw-light-danger-text-color:oklch(from var(--mw-danger-color) min(l, 0.7) c h);--mw-light-info-text-color:oklch(from var(--mw-info-color) min(l, 0.7) c h);--mw-light-border-accent:color-mix(in srgb, var(--mw-light-primary-text-color) 70%, #0000);--mw-duration-instant:110ms;--mw-duration-fast:180ms;--mw-duration-base:300ms;--mw-duration-slow:520ms;--mw-duration-slower:900ms;--mw-duration-zoom:650ms;--mw-ease-out:cubic-bezier(0.33, 1, 0.68, 1);--mw-ease-in-out:cubic-bezier(0.65, 0, 0.35, 1);--mw-ease-spring:cubic-bezier(0.34, 1.3, 0.64, 1);--mw-transition:color, background-color, background-image, border-color, box-shadow, opacity, transform, outline-color, outline-offset, filter, backdrop-filter, fill, stroke, text-decoration-color var(--mw-duration-base) var(--mw-ease-out);--mw-transition-fast:color, background-color, background-image, border-color, box-shadow, opacity, transform, outline-color, outline-offset, filter, backdrop-filter, fill, stroke, text-decoration-color var(--mw-duration-fast) var(--mw-ease-out);--mw-control-height-sm:2rem;--mw-control-height:2.25rem;--mw-control-height-lg:2.5rem;--mw-control-font-sm:0.8rem;--mw-control-font:0.9rem;--mw-control-font-lg:1rem;--mw-control-line-height:1.35;--mw-focus-ring-width:2px;--mw-focus-ring-offset:2px;--mw-focus-ring-color:var(--mw-primary-text-color);--mw-focus-halo-size:3px;--mw-focus-halo-opacity:28%;color-scheme:dark;accent-color:var(--mw-primary-color);--mw-internal-theme-mode:switchable;--mw-hero-background:url(https://images.unsplash.com/photo-1591638462868-19cfad9c49d1?q=80&w=1300&auto=format&fit=crop);--mw-hero-text-color:var(--mw-dark-text-color);--mw-header-height:62px;--mw-container-gutter:max(
1
+ @charset "UTF-8";*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px;scroll-padding-top:var(--mw-header-height);-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-width:thin;scrollbar-color:var(--mw-border) #0000}html::-webkit-scrollbar{width:8px;height:8px}html::-webkit-scrollbar-track{background:#0000;border-radius:4px}html::-webkit-scrollbar-thumb{background:var(--mw-border);border-radius:4px}html::-webkit-scrollbar-thumb:hover{background:var(--mw-primary-text-color)}html::-webkit-scrollbar-corner{background:#0000}body{background:var(--mw-page-background);overflow-wrap:break-word;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:has(.mw-modal-open){overflow:hidden;height:100vh}::selection{background:color-mix(in srgb,var(--mw-primary-color) 55%,#0000);color:var(--mw-text-color)}a{text-decoration:none;color:var(--mw-text-muted-color);transition:var(--mw-transition);touch-action:manipulation;-webkit-tap-highlight-color:transparent}a:focus-visible{outline:var(--mw-focus-ring-width) solid var(--mw-focus-ring-color);outline-offset:2px}ul{list-style:none}hr{margin:.5rem 0;color:var(--mw-text-muted-color);border:0;border-top:1px solid;opacity:.35}img{max-width:100%;height:auto;display:block}button{background:none;border:none;cursor:pointer;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font-family:inherit}:focus-visible{outline:var(--mw-focus-ring-width) solid var(--mw-focus-ring-color);outline-offset:var(--mw-focus-ring-offset)}canvas,img,svg,video{max-width:100%}table{border-collapse:collapse;width:100%}td,th{border:1px solid var(--mw-border);padding:.2rem .35rem;text-align:left}th{background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color)}tbody tr:nth-child(2n){background:var(--mw-gray-background)}:root{--mw-primary-color:#1031bb;--mw-primary-color-hover:color-mix(in hsl, var(--mw-primary-color), #000 15%);--mw-primary-background:color-mix(in srgb, var(--mw-primary-color) 30%, #0000);--mw-primary-background-hover:color-mix(in srgb, var(--mw-primary-color) 50%, #0000);--mw-primary-info-background:var(--mw-primary-background);--mw-secondary-color:#bb5710;--mw-secondary-color-hover:color-mix(in hsl, var(--mw-secondary-color), #000 15%);--mw-secondary-background:color-mix(in srgb, var(--mw-secondary-color) 30%, #0000);--mw-secondary-background-hover:color-mix(in srgb, var(--mw-secondary-color) 50%, #0000);--mw-secondary-info-background:var(--mw-secondary-background);--mw-accent-text-color:#f2f6fc;--mw-primary-accent-text-color:var(--mw-accent-text-color);--mw-secondary-accent-text-color:var(--mw-accent-text-color);--mw-gray-color:#6e6e78;--mw-gray-background:color-mix(in srgb, var(--mw-gray-color) 20%, #0000);--mw-surface-muted:var(--mw-gray-background);--mw-overlay-background:color-mix(in srgb, var(--mw-gray-color) 60%, #0000);--mw-section-alternate-pattern:color-mix(in srgb, var(--mw-gray-color) 30%, #0000);--mw-form-elements-background:#f4f7fb;--mw-form-elements-color:color-mix(in hsl, var(--mw-light-text-color), #000 18%);--mw-success-color:#157f1a;--mw-success-color-hover:color-mix(in hsl, var(--mw-success-color), #000 15%);--mw-success-info-background:color-mix(in srgb, var(--mw-success-color) 30%, #0000);--mw-success-info-background-hover:color-mix(in srgb, var(--mw-success-color) 50%, #0000);--mw-success-accent-text-color:var(--mw-accent-text-color);--mw-warning-color:#d1bb21;--mw-warning-color-hover:color-mix(in hsl, var(--mw-warning-color), #000 15%);--mw-warning-info-background:color-mix(in srgb, var(--mw-warning-color) 30%, #0000);--mw-warning-info-background-hover:color-mix(in srgb, var(--mw-warning-color) 50%, #0000);--mw-warning-accent-text-color:var(--mw-accent-text-color);--mw-danger-color:#d41708;--mw-danger-color-hover:color-mix(in hsl, var(--mw-danger-color), #000 15%);--mw-danger-info-background:color-mix(in srgb, var(--mw-danger-color) 30%, #0000);--mw-danger-info-background-hover:color-mix(in srgb, var(--mw-danger-color) 50%, #0000);--mw-danger-accent-text-color:var(--mw-accent-text-color);--mw-info-color:#0780ca;--mw-info-color-hover:color-mix(in hsl, var(--mw-info-color), #000 15%);--mw-info-info-background:color-mix(in srgb, var(--mw-info-color) 30%, #0000);--mw-info-info-background-hover:color-mix(in srgb, var(--mw-info-color) 50%, #0000);--mw-info-accent-text-color:var(--mw-accent-text-color);--mw-header-background:color-mix(in srgb, var(--mw-primary-color) 14%, #000);--mw-header-text-color:color-mix(in hsl, var(--mw-primary-color), #fff 92%);--mw-header-navbar-list-color:color-mix(in srgb, var(--mw-header-text-color) 70%, #0000);--mw-header-navbar-list-active-color:color-mix(in hsl, var(--mw-primary-color), #fff 25%);--mw-header-burgerbutton-color:var(--mw-primary-accent-text-color);--mw-header-burgerbutton-open-color:var(--mw-secondary-accent-text-color);--mw-header-border:color-mix(in srgb, var(--mw-header-navbar-list-active-color) 40%, #0000);--mw-dark-page-background:#171f30;--mw-dark-hero-image-filter:brightness(0.7);--mw-dark-card-background:oklch(from var(--mw-dark-page-background) calc(l * 0.85) calc(c * 0.85) h);--mw-dark-footer-background:oklch(from var(--mw-dark-page-background) calc(l * 0.75) calc(c * 0.75) h);--mw-dark-border:oklch(from var(--mw-dark-page-background) calc(l * 1.35) calc(c * 1.35) h);--mw-dark-shadow:color-mix(in srgb, var(--mw-dark-text-color) 30%, #0000);--mw-dark-shadow-near:color-mix(in srgb, oklch(from var(--mw-dark-page-background) calc(l * 0.3) calc(c * 0.3) h) 55%, #0000);--mw-dark-shadow-far:color-mix(in srgb, var(--mw-dark-text-color) 13%, #0000);--mw-dark-elevation-1:0 1px 2px var(--mw-dark-shadow-near), 0 1px 4px var(--mw-dark-shadow-far);--mw-dark-elevation-2:0 2px 4px var(--mw-dark-shadow-near), 0 5px 12px var(--mw-dark-shadow-far);--mw-dark-elevation-3:0 3px 6px var(--mw-dark-shadow-near), 0 10px 24px var(--mw-dark-shadow-far);--mw-dark-elevation-4:0 6px 12px var(--mw-dark-shadow-near), 0 18px 40px var(--mw-dark-shadow-far);--mw-dark-elevation-5:0 10px 20px var(--mw-dark-shadow-near), 0 30px 64px var(--mw-dark-shadow-far);--mw-dark-text-color:#f0eef9;--mw-dark-text-muted-color:color-mix(in oklab, oklch(0.7 0 0), var(--mw-primary-color) 23%);--mw-dark-primary-text-color:oklch(from var(--mw-primary-color) max(l, 0.4) c h);--mw-dark-secondary-text-color:oklch(from var(--mw-secondary-color) max(l, 0.4) c h);--mw-dark-success-text-color:oklch(from var(--mw-success-color) max(l, 0.4) c h);--mw-dark-warning-text-color:oklch(from var(--mw-warning-color) max(l, 0.4) c h);--mw-dark-danger-text-color:oklch(from var(--mw-danger-color) max(l, 0.4) c h);--mw-dark-info-text-color:oklch(from var(--mw-info-color) max(l, 0.4) c h);--mw-dark-border-accent:color-mix(in srgb, var(--mw-dark-primary-text-color) 70%, #0000);--mw-light-page-background:#e7e7f0;--mw-light-hero-image-filter:brightness(1.1);--mw-light-card-background:oklch(from var(--mw-light-page-background) calc(l * 1.05) calc(c * 1.05) h);--mw-light-footer-background:oklch(from var(--mw-light-page-background) calc(l * 0.95) calc(c * 0.95) h);--mw-light-border:oklch(from var(--mw-light-page-background) calc(l * 0.8) calc(c * 0.8) h);--mw-light-shadow:color-mix(in srgb, var(--mw-light-text-color) 30%, #0000);--mw-light-shadow-near:color-mix(in srgb, var(--mw-light-text-color) 14%, #0000);--mw-light-shadow-far:color-mix(in srgb, var(--mw-light-text-color) 10%, #0000);--mw-light-elevation-1:0 1px 2px var(--mw-light-shadow-near), 0 1px 4px var(--mw-light-shadow-far);--mw-light-elevation-2:0 2px 4px var(--mw-light-shadow-near), 0 5px 12px var(--mw-light-shadow-far);--mw-light-elevation-3:0 3px 6px var(--mw-light-shadow-near), 0 10px 24px var(--mw-light-shadow-far);--mw-light-elevation-4:0 6px 12px var(--mw-light-shadow-near), 0 18px 40px var(--mw-light-shadow-far);--mw-light-elevation-5:0 10px 20px var(--mw-light-shadow-near), 0 30px 64px var(--mw-light-shadow-far);--mw-light-text-color:#131925;--mw-light-text-muted-color:color-mix(in oklab, oklch(0.5 0 0), var(--mw-primary-color) 23%);--mw-light-primary-text-color:oklch(from var(--mw-primary-color) min(l, 0.7) c h);--mw-light-secondary-text-color:oklch(from var(--mw-secondary-color) min(l, 0.7) c h);--mw-light-success-text-color:oklch(from var(--mw-success-color) min(l, 0.7) c h);--mw-light-warning-text-color:oklch(from var(--mw-warning-color) min(l, 0.7) c h);--mw-light-danger-text-color:oklch(from var(--mw-danger-color) min(l, 0.7) c h);--mw-light-info-text-color:oklch(from var(--mw-info-color) min(l, 0.7) c h);--mw-light-border-accent:color-mix(in srgb, var(--mw-light-primary-text-color) 70%, #0000);--mw-duration-instant:110ms;--mw-duration-fast:180ms;--mw-duration-base:300ms;--mw-duration-slow:520ms;--mw-duration-slower:900ms;--mw-duration-zoom:650ms;--mw-ease-out:cubic-bezier(0.33, 1, 0.68, 1);--mw-ease-in-out:cubic-bezier(0.65, 0, 0.35, 1);--mw-ease-spring:cubic-bezier(0.34, 1.3, 0.64, 1);--mw-transition:color var(--mw-duration-base) var(--mw-ease-out), background-color var(--mw-duration-base) var(--mw-ease-out), background-image var(--mw-duration-base) var(--mw-ease-out), border-color var(--mw-duration-base) var(--mw-ease-out), box-shadow var(--mw-duration-base) var(--mw-ease-out), opacity var(--mw-duration-base) var(--mw-ease-out), transform var(--mw-duration-base) var(--mw-ease-out), outline-color var(--mw-duration-base) var(--mw-ease-out), outline-offset var(--mw-duration-base) var(--mw-ease-out), filter var(--mw-duration-base) var(--mw-ease-out), backdrop-filter var(--mw-duration-base) var(--mw-ease-out), fill var(--mw-duration-base) var(--mw-ease-out), stroke var(--mw-duration-base) var(--mw-ease-out), text-decoration-color var(--mw-duration-base) var(--mw-ease-out);--mw-transition-fast:color var(--mw-duration-fast) var(--mw-ease-out), background-color var(--mw-duration-fast) var(--mw-ease-out), background-image var(--mw-duration-fast) var(--mw-ease-out), border-color var(--mw-duration-fast) var(--mw-ease-out), box-shadow var(--mw-duration-fast) var(--mw-ease-out), opacity var(--mw-duration-fast) var(--mw-ease-out), transform var(--mw-duration-fast) var(--mw-ease-out), outline-color var(--mw-duration-fast) var(--mw-ease-out), outline-offset var(--mw-duration-fast) var(--mw-ease-out), filter var(--mw-duration-fast) var(--mw-ease-out), backdrop-filter var(--mw-duration-fast) var(--mw-ease-out), fill var(--mw-duration-fast) var(--mw-ease-out), stroke var(--mw-duration-fast) var(--mw-ease-out), text-decoration-color var(--mw-duration-fast) var(--mw-ease-out);--mw-control-height-sm:2rem;--mw-control-height:2.25rem;--mw-control-height-lg:2.5rem;--mw-control-font-sm:0.8rem;--mw-control-font:0.9rem;--mw-control-font-lg:1rem;--mw-control-line-height:1.35;--mw-focus-ring-width:2px;--mw-focus-ring-offset:2px;--mw-focus-ring-color:var(--mw-primary-text-color);--mw-focus-halo-size:3px;--mw-focus-halo-opacity:28%;color-scheme:dark;accent-color:var(--mw-primary-color);--mw-internal-theme-mode:switchable;--mw-hero-background:url(https://images.unsplash.com/photo-1591638462868-19cfad9c49d1?q=80&w=1300&auto=format&fit=crop);--mw-hero-text-color:var(--mw-dark-text-color);--mw-header-height:62px;--mw-container-gutter:max(
2
2
  clamp(1rem, 4.2vw + 0.5rem, 4rem),
3
3
  env(safe-area-inset-left, 0px),
4
4
  env(safe-area-inset-right, 0px)
5
5
  );--mw-container-width:min(
6
6
  1200px,
7
7
  calc(100% - 2 * var(--mw-container-gutter))
8
- );--mw-section-padding-block:1.75rem;--mw-page-background:var(--mw-dark-page-background);--mw-hero-image-filter:var(--mw-dark-hero-image-filter);--mw-card-background:var(--mw-dark-card-background);--mw-footer-background:var(--mw-dark-footer-background);--mw-border:var(--mw-dark-border);--mw-shadow:var(--mw-dark-shadow);--mw-shadow-near:var(--mw-dark-shadow-near);--mw-shadow-far:var(--mw-dark-shadow-far);--mw-elevation-1:var(--mw-dark-elevation-1);--mw-elevation-2:var(--mw-dark-elevation-2);--mw-elevation-3:var(--mw-dark-elevation-3);--mw-elevation-4:var(--mw-dark-elevation-4);--mw-elevation-5:var(--mw-dark-elevation-5);--mw-text-color:var(--mw-dark-text-color);--mw-text-muted-color:var(--mw-dark-text-muted-color);--mw-primary-text-color:var(--mw-dark-primary-text-color);--mw-secondary-text-color:var(--mw-dark-secondary-text-color);--mw-success-text-color:var(--mw-dark-success-text-color);--mw-warning-text-color:var(--mw-dark-warning-text-color);--mw-danger-text-color:var(--mw-dark-danger-text-color);--mw-info-text-color:var(--mw-dark-info-text-color);--mw-border-accent:var(--mw-dark-border-accent)}.mw-theme-light{--mw-page-background:var(--mw-light-page-background);--mw-hero-image-filter:var(--mw-light-hero-image-filter);--mw-card-background:var(--mw-light-card-background);--mw-footer-background:var(--mw-light-footer-background);--mw-border:var(--mw-light-border);--mw-shadow:var(--mw-light-shadow);--mw-shadow-near:var(--mw-light-shadow-near);--mw-shadow-far:var(--mw-light-shadow-far);--mw-elevation-1:var(--mw-light-elevation-1);--mw-elevation-2:var(--mw-light-elevation-2);--mw-elevation-3:var(--mw-light-elevation-3);--mw-elevation-4:var(--mw-light-elevation-4);--mw-elevation-5:var(--mw-light-elevation-5);--mw-text-color:var(--mw-light-text-color);--mw-text-muted-color:var(--mw-light-text-muted-color);--mw-primary-text-color:var(--mw-light-primary-text-color);--mw-secondary-text-color:var(--mw-light-secondary-text-color);--mw-success-text-color:var(--mw-light-success-text-color);--mw-warning-text-color:var(--mw-light-warning-text-color);--mw-danger-text-color:var(--mw-light-danger-text-color);--mw-info-text-color:var(--mw-light-info-text-color);--mw-border-accent:var(--mw-light-border-accent)}.mw-input,.mw-input-group,.mw-select,.mw-textarea,.mw-theme-light,input,select,textarea{color-scheme:light}.mw-calendar:not(.mw-calendar-plain),.mw-card,.mw-modal,.mw-panel,.mw-tile{--mw-scroll-hint-cover:var(--mw-card-background)}@media (prefers-reduced-motion:reduce){:root{--mw-duration-instant:1ms;--mw-duration-fast:1ms;--mw-duration-base:1ms;--mw-duration-slow:1ms;--mw-duration-slower:1ms}*,:after,:before{animation-duration:1ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:1ms!important;transition-delay:0s!important}html{scroll-behavior:auto}}:root{--mw-font-family-base:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--mw-font-family-heading:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mw-font-family-mono:"Fira Code", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}body{font-family:var(--mw-font-family-base);line-height:1.5;color:var(--mw-text-color)}h1,h2,h3,h4,h5,h6{font-family:var(--mw-font-family-heading);line-height:1.2;margin-bottom:.75rem;font-weight:700;text-wrap:balance;overflow-wrap:break-word}h1{letter-spacing:-.025em}h2{letter-spacing:-.02em}h3,h4{letter-spacing:-.01em}h1{font-size:3rem}@media (max-width:768px){h1{font-size:2.5rem}}@media (max-width:576px){h1{font-size:2.2rem}}h2{font-size:2.5rem}@media (max-width:768px){h2{font-size:2.2rem}}@media (max-width:576px){h2{font-size:1.8rem}}h3{font-size:1.5rem}h3.mw-accent{color:var(--mw-primary-text-color)}h4{font-size:1.3rem}h5{font-size:1.1rem}h5,h6{font-weight:500}h6{font-size:.9rem}p{margin-bottom:.5rem;text-wrap:pretty}small{font-size:.9rem;color:var(--mw-text-muted-color)}b,strong{font-weight:700}mark{background:color-mix(in srgb,var(--mw-warning-color) 35%,#0000);color:inherit;padding:.1em .25em;border-radius:2px}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:.2em;cursor:help}code,kbd,pre{font-family:var(--mw-font-family-mono)}pre{border:1px solid var(--mw-border);background:var(--mw-card-background);margin-bottom:.35rem}blockquote{color:var(--mw-secondary-text-color);font-style:italic;position:relative;padding:.75rem 2rem;margin:.35rem .2rem;border-left:2px solid var(--mw-secondary-background-hover);border-radius:0 5px 5px 0;background:color-mix(in srgb,var(--mw-secondary-background) 85%,#0000)}blockquote:hover:after,blockquote:hover:before{opacity:.7}blockquote:after,blockquote:before{font-family:Georgia,serif;font-size:3rem;position:absolute;opacity:.4;line-height:1}blockquote:before{content:'"';top:-.2rem;left:.35rem}blockquote:after{content:'"';bottom:-1.75rem;right:.75rem}.mw-accordion{border:1px solid var(--mw-border);border-radius:5px 20px 5px 20px;overflow:hidden;margin:.35rem}.mw-accordion-item{border-bottom:1px solid var(--mw-border-accent)}.mw-accordion-item:last-child{border-bottom:none}.mw-accordion-header{padding:.75rem;background:var(--mw-card-background);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mw-accordion-header:focus-visible{outline:var(--mw-focus-ring-width) solid var(--mw-focus-ring-color);outline-offset:-2px}.mw-accordion-header:active{background:var(--mw-primary-background);transition-duration:var(--mw-duration-instant)}.mw-accordion-header{display:flex;justify-content:space-between;align-items:center;transition:var(--mw-transition)}.mw-accordion-header:hover{background:var(--mw-primary-background-hover)}.mw-accordion-header h3{margin:0;font-size:1.1rem;font-weight:500}@media (max-width:576px){.mw-accordion-header h3{font-size:.9rem}}.mw-accordion-header .mw-accordion-icon{transition:var(--mw-transition);transform:rotate(0deg)}.mw-accordion-header.active,.mw-accordion-header.mw-active{background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color)}:is(.mw-accordion-header.active,.mw-accordion-header.mw-active) .mw-accordion-icon{transform:rotate(180deg)}.mw-accordion-content{height:0;overflow:hidden;transition:height var(--mw-duration-slower) var(--mw-ease-out);background:var(--mw-card-background);interpolate-size:allow-keywords}.mw-accordion-content-inner{padding:.75rem;border-top:1px solid var(--mw-border-accent)}@media (max-width:576px){.mw-accordion-content-inner{font-size:.9rem}}.mw-accordion-content.active,.mw-accordion-content.mw-active{height:auto;max-height:500px;overflow-y:auto}.mw-accordion-content.active::-webkit-scrollbar,.mw-accordion-content.mw-active::-webkit-scrollbar{width:6px}.mw-accordion-content.active::-webkit-scrollbar-track,.mw-accordion-content.mw-active::-webkit-scrollbar-track{background:var(--mw-card-background);border-radius:5px}.mw-accordion-content.active::-webkit-scrollbar-thumb,.mw-accordion-content.mw-active::-webkit-scrollbar-thumb{background:var(--mw-primary-color-hover);border-radius:5px}.mw-alert{position:relative;display:flex;align-items:flex-start;padding:.75rem 1rem;margin-bottom:.75rem;border-radius:10px;background:var(--mw-card-background);border:1px solid var(--mw-border);box-shadow:var(--mw-elevation-2)}.mw-alert-icon{flex-shrink:0;margin-right:.75rem;font-size:1.5rem;line-height:1.2;margin-top:.2rem}.mw-alert-content{flex:1;color:var(--mw-text-color)}.mw-alert-title{display:block;font-weight:700;margin-bottom:.2rem;line-height:1.3}.mw-alert p{margin:0;line-height:1.5;font-size:.9rem;opacity:.9}.mw-alert p+p{margin-top:.35rem}.mw-alert-closed{display:none!important}@media (max-width:576px){.mw-alert{padding:.75rem}.mw-alert-icon{margin-right:.5rem}}.mw-alert-close{flex-shrink:0;margin-left:.5rem}.mw-alert-primary{background-image:linear-gradient(var(--mw-primary-info-background),var(--mw-primary-info-background));border:1px solid color-mix(in srgb,var(--mw-primary-color) 20%,#0000);border-left:4px solid var(--mw-primary-text-color)}.mw-alert-primary .mw-alert-icon{color:var(--mw-primary-text-color)}.mw-alert-secondary{background-image:linear-gradient(var(--mw-secondary-info-background),var(--mw-secondary-info-background));border:1px solid color-mix(in srgb,var(--mw-secondary-color) 20%,#0000);border-left:4px solid var(--mw-secondary-text-color)}.mw-alert-secondary .mw-alert-icon{color:var(--mw-secondary-text-color)}.mw-alert-info{background-image:linear-gradient(var(--mw-info-info-background),var(--mw-info-info-background));border:1px solid color-mix(in srgb,var(--mw-info-color) 20%,#0000);border-left:4px solid var(--mw-info-text-color)}.mw-alert-info .mw-alert-icon{color:var(--mw-info-text-color)}.mw-alert-success{background-image:linear-gradient(var(--mw-success-info-background),var(--mw-success-info-background));border:1px solid color-mix(in srgb,var(--mw-success-color) 20%,#0000);border-left:4px solid var(--mw-success-text-color)}.mw-alert-success .mw-alert-icon{color:var(--mw-success-text-color)}.mw-alert-warning{background-image:linear-gradient(var(--mw-warning-info-background),var(--mw-warning-info-background));border:1px solid color-mix(in srgb,var(--mw-warning-color) 20%,#0000);border-left:4px solid var(--mw-warning-text-color)}.mw-alert-warning .mw-alert-icon{color:var(--mw-warning-text-color)}.mw-alert-danger{background-image:linear-gradient(var(--mw-danger-info-background),var(--mw-danger-info-background));border:1px solid color-mix(in srgb,var(--mw-danger-color) 20%,#0000);border-left:4px solid var(--mw-danger-text-color)}.mw-alert-danger .mw-alert-icon{color:var(--mw-danger-text-color)}.mw-avatar{display:inline-flex;position:relative;border-radius:50%;overflow:hidden;border:3px solid var(--mw-border);box-shadow:var(--mw-elevation-3);margin:.2rem;width:96px;height:96px;flex-shrink:0;flex-grow:0;font-size:2.2rem}.mw-avatar img{width:100%;height:100%;object-fit:cover;display:block}.mw-avatar-xs{width:32px;height:32px;border-width:2px;font-size:.7rem}.mw-avatar-sm{width:64px;height:64px;border-width:2px;font-size:1.5rem}.mw-avatar-lg{width:144px;height:144px;border-width:5px;font-size:3rem}.mw-avatar-xl{width:250px;height:250px;border-width:7px;font-size:4.3rem}.mw-avatar-square{border-radius:5px}.mw-avatar-initials{align-items:center;justify-content:center;background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color);font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:.02em;-webkit-user-select:none;user-select:none}.mw-avatar-group{display:flex;flex-wrap:wrap;justify-content:flex-start;margin:.35rem;row-gap:.5rem}.mw-avatar-group .mw-avatar{margin:0 -15px 0 0;border:2px solid var(--mw-secondary-text-color);transition:transform var(--mw-duration-base) var(--mw-ease-out)}@media (hover:hover) and (pointer:fine){.mw-avatar-group .mw-avatar:hover{transform:translateY(-3px);z-index:3}}.mw-avatar-group-sm .mw-avatar{margin-right:-10px}.mw-avatar-group-lg .mw-avatar{margin-right:-20px}.mw-avatar-group .mw-avatar-xs{margin-right:-5px}.mw-avatar-group .mw-avatar-sm{margin-right:-10px}.mw-avatar-group .mw-avatar-lg{margin-right:-23px}.mw-avatar-group .mw-avatar-xl{margin-right:-40px}.mw-avatar-group .mw-avatar:last-child{margin-right:0}@media (max-width:576px){.mw-avatar-group .mw-avatar{margin-right:-10px}.mw-avatar-group .mw-avatar:last-child{margin-right:0}.mw-avatar-lg{width:120px;height:120px;border-width:4px}.mw-avatar-xl{width:170px;height:170px;border-width:6px}}.mw-avatar-primary{border-color:var(--mw-primary-color)}.mw-avatar-initials.mw-avatar-primary{background:var(--mw-primary-color)}.mw-avatar-secondary{border-color:var(--mw-secondary-color)}.mw-avatar-initials.mw-avatar-secondary{background:var(--mw-secondary-color)}.mw-avatar-info{border-color:var(--mw-info-color)}.mw-avatar-initials.mw-avatar-info{background:var(--mw-info-color)}.mw-avatar-success{border-color:var(--mw-success-color)}.mw-avatar-initials.mw-avatar-success{background:var(--mw-success-color)}.mw-avatar-warning{border-color:var(--mw-warning-color)}.mw-avatar-initials.mw-avatar-warning{background:var(--mw-warning-color)}.mw-avatar-danger{border-color:var(--mw-danger-color)}.mw-avatar-initials.mw-avatar-danger{background:var(--mw-danger-color)}.mw-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:20px;font-size:.7rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap;vertical-align:middle}.mw-badge,.mw-badge-primary{background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color)}.mw-badge-secondary{background:var(--mw-secondary-color);color:var(--mw-secondary-accent-text-color)}.mw-badge-success{background:var(--mw-success-color);color:var(--mw-success-accent-text-color)}.mw-badge-warning{background:var(--mw-warning-color);color:var(--mw-warning-accent-text-color)}.mw-badge-danger{background:var(--mw-danger-color);color:var(--mw-danger-accent-text-color)}.mw-badge-info{background:var(--mw-info-color);color:var(--mw-info-accent-text-color)}.mw-badge-muted{background:var(--mw-gray-color);color:var(--mw-accent-text-color)}.mw-badge-outline{background:#0000;border:1px solid;color:var(--mw-primary-text-color)}.mw-badge-sm{min-width:1rem;height:1rem;padding:0 .2rem;font-size:.6rem}.mw-badge-lg{min-width:1.6rem;height:1.6rem;padding:0 .5rem;font-size:.8rem}.mw-badge-dot{display:inline-block;width:.55rem;height:.55rem;min-width:0;padding:0;border-radius:50%;background:var(--mw-primary-color);flex-shrink:0;vertical-align:middle}.mw-badge-pulse{position:relative}.mw-badge-pulse:after{content:"";position:absolute;inset:0;border-radius:inherit;background:inherit;animation:mw-badge-pulse 1.8s var(--mw-ease-out) infinite}@keyframes mw-badge-pulse{0%{transform:scale(1);opacity:.7}to{transform:scale(2.6);opacity:0}}.mw-badge-anchor{position:relative;display:inline-flex}.mw-badge-float{position:absolute;top:0;right:0;transform:translate(40%,-40%);box-shadow:0 0 0 2px var(--mw-page-background);pointer-events:none;z-index:3}:is(.mw-card,.mw-header,.mw-modal,.mw-panel,.mw-tile) .mw-badge-float{box-shadow:0 0 0 2px var(--mw-card-background)}.mw-header .mw-badge-float{box-shadow:0 0 0 2px var(--mw-header-background)}.mw-badge-status{display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem;color:var(--mw-text-color);white-space:nowrap}.mw-badge-dot-primary,.mw-badge-status-primary .mw-badge-dot{background:var(--mw-primary-color)}.mw-badge-dot-secondary,.mw-badge-status-secondary .mw-badge-dot{background:var(--mw-secondary-color)}.mw-badge-dot-success,.mw-badge-status-success .mw-badge-dot{background:var(--mw-success-color)}.mw-badge-dot-warning,.mw-badge-status-warning .mw-badge-dot{background:var(--mw-warning-color)}.mw-badge-dot-danger,.mw-badge-status-danger .mw-badge-dot{background:var(--mw-danger-color)}.mw-badge-dot-info,.mw-badge-status-info .mw-badge-dot{background:var(--mw-info-color)}.mw-badge-dot-muted,.mw-badge-status-muted .mw-badge-dot{background:var(--mw-gray-color)}.mw-blog-post{position:relative;margin:.35rem;padding:.75rem 1.75rem;animation:pageReveal var(--mw-duration-slower) var(--mw-ease-out) forwards;border-radius:5px 30px 5px 30px;box-shadow:var(--mw-border) 0 30px 60px -18px inset,var(--mw-border) 0 18px 36px -18px inset}@keyframes pageReveal{0%{opacity:0;transform:translateY(-30px) rotateX(10deg);transform-origin:top}to{opacity:1;transform:translateY(0) rotateX(0);transform-origin:top}}@media (max-width:576px){.mw-blog-post{margin:.2rem;padding:.75rem 1rem}}.mw-blog-post:before{content:"";position:absolute;left:1px;top:1px;bottom:1px;width:7px;background:linear-gradient(to bottom,var(--mw-primary-color),var(--mw-secondary-color));border-radius:5px}.mw-blog-post-title{margin-bottom:1.35rem;text-align:start;position:relative}.mw-blog-post-title:after{content:"";position:absolute;bottom:-.35rem;left:0;width:min(200px,100%);height:5px;background:var(--mw-primary-text-color)}.mw-blog-post-header{margin-bottom:1rem;position:relative}.mw-blog-post-header-icon{width:60px;height:60px;border-radius:50%;background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color);display:flex;align-items:center;justify-content:center;margin-bottom:.75rem;font-size:1.5rem;box-shadow:var(--mw-elevation-2);animation:iconFlip var(--mw-duration-slower) var(--mw-ease-out) forwards}@keyframes iconFlip{0%{transform:rotateY(90deg)}to{transform:rotateY(0)}}.mw-blog-post-meta{display:flex;flex-wrap:wrap;align-items:center;margin-bottom:1.35rem;font-size:.9rem;color:var(--mw-text-muted-color);row-gap:.2rem}@media (max-width:576px){.mw-blog-post-meta{flex-direction:column;gap:.35rem;margin-top:1rem;align-items:start}}.mw-blog-post-meta-item{display:inline-flex;align-items:center;row-gap:.2rem;gap:.35rem}.mw-blog-post-meta-item:not(:first-child){margin-left:1.75rem}@media (max-width:576px){.mw-blog-post-meta-item:not(:first-child){margin-left:0}}.mw-blog-post-meta-item i{color:var(--mw-primary-text-color);flex-shrink:0}.mw-blog-post-featured-image{width:100%;max-height:400px;object-fit:contain;border-radius:5px;margin-bottom:1rem;box-shadow:var(--mw-elevation-3)}.mw-blog-post-content,.mw-blog-post-content-markdown{line-height:1.6}.mw-blog-post-content h2,.mw-blog-post-content-markdown h2{font-size:2.2rem;margin:1.35rem 0 .75rem}@media (max-width:768px){.mw-blog-post-content h2,.mw-blog-post-content-markdown h2{font-size:1.8rem}}.mw-blog-post-content h3,.mw-blog-post-content-markdown h3{font-size:1.8rem;margin:1rem 0 .5rem}@media (max-width:768px){.mw-blog-post-content h3,.mw-blog-post-content-markdown h3{font-size:1.5rem}}.mw-blog-post-content h4,.mw-blog-post-content-markdown h4{font-size:1.5rem;margin:.75rem 0 .35rem}@media (max-width:768px){.mw-blog-post-content h4,.mw-blog-post-content-markdown h4{font-size:1.3rem}}.mw-blog-post-content h5,.mw-blog-post-content-markdown h5{font-size:1.3rem;margin:.75rem .2rem .35rem}@media (max-width:768px){.mw-blog-post-content h5,.mw-blog-post-content-markdown h5{font-size:1.1rem}}.mw-blog-post-content-markdown a{display:inline-block;position:relative;color:var(--mw-text-muted-color);text-decoration:none;padding-bottom:2px}.mw-blog-post-content-markdown a:after{content:"";position:absolute;left:0;bottom:1px;width:100%;height:1px;background:currentColor;opacity:.4;transform:scaleX(1);transform-origin:left;transition:transform var(--mw-duration-fast) var(--mw-ease-out),opacity var(--mw-duration-fast) var(--mw-ease-out)}.mw-blog-post-content-markdown a:hover{color:var(--mw-primary-text-color)}.mw-blog-post-content-markdown a:hover:after{opacity:1;height:2px;transform:scaleX(1.1)}.mw-blog-post-content-markdown :is(ol,ul){margin:.5rem 0;padding-left:1.35rem}.mw-blog-post-content-markdown ul{list-style:disc}.mw-blog-post-content-markdown ul ul{list-style:circle}.mw-blog-post-content-markdown ul ul ul{list-style:square}.mw-blog-post-content-markdown ol{list-style:decimal}.mw-blog-post-content-markdown ol ol{list-style:lower-alpha}.mw-blog-post-content-markdown li{margin-bottom:.35rem}.mw-blog-post-content-markdown pre{border:1px solid var(--mw-border);background:var(--mw-card-background)}.mw-blog-post-content-markdown img{max-width:100%;border-radius:10px;margin:1rem 0}.mw-blog-post-footer{margin-top:1.35rem;padding-top:.75rem;border-top:1px solid var(--mw-secondary-text-color);display:flex;justify-content:space-between;align-items:center}@media (max-width:576px){.mw-blog-post-footer{flex-direction:column;gap:.35rem}}.mw-blog-post-footer-button{transition:var(--mw-transition);color:var(--mw-primary-text-color)}.mw-blog-post-footer-button:hover{transform:translateX(-7px)}.mw-blog-post-footer-button.next{flex-direction:row-reverse}.mw-blog-post-footer-button.next:hover{transform:translateX(7px)}.mw-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.35rem .75rem;border:1px solid #0000;border-radius:5px;font-weight:500;line-height:1.2;min-height:var(--mw-control-height);text-decoration:none;cursor:pointer;transition:var(--mw-transition);box-sizing:border-box;font-family:inherit;font-size:inherit}.mw-btn:focus-visible{outline:var(--mw-focus-ring-width) solid var(--mw-focus-ring-color);outline-offset:var(--mw-focus-ring-offset)}.mw-btn{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mw-btn:active:not(:disabled){transform:translateY(1px);transition-duration:var(--mw-duration-instant)}.mw-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.mw-btn-primary{box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 15%,#0000),var(--mw-elevation-1)}@media (hover:hover) and (pointer:fine){.mw-btn-primary:hover{box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 20%,#0000),var(--mw-elevation-2);transform:translateY(-1px)}}.mw-btn-primary:active:not(:disabled){box-shadow:inset 0 2px 5px color-mix(in srgb,#000 25%,#0000)}.mw-btn-primary:disabled{box-shadow:none}.mw-btn-primary{background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color)}.mw-btn-primary:hover:not(:disabled){background:var(--mw-primary-color-hover)}.mw-btn-primary.active:not(:disabled),.mw-btn-primary.mw-active:not(:disabled){background:var(--mw-primary-color-hover);border:1px solid var(--mw-primary-color)}.mw-btn-secondary{box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 15%,#0000),var(--mw-elevation-1)}@media (hover:hover) and (pointer:fine){.mw-btn-secondary:hover{box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 20%,#0000),var(--mw-elevation-2);transform:translateY(-1px)}}.mw-btn-secondary:active:not(:disabled){box-shadow:inset 0 2px 5px color-mix(in srgb,#000 25%,#0000)}.mw-btn-secondary:disabled{box-shadow:none}.mw-btn-secondary{background:var(--mw-secondary-color);color:var(--mw-secondary-accent-text-color)}.mw-btn-secondary:hover:not(:disabled){background:var(--mw-secondary-color-hover)}.mw-btn-secondary.active:not(:disabled),.mw-btn-secondary.mw-active:not(:disabled){background:var(--mw-secondary-color-hover);border:1px solid var(--mw-secondary-color)}.mw-btn-danger{box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 15%,#0000),var(--mw-elevation-1)}@media (hover:hover) and (pointer:fine){.mw-btn-danger:hover{box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 20%,#0000),var(--mw-elevation-2);transform:translateY(-1px)}}.mw-btn-danger:active:not(:disabled){box-shadow:inset 0 2px 5px color-mix(in srgb,#000 25%,#0000)}.mw-btn-danger:disabled{box-shadow:none}.mw-btn-danger{background:var(--mw-danger-color);color:var(--mw-danger-accent-text-color)}.mw-btn-danger:hover:not(:disabled){background:var(--mw-danger-color-hover)}.mw-btn-danger.active:not(:disabled),.mw-btn-danger.mw-active:not(:disabled){background:var(--mw-danger-color-hover);border:1px solid var(--mw-danger-color)}.mw-btn-success{box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 15%,#0000),var(--mw-elevation-1)}@media (hover:hover) and (pointer:fine){.mw-btn-success:hover{box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 20%,#0000),var(--mw-elevation-2);transform:translateY(-1px)}}.mw-btn-success:active:not(:disabled){box-shadow:inset 0 2px 5px color-mix(in srgb,#000 25%,#0000)}.mw-btn-success:disabled{box-shadow:none}.mw-btn-success{background:var(--mw-success-color);color:var(--mw-success-accent-text-color)}.mw-btn-success:hover:not(:disabled){background:var(--mw-success-color-hover)}.mw-btn-success.active:not(:disabled),.mw-btn-success.mw-active:not(:disabled){background:var(--mw-success-color-hover);border:1px solid var(--mw-success-color)}.mw-btn-outline{background:#0000;border-color:var(--mw-primary-text-color);color:var(--mw-primary-text-color)}.mw-btn-outline:hover:not(:disabled){background:var(--mw-primary-color);border-color:var(--mw-primary-color);color:var(--mw-primary-accent-text-color);box-shadow:var(--mw-elevation-1)}.mw-btn-outline:active:not(:disabled){box-shadow:inset 0 2px 5px color-mix(in srgb,#000 25%,#0000)}.mw-btn-outline.active:not(:disabled),.mw-btn-outline.mw-active:not(:disabled){background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color)}.mw-btn-link,.mw-btn-link-muted{background:#0000;border:none;padding:0;text-underline-offset:.22em;text-decoration-thickness:1.5px}.mw-btn-link-muted:hover:not(:disabled),.mw-btn-link:hover:not(:disabled){text-decoration:underline}.mw-btn-link{color:var(--mw-primary-text-color)}.mw-btn-link-muted{color:var(--mw-text-muted-color)}.mw-btn-link-muted:hover:not(:disabled){color:var(--mw-primary-text-color)}.mw-btn-ghost{background:#0000;border-color:#0000;color:var(--mw-text-color)}.mw-btn-ghost:hover:not(:disabled){background:var(--mw-primary-background);color:var(--mw-primary-text-color)}.mw-btn-ghost:active:not(:disabled){background:var(--mw-primary-background-hover)}.mw-btn-ghost.active:not(:disabled),.mw-btn-ghost.mw-active:not(:disabled){background:var(--mw-primary-background);color:var(--mw-primary-text-color)}.mw-btn-ghost-danger{color:var(--mw-danger-text-color)}.mw-btn-ghost-danger:hover:not(:disabled){background:var(--mw-danger-info-background);color:var(--mw-danger-text-color)}.mw-btn-ghost-danger:active:not(:disabled){background:var(--mw-danger-info-background-hover)}.mw-btn-icon{--mw-btn-icon-size:2.4rem;width:var(--mw-btn-icon-size);height:var(--mw-btn-icon-size);min-width:0;padding:0;flex-shrink:0}.mw-btn-icon.mw-btn-sm{--mw-btn-icon-size:2rem}.mw-btn-icon.mw-btn-lg{--mw-btn-icon-size:2.9rem}@media (max-width:768px),(pointer:coarse){.mw-btn-icon{--mw-btn-icon-size:2.75rem}.mw-btn-icon.mw-btn-sm{--mw-btn-icon-size:2.5rem}}.mw-btn-block{display:flex;width:100%}.mw-btn-plain{display:inline-flex;align-items:center;appearance:none;background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-align:inherit;cursor:pointer}.mw-btn-plain:focus-visible{outline:var(--mw-focus-ring-width) solid var(--mw-focus-ring-color);outline-offset:var(--mw-focus-ring-offset)}.mw-btn-plain:disabled{cursor:not-allowed;opacity:.6}.mw-btn-sm{padding:.2rem .5rem;font-size:.9rem;min-height:var(--mw-control-height-sm)}.mw-btn-lg{padding:.5rem 1rem;font-size:1.1rem;min-height:var(--mw-control-height-lg)}:is(.mw-button-bar,.mw-form-actions,.mw-kanban-composer-actions,.mw-modal-footer,.mw-panel-footer) .mw-btn:not(.mw-btn-icon){min-width:80px}.mw-card-footer:has(.mw-actions-note),.mw-card-footer:has(.mw-form-actions-hint),.mw-form-actions:has(.mw-actions-note),.mw-form-actions:has(.mw-form-actions-hint),.mw-modal-footer:has(.mw-actions-note),.mw-modal-footer:has(.mw-form-actions-hint),.mw-panel-footer:has(.mw-actions-note),.mw-panel-footer:has(.mw-form-actions-hint){flex-wrap:wrap;row-gap:.5rem}.mw-actions-note,.mw-form-actions-hint{flex:1 0 100%;margin:0;text-align:right;font-size:.9rem;color:var(--mw-text-muted-color);text-wrap:pretty}.mw-btn-mini{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--mw-gray-color);color:#efefef;border:none;padding:0;line-height:1;font-weight:700;cursor:pointer;transition:var(--mw-transition);text-decoration:none;box-sizing:border-box;margin-left:.2rem}.mw-btn-mini [class*=fa-],.mw-btn-mini [class*=fas-],.mw-btn-mini fa-icon,.mw-btn-mini i,.mw-btn-mini svg{font-size:.6rem}.mw-btn-mini:disabled{cursor:not-allowed;opacity:.4}.mw-btn-mini:focus-visible{outline:var(--mw-focus-ring-width) solid var(--mw-focus-ring-color);outline-offset:1px}.mw-btn-mini{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mw-btn-mini:hover:not(:disabled){background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color)}.mw-btn-mini:active:not(:disabled){transform:scale(.88);transition:transform var(--mw-duration-instant) var(--mw-ease-spring),var(--mw-transition-fast)}.mw-btn-mini-primary:hover:not(:disabled){background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color)}.mw-btn-mini-secondary:hover:not(:disabled){background:var(--mw-secondary-color);color:var(--mw-secondary-accent-text-color)}.mw-btn-mini-danger:hover:not(:disabled){background:var(--mw-danger-color);color:var(--mw-danger-accent-text-color)}.mw-btn-mini-success:hover:not(:disabled){background:var(--mw-success-color);color:var(--mw-success-accent-text-color)}.mw-button-bar{display:flex;gap:.5rem;align-items:center;justify-content:center;flex-wrap:wrap;border:1px solid var(--mw-border);border-radius:10px;padding:.35rem}.mw-button-bar:hover{border-color:var(--mw-border-accent)}@media (max-width:576px){.mw-button-bar{flex-direction:column;gap:.35rem}.mw-button-bar .mw-btn{width:100%;min-width:0}}.mw-button-bar-left{justify-content:flex-start}.mw-button-bar-right{justify-content:flex-end}.mw-button-bar-center{justify-content:center}.mw-button-bar-between{justify-content:space-between}@media (max-width:576px){.mw-button-bar-between{justify-content:center}}.mw-button-bar-primary .mw-btn:not([class*=mw-btn-secondary]):not([class*=mw-btn-outline]):not([class*=mw-btn-link]){background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color);box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 15%,#0000),var(--mw-elevation-1)}@media (hover:hover) and (pointer:fine){.mw-button-bar-primary .mw-btn:not([class*=mw-btn-secondary]):not([class*=mw-btn-outline]):not([class*=mw-btn-link]):hover{box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 20%,#0000),var(--mw-elevation-2);transform:translateY(-1px)}}.mw-button-bar-primary .mw-btn:not([class*=mw-btn-secondary]):not([class*=mw-btn-outline]):not([class*=mw-btn-link]):active:not(:disabled){box-shadow:inset 0 2px 5px color-mix(in srgb,#000 25%,#0000)}.mw-button-bar-primary .mw-btn:not([class*=mw-btn-secondary]):not([class*=mw-btn-outline]):not([class*=mw-btn-link]):disabled{box-shadow:none}.mw-button-bar-primary .mw-btn:not([class*=mw-btn-secondary]):not([class*=mw-btn-outline]):not([class*=mw-btn-link]):hover:not(:disabled){background:var(--mw-primary-color-hover)}.mw-button-bar-secondary .mw-btn:not([class*=mw-btn-primary]):not([class*=mw-btn-outline]):not([class*=mw-btn-link]){background:var(--mw-secondary-color);color:var(--mw-secondary-accent-text-color);box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 15%,#0000),var(--mw-elevation-1)}@media (hover:hover) and (pointer:fine){.mw-button-bar-secondary .mw-btn:not([class*=mw-btn-primary]):not([class*=mw-btn-outline]):not([class*=mw-btn-link]):hover{box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 20%,#0000),var(--mw-elevation-2);transform:translateY(-1px)}}.mw-button-bar-secondary .mw-btn:not([class*=mw-btn-primary]):not([class*=mw-btn-outline]):not([class*=mw-btn-link]):active:not(:disabled){box-shadow:inset 0 2px 5px color-mix(in srgb,#000 25%,#0000)}.mw-button-bar-secondary .mw-btn:not([class*=mw-btn-primary]):not([class*=mw-btn-outline]):not([class*=mw-btn-link]):disabled{box-shadow:none}.mw-button-bar-secondary .mw-btn:not([class*=mw-btn-primary]):not([class*=mw-btn-outline]):not([class*=mw-btn-link]):hover:not(:disabled){background:var(--mw-secondary-color-hover)}.mw-button-bar-outline .mw-btn:not([class*=mw-btn-primary]):not([class*=mw-btn-secondary]):not([class*=mw-btn-link]){background:#0000;border-color:var(--mw-primary-text-color);color:var(--mw-primary-text-color)}.mw-button-bar-outline .mw-btn:not([class*=mw-btn-primary]):not([class*=mw-btn-secondary]):not([class*=mw-btn-link]):hover:not(:disabled){background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color)}.mw-button-bar-nav{justify-content:space-between}.mw-button-bar-nav .mw-btn:first-child:not([class*=mw-btn-]),.mw-button-bar-nav .mw-btn:last-child:not([class*=mw-btn-]){background:#0000;border-color:var(--mw-primary-text-color);color:var(--mw-primary-text-color)}.mw-button-bar-nav .mw-btn:first-child:not([class*=mw-btn-]):hover:not(:disabled),.mw-button-bar-nav .mw-btn:last-child:not([class*=mw-btn-]):hover:not(:disabled){background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color)}.mw-button-bar-nav .mw-btn:not(:first-child):not(:last-child):not([class*=mw-btn-]){background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color);box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 15%,#0000),var(--mw-elevation-1)}@media (hover:hover) and (pointer:fine){.mw-button-bar-nav .mw-btn:not(:first-child):not(:last-child):not([class*=mw-btn-]):hover{box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 20%,#0000),var(--mw-elevation-2);transform:translateY(-1px)}}.mw-button-bar-nav .mw-btn:not(:first-child):not(:last-child):not([class*=mw-btn-]):active:not(:disabled){box-shadow:inset 0 2px 5px color-mix(in srgb,#000 25%,#0000)}.mw-button-bar-nav .mw-btn:not(:first-child):not(:last-child):not([class*=mw-btn-]):disabled{box-shadow:none}.mw-button-bar-nav .mw-btn:not(:first-child):not(:last-child):not([class*=mw-btn-]):hover:not(:disabled){background:var(--mw-primary-color-hover)}.mw-button-bar-sm{gap:.35rem}@media (max-width:576px){.mw-button-bar-sm{gap:.2rem}}.mw-button-bar-lg{gap:.75rem}.mw-button-bar-lg .mw-btn{padding:.5rem 1rem;font-size:1.1rem;min-height:var(--mw-control-height-lg)}@media (max-width:576px){.mw-button-bar-lg{gap:.5rem}}.mw-breadcrumbs{display:flex;align-items:center;justify-content:flex-start;margin:.2rem;padding:0 .35rem}.mw-breadcrumbs-list{display:flex;align-items:center;margin:0;padding:0;list-style:none}.mw-breadcrumbs-item{margin-left:-2px}.mw-breadcrumbs-item:first-child{margin-left:0}.mw-breadcrumbs-item:first-child a{border-radius:10px 0 0 10px}.mw-breadcrumbs-item:last-child a{border-radius:0 10px 10px 0}.mw-breadcrumbs-item a{background:var(--mw-card-background);color:var(--mw-text-muted-color);display:inline-flex;justify-content:center;align-items:center;text-decoration:none;font-size:1.1rem;border:2px solid var(--mw-border);height:2rem;padding:.35rem 1rem;border-radius:0;transform:skew(-30deg);position:relative;transition:var(--mw-transition);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mw-breadcrumbs-item :is(a.mw-breadcrumbs-active,a:hover){color:var(--mw-primary-text-color);border-color:var(--mw-primary-text-color);z-index:3}.mw-breadcrumbs-item a:active{color:var(--mw-primary-text-color);transition-duration:var(--mw-duration-instant)}.mw-breadcrumbs-item a:focus-visible{outline:var(--mw-focus-ring-width) solid var(--mw-focus-ring-color);outline-offset:-4px;z-index:3}.mw-breadcrumbs-item a>*{transform:skew(30deg)}.mw-breadcrumbs-item.mw-breadcrumbs-current a,.mw-breadcrumbs-item:last-child a{color:var(--mw-text-color);border-color:var(--mw-primary-text-color);cursor:default;pointer-events:none}.mw-breadcrumbs-sm .mw-breadcrumbs-item a{font-size:.9rem;height:1.35rem;padding:0 .75rem}@media (max-width:768px){.mw-breadcrumbs .mw-breadcrumbs-item a{font-size:.8rem;height:1.35rem;padding:0 .5rem}}@media (max-width:992px){.mw-breadcrumbs.mw-breadcrumbs-collapse .mw-breadcrumbs-item:not(:first-child):not(:last-child):not(:nth-last-child(2)){display:none}.mw-breadcrumbs.mw-breadcrumbs-collapse .mw-breadcrumbs-item:nth-last-child(2) a:before{content:"...";margin-right:.2rem}}.mw-calendar{display:block;padding:1rem;background:var(--mw-card-background);border:1px solid var(--mw-border);border-radius:5px 20px 5px 20px;box-shadow:var(--mw-elevation-2)}.mw-calendar-plain{padding:0;background:#0000;border:none;box-shadow:none}.mw-calendar-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.mw-calendar-title{flex:1;min-width:0;text-align:center;font-size:1.1rem;font-weight:500;color:var(--mw-text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mw-calendar-nav{padding:.35rem .75rem;line-height:1;flex-shrink:0}.mw-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.mw-calendar-weekday{padding-bottom:.35rem;text-align:center;font-size:.7rem;font-weight:700;color:var(--mw-text-muted-color);text-transform:uppercase;letter-spacing:.05em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mw-calendar-weekday.mw-calendar-weekend{color:var(--mw-danger-text-color)}.mw-calendar-day{position:relative;display:flex;align-items:center;justify-content:center;min-height:38px;padding:.2rem;border:1px solid #0000;border-radius:5px;background:#0000;color:var(--mw-text-color);font:inherit;font-size:.9rem;font-variant-numeric:tabular-nums;line-height:1;cursor:pointer;transition:var(--mw-transition);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.mw-calendar-day:active:not(:disabled){transform:scale(.92);transition-duration:var(--mw-duration-instant)}.mw-calendar-day.mw-calendar-weekend{background:var(--mw-gray-background)}.mw-calendar-day.mw-calendar-adjacent{color:var(--mw-text-muted-color);opacity:.5}.mw-calendar-day:hover:not(:disabled):not(.mw-selected){background:var(--mw-primary-background);border-color:var(--mw-border-accent)}.mw-calendar-day:focus-visible{outline:none;box-shadow:0 0 0 var(--mw-focus-halo-size) color-mix(in srgb,var(--mw-primary-text-color) var(--mw-focus-halo-opacity),#0000);border-color:var(--mw-primary-text-color)}.mw-calendar-day.mw-calendar-today{border-color:var(--mw-secondary-text-color);font-weight:700}.mw-calendar-day.mw-selected{background:var(--mw-primary-color);border-color:var(--mw-primary-text-color);color:var(--mw-primary-accent-text-color);opacity:1}.mw-calendar-day:disabled{cursor:not-allowed;color:var(--mw-text-muted-color);opacity:.4}.mw-calendar-date{line-height:1}.mw-calendar-dots{position:absolute;bottom:5px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:3px;pointer-events:none}.mw-calendar-dot{width:5px;height:5px;border-radius:50%;background:var(--mw-calendar-dot,var(--mw-text-muted-color));flex-shrink:0}.mw-calendar-dot-primary{--mw-calendar-dot:var(--mw-primary-text-color)}.mw-calendar-dot-secondary{--mw-calendar-dot:var(--mw-secondary-text-color)}.mw-calendar-dot-success{--mw-calendar-dot:var(--mw-success-text-color)}.mw-calendar-dot-warning{--mw-calendar-dot:var(--mw-warning-text-color)}.mw-calendar-dot-danger{--mw-calendar-dot:var(--mw-danger-text-color)}.mw-calendar-dot-info{--mw-calendar-dot:var(--mw-info-text-color)}.mw-calendar-day.mw-selected .mw-calendar-dot:not([class*=mw-calendar-dot-]){--mw-calendar-dot:var(--mw-primary-accent-text-color)}.mw-calendar-compact{padding:.75rem}.mw-calendar-compact .mw-calendar-header{margin-bottom:.75rem}.mw-calendar-compact .mw-calendar-title{font-size:1rem}.mw-calendar-compact .mw-calendar-nav{padding:.2rem .5rem;min-height:var(--mw-control-height-sm)}.mw-calendar-compact .mw-calendar-weekday{padding-bottom:.2rem;font-size:.6rem}.mw-calendar-compact .mw-calendar-grid{gap:3px}.mw-calendar-compact .mw-calendar-day{min-height:29px;font-size:.8rem}.mw-calendar-compact .mw-calendar-dots{display:none}.mw-calendar-compact .mw-calendar-legend{margin-top:.75rem;padding-top:.5rem}.mw-calendar-legend{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--mw-border)}.mw-calendar-legend-item{display:inline-flex;align-items:center;gap:.2rem;font-size:.8rem;color:var(--mw-text-muted-color)}.mw-calendar-legend-item .mw-calendar-dot{position:static}@media (max-width:576px){.mw-calendar{padding:.75rem .5rem}.mw-calendar-grid{gap:3px}.mw-calendar-weekday{font-size:.6rem}.mw-calendar-title{font-size:1rem}.mw-calendar-legend{gap:.35rem .75rem;margin-top:.75rem;padding-top:.5rem}.mw-calendar-legend-item{font-size:.7rem}}.mw-card{display:flex;flex-direction:column;background:var(--mw-card-background);border-radius:5px 20px 5px 20px;box-shadow:var(--mw-elevation-2);border:1px solid var(--mw-border);transition:var(--mw-transition);position:relative;overflow:visible}.mw-card:has(>.mw-card-ribbon){overflow:hidden}.mw-card:has(.mw-card-footer){width:100%;container:mw-card/inline-size}.mw-card:hover{box-shadow:var(--mw-elevation-3);border-color:var(--mw-border-accent)}@media (hover:hover) and (pointer:fine){.mw-card:hover{transform:translateY(-2px)}}.mw-card-simple{display:block;padding:1rem}.mw-card-badge{top:.35rem;right:.75rem;border-radius:10px;opacity:.9}.mw-card-badge,.mw-card-ribbon{position:absolute;padding:.2rem .75rem;font-size:.8rem;color:var(--mw-card-addon-text-color,var(--mw-primary-accent-text-color));background:var(--mw-card-addon-color,var(--mw-primary-color));white-space:nowrap;z-index:1;pointer-events:none;text-align:center;font-weight:500}.mw-card-ribbon{top:20px;right:-35px;width:220px;transform:rotate(25deg);opacity:.8}@media (max-width:576px){.mw-card-ribbon{font-size:.7rem}}.mw-card-img,.mw-card-img-contain{height:var(--mw-card-img-height,210px);overflow:hidden;flex-shrink:0;border-radius:4px 19px 0 0}.mw-card-img img,.mw-card-img-contain img{width:100%;height:100%;object-fit:cover;transition:transform var(--mw-duration-zoom) var(--mw-ease-out)}.mw-card-img-contain:hover img,.mw-card-img:hover img{transform:scale(1.05)}.mw-card-img-contain img{object-fit:contain;object-position:center}.mw-card-lg{--mw-card-img-height:340px}@media (max-width:576px){.mw-card-lg{--mw-card-img-height:260px}}.mw-card-xl{--mw-card-img-height:480px}@media (max-width:576px){.mw-card-xl{--mw-card-img-height:340px}}.mw-card-body{display:flex;flex-direction:column;flex-grow:1;padding:1.75rem 1rem 1.35rem}@media (max-width:576px){.mw-card-body{padding:1.35rem .75rem 1rem}}.mw-card-body>:last-child:not(.mw-card-footer){margin-bottom:0}.mw-card-body .mw-card-footer{margin-top:auto;padding-top:1rem}.mw-card-title{margin-bottom:.5rem;font-size:1.5rem}@media (max-width:768px){.mw-card-title{font-size:1.3rem}}.mw-card-title:has(>.mw-card-title-icon){display:flex;align-items:center;gap:.75rem}.mw-card-title-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border-radius:50%;background:var(--mw-card-addon-color,var(--mw-primary-color));color:var(--mw-card-addon-text-color,var(--mw-primary-accent-text-color));box-shadow:var(--mw-elevation-2);transition:var(--mw-transition);font-size:1.3rem}.mw-card-title-divider{height:4px;margin:.2rem 0 .75rem;border:0;width:70%;background-image:linear-gradient(to right,var(--mw-secondary-text-color),var(--mw-secondary-text-color),var(--mw-gray-background),#0000);opacity:.75}.mw-card-subtitle{margin-bottom:.5rem;font-size:1.1rem;line-height:1.2;font-style:italic;color:var(--mw-text-muted-color)}@media (max-width:768px){.mw-card-subtitle{margin-bottom:.35rem}}.mw-card-text{margin:.35rem 0 .75rem;color:var(--mw-text-color)}@media (max-width:576px){.mw-card-text{margin-bottom:.35rem}}.mw-card-footer{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:.5rem;flex-shrink:0;text-wrap:balance}.mw-card-footer>:last-child{margin-left:auto;text-align:right}.mw-card-footer .mw-btn{flex-shrink:0}@container mw-card (max-width: 360px){.mw-card-footer{flex-direction:column;align-items:stretch;gap:.35rem}.mw-card-footer:has(.mw-actions-note),.mw-card-footer:has(.mw-form-actions-hint){flex-wrap:nowrap}.mw-card-footer :is(.mw-actions-note,.mw-form-actions-hint){flex:0 0 auto;text-align:left}.mw-card-footer>*{width:100%}.mw-card-footer .mw-btn{display:flex;align-items:center;justify-content:center}}.mw-card-stack{padding:.75rem 1rem}.mw-card-stack-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border-radius:50%;background:var(--mw-card-addon-color,var(--mw-primary-color));color:var(--mw-card-addon-text-color,var(--mw-primary-accent-text-color));box-shadow:var(--mw-elevation-2);transition:var(--mw-transition);margin-right:.35rem;font-size:1.1rem}.mw-card-stack:hover .mw-card-stack-icon{transform:rotate(25deg)}.mw-card-stack-header{display:flex;align-items:center;position:relative}.mw-card-stack-header:after{content:"";position:absolute;bottom:-.5rem;left:50%;transform:translateX(-50%);width:90%;height:2px;background-image:linear-gradient(to right,var(--mw-secondary-text-color),var(--mw-secondary-text-color),var(--mw-gray-background),#0000);opacity:.75}.mw-card-stack-title{display:flex;align-items:center;justify-content:center;margin:0}@media (max-width:576px){.mw-card-stack-title{font-size:.9rem}}.mw-card-stack-body{display:flex;flex-direction:column;padding-top:1rem}.mw-card-stack-text{margin-top:.35rem;color:var(--mw-text-color);font-size:.9rem}.mw-card-feature{position:relative;display:flex;flex-direction:column;margin:-29px -7px -7px;padding:28px 6px 6px;border:1px solid var(--mw-primary-color);border-radius:12px 27px 12px 27px}.mw-card-feature-label{position:absolute;inset:0 0 auto;display:flex;align-items:center;justify-content:center;height:22px;margin:0;padding-inline:.75rem;border-radius:11px 26px 0 0;background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mw-card-feature>.mw-card{flex:1}[class*=mw-grid-]:has(>.mw-card-feature){row-gap:48px}.mw-card-feature-secondary{border-color:var(--mw-secondary-color)}.mw-card-feature-secondary>.mw-card-feature-label{background:var(--mw-secondary-color);color:var(--mw-secondary-accent-text-color)}.mw-card-feature-info{border-color:var(--mw-info-color)}.mw-card-feature-info>.mw-card-feature-label{background:var(--mw-info-color);color:var(--mw-info-accent-text-color)}.mw-card-addon-primary{--mw-card-addon-color:var(--mw-primary-color);--mw-card-addon-text-color:var(--mw-primary-accent-text-color)}.mw-card-addon-secondary{--mw-card-addon-color:var(--mw-secondary-color);--mw-card-addon-text-color:var(--mw-secondary-accent-text-color)}.mw-card-addon-info{--mw-card-addon-color:var(--mw-info-color);--mw-card-addon-text-color:var(--mw-info-accent-text-color)}.mw-card-addon-success{--mw-card-addon-color:var(--mw-success-color);--mw-card-addon-text-color:var(--mw-success-accent-text-color)}.mw-card-addon-warning{--mw-card-addon-color:var(--mw-warning-color);--mw-card-addon-text-color:var(--mw-warning-accent-text-color)}.mw-card-addon-danger{--mw-card-addon-color:var(--mw-danger-color);--mw-card-addon-text-color:var(--mw-danger-accent-text-color)}@media (prefers-reduced-motion:reduce){.mw-card,.mw-card-img img,.mw-card-img-contain img,.mw-card-stack-icon,.mw-card-title-icon{transition:none}.mw-card-img-contain:hover img,.mw-card-img:hover img,.mw-card-stack:hover .mw-card-stack-icon,.mw-card:hover{transform:none}}code,pre{font-family:var(--mw-font-family-mono);font-size:.8rem;border-radius:5px}code{color:var(--mw-text-muted-color);padding:.2rem .35rem;white-space:pre-wrap;word-break:break-word}:not(pre)>code{padding:.15em .4em;border-radius:2px;background:var(--mw-surface-muted);font-size:.88em}:not(pre)>code,pre{color:var(--mw-text-color)}pre{padding:.75rem;overflow-x:auto;border:none}pre code{color:inherit;padding:0;white-space:pre-wrap;display:block;line-height:1.5}@media (max-width:576px){pre code{font-size:.7rem;white-space:pre-wrap;word-break:break-word}}@media (max-width:375px){pre code{font-size:.6rem}}.mw-code-block{border-radius:5px;overflow:hidden;border:1px solid var(--mw-border);width:100%}.mw-code-block-header{padding:.35rem .75rem;border-bottom:1px solid var(--mw-border);font-family:var(--mw-font-family-mono);font-size:.8rem;color:var(--mw-text-muted-color);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}@media (max-width:576px){.mw-code-block-header{padding:.35rem}}.mw-code-block-filename{font-weight:500;margin-right:.35rem}@media (max-width:576px){.mw-code-block-filename{font-size:.7rem;margin-bottom:.2rem}}.mw-code-block-language{font-size:.8rem;padding:.2rem;border-radius:5px}@media (max-width:576px){.mw-code-block-language{font-size:.7rem}}.mw-code-block pre{margin:0;border:none;max-width:100%;overflow-x:auto}@media (max-width:576px){.mw-code-block pre{font-size:.7rem;padding:.2rem}.mw-code-block pre code{white-space:pre-wrap;word-break:break-word}}@media (max-width:375px){.mw-code-block pre{font-size:.6rem}}.mw-terminal{background:#232323;color:#f2f3f4;border-radius:5px;padding:.75rem;margin:.2rem;font-family:var(--mw-font-family-mono);font-size:.8rem;line-height:1.5;overflow:auto;max-width:100%}@media (max-width:576px){.mw-terminal{font-size:.7rem;padding:.2rem}}@media (max-width:375px){.mw-terminal{font-size:.6rem}}.mw-terminal-line{display:block;word-break:break-word}.mw-terminal-line:before{content:"$ ";color:#6bdd6b;font-weight:500}.mw-terminal-line.mw-terminal-output:before{content:""}.mw-code-keyword{color:#bd63d9}.mw-code-string{color:#98c379}.mw-code-comment{color:#7f848e;font-style:italic}.mw-code-function{color:#489bde}.mw-code-number{color:#d19a66}.mw-code-operator{color:#56b6c2}.mw-theme-light .mw-code-keyword{color:#9d1a9a}.mw-theme-light .mw-code-string{color:#43a342}.mw-theme-light .mw-code-comment{color:#a0a1a7}.mw-theme-light .mw-code-function{color:#4078f2}.mw-theme-light .mw-code-number{color:#89610c}.mw-theme-light .mw-code-operator{color:#0184bc}.mw-code-container{width:100%;max-width:100%;overflow-x:auto;position:relative}@media (max-width:576px){.mw-code-container{background-position:0,100%;background-repeat:no-repeat;background-size:20px 100%,20px 100%;background-attachment:local,local}}.mw-code-container>*{max-width:100%}.mw-code-container .mw-code-block{margin:0;width:100%}.mw-code-container .mw-code-block pre{white-space:pre;width:100%;overflow-x:auto}@media (max-width:375px){.mw-code-container .mw-code-block pre{white-space:pre-wrap;word-break:break-word}}.mw-code-container .mw-code-block.mw-code-nowrap pre,.mw-code-container .mw-code-block.mw-code-nowrap pre code{white-space:pre}.mw-code-container .mw-terminal{width:100%}.mw-coming-soon{display:flex;align-items:center;justify-content:center;background:var(--mw-card-background);border-radius:10px;border:3px dashed var(--mw-border-accent);overflow:hidden;position:relative;transition:var(--mw-transition);padding:5.5rem 0}.mw-coming-soon-icon{margin-right:1.75rem}.mw-coming-soon-icon,.mw-coming-soon-text{font-size:2.2rem;transition:var(--mw-transition);position:relative;z-index:3;color:var(--mw-text-muted-color)}.mw-coming-soon-text{font-weight:700;text-transform:uppercase;letter-spacing:.5rem;text-align:center}.mw-coming-soon:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(125deg,var(--mw-primary-color) 40%,var(--mw-secondary-color) 100%);opacity:0;z-index:3;transition:opacity var(--mw-duration-slower) var(--mw-ease-out)}@media (hover:hover) and (pointer:fine){.mw-coming-soon:hover{transform:translateY(-3px)}}.mw-coming-soon:hover{border-style:solid}.mw-coming-soon:hover .mw-coming-soon-icon{color:var(--mw-primary-accent-text-color);transform:rotate(27deg)}.mw-coming-soon:hover .mw-coming-soon-text{color:var(--mw-primary-accent-text-color);transform:scale(1.05)}.mw-coming-soon:hover:before{opacity:.9}@media (max-width:768px){.mw-coming-soon{min-height:150px}.mw-coming-soon-icon,.mw-coming-soon-text{font-size:1.5rem}}@media (max-width:576px){.mw-coming-soon{min-height:120px}.mw-coming-soon-icon,.mw-coming-soon-text{margin-right:1rem;letter-spacing:.35rem;font-size:1.3rem}}.mw-image-slider{position:relative;width:100%;max-width:600px;margin:.2rem auto;border-radius:10px;overflow:hidden}.mw-image-slider-base{position:relative;width:100%;height:370px}@media (max-width:768px){.mw-image-slider-base{height:320px}}@media (max-width:576px){.mw-image-slider-base{height:250px}}.mw-image-slider-base-image{width:100%;height:100%;object-fit:cover;display:block}.mw-image-slider-overlay{position:absolute;top:0;left:0;width:100%;height:370px;pointer-events:none}@media (max-width:768px){.mw-image-slider-overlay{height:320px}}@media (max-width:576px){.mw-image-slider-overlay{height:250px}}.mw-image-slider-overlay-image{position:absolute;top:0;left:0;width:100%;height:100%;transform:translateX(100%);transition:transform var(--mw-duration-slower) var(--mw-ease-in-out);z-index:10;pointer-events:auto}.mw-image-slider-overlay-image img{width:100%;height:100%;object-fit:cover;display:block}.mw-image-slider-overlay-image.active,.mw-image-slider-overlay-image.mw-active{transform:translateX(0)}.mw-image-slider-controls-grid-3{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.5rem;background:var(--mw-card-background);z-index:30;width:100%}@media (max-width:768px){.mw-image-slider-controls-grid-3{gap:.35rem;padding:.35rem}}@media (max-width:576px){.mw-image-slider-controls-grid-3{grid-template-columns:repeat(2,1fr)}}.mw-image-slider-controls-grid-2{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;padding:.5rem;background:var(--mw-card-background);z-index:30;width:100%}@media (max-width:768px){.mw-image-slider-controls-grid-2{gap:.35rem;padding:.35rem}}@media (max-width:576px){.mw-image-slider-controls-grid-2{grid-template-columns:1fr}}.mw-divider{display:block;width:100%;border:none;border-top:1px solid var(--mw-border);margin:.75rem 0}.mw-divider-thick{border-top-width:4px}.mw-divider-dashed{border-top-style:dashed}.mw-divider-primary{border-top-color:var(--mw-primary-text-color)}.mw-divider-secondary{border-top-color:var(--mw-secondary-text-color)}.mw-divider-vertical{display:inline-block;width:1px;background:var(--mw-border);margin:0 .5rem;align-self:stretch;border:none;flex-shrink:0}.mw-divider-text{display:flex;width:100%;align-items:center;gap:.5rem;margin:.35rem 0;border:none}.mw-divider-text:after,.mw-divider-text:before{content:"";flex:1;height:1px;background:var(--mw-border)}.mw-divider-text span{color:var(--mw-text-muted-color);font-size:.9rem;white-space:nowrap;-webkit-user-select:none;user-select:none}.mw-divider-text.mw-divider-primary:after,.mw-divider-text.mw-divider-primary:before{background:var(--mw-primary-color)}.mw-divider-text.mw-divider-primary span{color:var(--mw-primary-text-color)}.mw-dropdown{position:relative;display:inline-block}.mw-dropdown summary::-webkit-details-marker{display:none}.mw-dropdown>summary{list-style:none;cursor:pointer}.mw-dropdown>summary::marker{content:""}.mw-dropdown .mw-dropdown-caret{display:inline-flex;transition:transform var(--mw-duration-fast) var(--mw-ease-out)}.mw-dropdown[open] .mw-dropdown-caret{transform:rotate(180deg)}.mw-dropdown-menu{position:absolute;top:calc(100% + .35rem);left:0;z-index:30;min-width:200px;max-width:min(320px,100vw - 2 * var(--mw-container-gutter));padding:.35rem;background:var(--mw-card-background);border:1px solid var(--mw-border);border-radius:10px;box-shadow:var(--mw-elevation-4);max-height:min(60dvh,420px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--mw-text-muted-color) #0000}.mw-dropdown-menu::-webkit-scrollbar{width:8px;height:8px}.mw-dropdown-menu::-webkit-scrollbar-track{background:#0000;border-radius:4px}.mw-dropdown-menu::-webkit-scrollbar-thumb{background:var(--mw-text-muted-color);border-radius:4px}.mw-dropdown-menu::-webkit-scrollbar-thumb:hover{background:var(--mw-primary-text-color)}.mw-dropdown-menu::-webkit-scrollbar-corner{background:#0000}.mw-dropdown-menu{animation:mw-dropdown-in var(--mw-duration-fast) var(--mw-ease-out)}@keyframes mw-dropdown-in{0%{opacity:0;transform:translateY(-6px)}}.mw-dropdown-end .mw-dropdown-menu{left:auto;right:0}.mw-dropdown-up .mw-dropdown-menu{top:auto;bottom:calc(100% + .35rem);animation-name:mw-dropdown-in-up}@keyframes mw-dropdown-in-up{0%{opacity:0;transform:translateY(6px)}}.mw-dropdown-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem;border:0;border-radius:5px;background:none;color:var(--mw-text-color);font:inherit;font-size:.9rem;text-align:left;text-decoration:none;cursor:pointer;transition:var(--mw-transition-fast)}.mw-dropdown-item:focus-visible{outline:var(--mw-focus-ring-width) solid var(--mw-focus-ring-color);outline-offset:-2px}.mw-dropdown-item{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mw-dropdown-item:hover:not(:disabled){background:var(--mw-primary-background)}.mw-dropdown-item:active:not(:disabled){background:var(--mw-primary-background-hover)}.mw-dropdown-item:disabled,.mw-dropdown-item[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.mw-dropdown-item.mw-active,.mw-dropdown-item[aria-checked=true]{background:var(--mw-primary-background);color:var(--mw-primary-text-color);font-weight:500}.mw-dropdown-item [class*=fa-],.mw-dropdown-item fa-icon,.mw-dropdown-item i,.mw-dropdown-item svg{width:1.1em;flex-shrink:0;text-align:center;color:var(--mw-text-muted-color)}.mw-dropdown-item-danger{color:var(--mw-danger-text-color)}.mw-dropdown-item-danger [class*=fa-],.mw-dropdown-item-danger fa-icon,.mw-dropdown-item-danger i,.mw-dropdown-item-danger svg{color:inherit}.mw-dropdown-item-danger:hover:not(:disabled){background:var(--mw-danger-info-background)}.mw-dropdown-item-danger:active:not(:disabled){background:var(--mw-danger-info-background-hover)}.mw-dropdown-divider{height:1px;margin:.35rem .2rem;background:var(--mw-border);border:0}.mw-dropdown-label{padding:.35rem .5rem .2rem;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mw-text-muted-color)}.mw-card-body:has(.mw-dropdown[open]),.mw-card:has(.mw-dropdown[open]),.mw-modal-body:has(.mw-dropdown[open]),.mw-table-responsive:has(.mw-dropdown[open]),.mw-tile:has(.mw-dropdown[open]){overflow:visible}@media (max-width:576px),(pointer:coarse){.mw-dropdown-menu{min-width:max(100%,240px)}.mw-dropdown-item{min-height:2.75rem;font-size:1rem}}.mw-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem .75rem}.mw-empty-state-icon{font-size:3rem;color:var(--mw-text-muted-color);opacity:.6;margin-bottom:1rem;line-height:1}.mw-empty-state-title{font-size:1.5rem;font-weight:500;color:var(--mw-text-color);margin-bottom:.2rem}.mw-empty-state-desc{font-size:1rem;color:var(--mw-text-muted-color);max-width:380px;line-height:1.6;margin-bottom:1rem}.mw-empty-state-sm{padding:1.35rem .75rem}.mw-empty-state-sm .mw-empty-state-icon{font-size:2.5rem;margin-bottom:.5rem}.mw-empty-state-sm .mw-empty-state-title{font-size:1.3rem}.mw-empty-state-sm .mw-empty-state-desc{font-size:.9rem;margin-bottom:.75rem}.mw-empty-state-primary .mw-empty-state-icon{color:var(--mw-primary-text-color);opacity:.7}.mw-empty-state-success .mw-empty-state-icon{color:var(--mw-success-text-color);opacity:.7}.mw-empty-state-warning .mw-empty-state-icon{color:var(--mw-warning-text-color);opacity:.7}.mw-empty-state-danger .mw-empty-state-icon{color:var(--mw-danger-text-color);opacity:.7}.mw-gallery-container{max-width:1100px;margin:.2rem auto}.mw-gallery{position:relative;overflow:hidden;width:100%;border-radius:10px}.mw-gallery-track{display:flex;transition:transform var(--mw-duration-zoom) var(--mw-ease-in-out)}@media (prefers-reduced-motion:reduce){.mw-gallery-track{transition:none}}.mw-gallery-slide{width:100%;flex-shrink:0;aspect-ratio:16/9}.mw-gallery-slide img{width:100%;height:100%;object-fit:cover;display:block}.mw-gallery-navi{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:108px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:10px;background:#0006;color:#efefef;font-size:1.5rem;line-height:1;cursor:pointer;z-index:3;-webkit-user-select:none;user-select:none;transition:var(--mw-transition);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mw-gallery-navi:active{transform:translateY(-50%) scale(.9);transition-duration:var(--mw-duration-instant)}.mw-gallery-navi:before{content:"";position:absolute;inset:-8px;border-radius:inherit}.mw-gallery-navi:hover{background:#000000d9}.mw-gallery-navi:focus-visible{outline:var(--mw-focus-ring-width) solid var(--mw-focus-ring-color);outline-offset:var(--mw-focus-ring-offset)}.mw-gallery-navi-prev{left:.75rem}.mw-gallery-navi-next{right:.75rem}.mw-gallery-desc{text-align:left;padding:.35rem .5rem;margin-top:.35rem;background:var(--mw-card-background);border-radius:10px;border:1px solid var(--mw-border-accent)}.mw-gallery-dots{text-align:center;margin-top:1rem;display:flex;align-items:center;justify-content:center;gap:.75rem}.mw-gallery-dot{display:inline-block;width:11px;height:11px;padding:0;border:0;appearance:none;border-radius:50%;background:var(--mw-gray-color);cursor:pointer;transition:var(--mw-transition-fast);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mw-gallery-dot:focus-visible{outline:var(--mw-focus-ring-width) solid var(--mw-focus-ring-color);outline-offset:var(--mw-focus-ring-offset)}.mw-gallery-dot.mw-active{transform:scale(1.5);background:var(--mw-primary-color)}@media (max-width:768px){.mw-gallery-desc{font-size:.9rem}.mw-gallery-dot{width:10px;height:10px}.mw-gallery-dot.mw-active{transform:scale(1.4)}}@media (max-width:576px){.mw-gallery-slide{aspect-ratio:4/3}.mw-gallery-navi{width:46px;height:88px}.mw-gallery-desc{font-size:.8rem}.mw-gallery-dots{gap:.35rem;margin-top:.75rem}.mw-gallery-dot{width:9px;height:9px}.mw-gallery-dot.mw-active{transform:scale(1.3)}}.mw-info{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem 1rem;margin:.2rem;font-size:1rem;font-weight:500;color:var(--mw-text-color);background:var(--mw-card-background);border:1px solid var(--mw-border);border-radius:10px;transition:transform var(--mw-duration-base) var(--mw-ease-out),box-shadow var(--mw-duration-base) var(--mw-ease-out);cursor:default;text-decoration:none}.mw-info:hover{box-shadow:var(--mw-elevation-3)}@media (hover:hover) and (pointer:fine){.mw-info:hover{transform:translateY(-2px)}}.mw-info-clickable{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mw-info-clickable:active{transform:scale(.98);transition-duration:var(--mw-duration-instant)}.mw-info-sm{padding:.2rem .5rem;font-size:.9rem;font-weight:400}.mw-info-lg{padding:.75rem 1.35rem;font-size:1.3rem;font-weight:500}.mw-info-xl{padding:1rem 2rem;font-size:1.5rem;font-weight:500}.mw-info-counter{min-width:5.5rem}.mw-info-counter .mw-info-value{font-size:2.5rem;font-weight:700;line-height:1.4}.mw-info-counter .mw-info-label{font-size:.9rem;font-weight:500;opacity:.7;text-align:center}a.mw-info,button.mw-info{cursor:pointer}a.mw-info:focus-visible,button.mw-info:focus-visible{outline:var(--mw-focus-ring-width) solid var(--mw-focus-ring-color);outline-offset:var(--mw-focus-ring-offset)}.mw-info-mini{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--mw-gray-color);color:#efefef;border:none;padding:0;line-height:1;font-weight:700;cursor:default;box-sizing:border-box}.mw-info-mini [class*=fa-],.mw-info-mini [class*=fas-],.mw-info-mini fa-icon,.mw-info-mini i,.mw-info-mini svg{font-size:.7rem}.mw-info-mini-sm{width:16px;height:16px}.mw-info-mini-sm [class*=fa-],.mw-info-mini-sm [class*=fas-],.mw-info-mini-sm fa-icon,.mw-info-mini-sm i,.mw-info-mini-sm svg{font-size:.55rem}.mw-info-mini-lg{width:24px;height:24px}.mw-info-mini-lg [class*=fa-],.mw-info-mini-lg [class*=fas-],.mw-info-mini-lg fa-icon,.mw-info-mini-lg i,.mw-info-mini-lg svg{font-size:.8rem}.mw-info-mini-xl{width:32px;height:32px}.mw-info-mini-xl [class*=fa-],.mw-info-mini-xl [class*=fas-],.mw-info-mini-xl fa-icon,.mw-info-mini-xl i,.mw-info-mini-xl svg{font-size:1rem}.mw-info-primary{background:var(--mw-primary-info-background);border-color:var(--mw-primary-text-color);border-left:6px solid var(--mw-primary-text-color)}.mw-info-mini-primary{background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color)}.mw-info-secondary{background:var(--mw-secondary-info-background);border-color:var(--mw-secondary-text-color);border-left:6px solid var(--mw-secondary-text-color)}.mw-info-mini-secondary{background:var(--mw-secondary-color);color:var(--mw-secondary-accent-text-color)}.mw-info-info{background:var(--mw-info-info-background);border-color:var(--mw-info-text-color);border-left:6px solid var(--mw-info-text-color)}.mw-info-mini-info{background:var(--mw-info-color);color:var(--mw-info-accent-text-color)}.mw-info-success{background:var(--mw-success-info-background);border-color:var(--mw-success-text-color);border-left:6px solid var(--mw-success-text-color)}.mw-info-mini-success{background:var(--mw-success-color);color:var(--mw-success-accent-text-color)}.mw-info-warning{background:var(--mw-warning-info-background);border-color:var(--mw-warning-text-color);border-left:6px solid var(--mw-warning-text-color)}.mw-info-mini-warning{background:var(--mw-warning-color);color:var(--mw-warning-accent-text-color)}.mw-info-danger{background:var(--mw-danger-info-background);border-color:var(--mw-danger-text-color);border-left:6px solid var(--mw-danger-text-color)}.mw-info-mini-danger{background:var(--mw-danger-color);color:var(--mw-danger-accent-text-color)}@keyframes mw-kanban-card-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes mw-kanban-card-moved-forward{0%{opacity:0;transform:translateX(-18px)}}@keyframes mw-kanban-card-moved-back{0%{opacity:0;transform:translateX(18px)}}.mw-kanban{--mw-kanban-background:color-mix(
8
+ );--mw-section-padding-block:1.75rem;--mw-page-background:var(--mw-dark-page-background);--mw-hero-image-filter:var(--mw-dark-hero-image-filter);--mw-card-background:var(--mw-dark-card-background);--mw-footer-background:var(--mw-dark-footer-background);--mw-border:var(--mw-dark-border);--mw-shadow:var(--mw-dark-shadow);--mw-shadow-near:var(--mw-dark-shadow-near);--mw-shadow-far:var(--mw-dark-shadow-far);--mw-elevation-1:var(--mw-dark-elevation-1);--mw-elevation-2:var(--mw-dark-elevation-2);--mw-elevation-3:var(--mw-dark-elevation-3);--mw-elevation-4:var(--mw-dark-elevation-4);--mw-elevation-5:var(--mw-dark-elevation-5);--mw-text-color:var(--mw-dark-text-color);--mw-text-muted-color:var(--mw-dark-text-muted-color);--mw-primary-text-color:var(--mw-dark-primary-text-color);--mw-secondary-text-color:var(--mw-dark-secondary-text-color);--mw-success-text-color:var(--mw-dark-success-text-color);--mw-warning-text-color:var(--mw-dark-warning-text-color);--mw-danger-text-color:var(--mw-dark-danger-text-color);--mw-info-text-color:var(--mw-dark-info-text-color);--mw-border-accent:var(--mw-dark-border-accent)}.mw-theme-light{--mw-page-background:var(--mw-light-page-background);--mw-hero-image-filter:var(--mw-light-hero-image-filter);--mw-card-background:var(--mw-light-card-background);--mw-footer-background:var(--mw-light-footer-background);--mw-border:var(--mw-light-border);--mw-shadow:var(--mw-light-shadow);--mw-shadow-near:var(--mw-light-shadow-near);--mw-shadow-far:var(--mw-light-shadow-far);--mw-elevation-1:var(--mw-light-elevation-1);--mw-elevation-2:var(--mw-light-elevation-2);--mw-elevation-3:var(--mw-light-elevation-3);--mw-elevation-4:var(--mw-light-elevation-4);--mw-elevation-5:var(--mw-light-elevation-5);--mw-text-color:var(--mw-light-text-color);--mw-text-muted-color:var(--mw-light-text-muted-color);--mw-primary-text-color:var(--mw-light-primary-text-color);--mw-secondary-text-color:var(--mw-light-secondary-text-color);--mw-success-text-color:var(--mw-light-success-text-color);--mw-warning-text-color:var(--mw-light-warning-text-color);--mw-danger-text-color:var(--mw-light-danger-text-color);--mw-info-text-color:var(--mw-light-info-text-color);--mw-border-accent:var(--mw-light-border-accent)}.mw-input,.mw-input-group,.mw-select,.mw-textarea,.mw-theme-light,input,select,textarea{color-scheme:light}.mw-calendar:not(.mw-calendar-plain),.mw-card,.mw-modal,.mw-panel,.mw-tile{--mw-scroll-hint-cover:var(--mw-card-background)}@media (prefers-reduced-motion:reduce){:root{--mw-duration-instant:1ms;--mw-duration-fast:1ms;--mw-duration-base:1ms;--mw-duration-slow:1ms;--mw-duration-slower:1ms}*,:after,:before{animation-duration:1ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:1ms!important;transition-delay:0s!important}html{scroll-behavior:auto}}:root{--mw-font-family-base:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--mw-font-family-heading:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mw-font-family-mono:"Fira Code", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}body{font-family:var(--mw-font-family-base);line-height:1.5;color:var(--mw-text-color)}h1,h2,h3,h4,h5,h6{font-family:var(--mw-font-family-heading);line-height:1.2;margin-bottom:.75rem;font-weight:700;text-wrap:balance;overflow-wrap:break-word}h1{letter-spacing:-.025em}h2{letter-spacing:-.02em}h3,h4{letter-spacing:-.01em}h1{font-size:3rem}@media (max-width:768px){h1{font-size:2.5rem}}@media (max-width:576px){h1{font-size:2.2rem}}h2{font-size:2.5rem}@media (max-width:768px){h2{font-size:2.2rem}}@media (max-width:576px){h2{font-size:1.8rem}}h3{font-size:1.5rem}h3.mw-accent{color:var(--mw-primary-text-color)}h4{font-size:1.3rem}h5{font-size:1.1rem}h5,h6{font-weight:500}h6{font-size:.9rem}p{margin-bottom:.5rem;text-wrap:pretty}small{font-size:.9rem;color:var(--mw-text-muted-color)}b,strong{font-weight:700}mark{background:color-mix(in srgb,var(--mw-warning-color) 35%,#0000);color:inherit;padding:.1em .25em;border-radius:2px}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:.2em;cursor:help}code,kbd,pre{font-family:var(--mw-font-family-mono)}pre{border:1px solid var(--mw-border);background:var(--mw-card-background);margin-bottom:.35rem}blockquote{color:var(--mw-secondary-text-color);font-style:italic;position:relative;padding:.75rem 2rem;margin:.35rem .2rem;border-left:2px solid var(--mw-secondary-background-hover);border-radius:0 5px 5px 0;background:color-mix(in srgb,var(--mw-secondary-background) 85%,#0000)}blockquote:hover:after,blockquote:hover:before{opacity:.7}blockquote:after,blockquote:before{font-family:Georgia,serif;font-size:3rem;position:absolute;opacity:.4;line-height:1}blockquote:before{content:'"';top:-.2rem;left:.35rem}blockquote:after{content:'"';bottom:-1.75rem;right:.75rem}.mw-accordion{border:1px solid var(--mw-border);border-radius:5px 20px 5px 20px;overflow:hidden;margin:.35rem}.mw-accordion-item{border-bottom:1px solid var(--mw-border-accent)}.mw-accordion-item:last-child{border-bottom:none}.mw-accordion-header{appearance:none;border:none;width:100%;font:inherit;color:inherit;text-align:left;font-size:1.1rem;font-weight:500}@media (max-width:576px){.mw-accordion-header{font-size:.9rem}}.mw-accordion-header{padding:.75rem;background:var(--mw-card-background);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mw-accordion-header:focus-visible{outline:var(--mw-focus-ring-width) solid var(--mw-focus-ring-color);outline-offset:-2px}.mw-accordion-header:active{background:var(--mw-primary-background);transition-duration:var(--mw-duration-instant)}.mw-accordion-header{display:flex;justify-content:space-between;align-items:center;transition:var(--mw-transition)}.mw-accordion-header:hover{background:var(--mw-primary-background-hover)}.mw-accordion-header h3{margin:0;font-size:inherit;font-weight:inherit}.mw-accordion-header .mw-accordion-icon{transition:var(--mw-transition);transform:rotate(0deg)}.mw-accordion-header.active,.mw-accordion-header.mw-active{background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color)}:is(.mw-accordion-header.active,.mw-accordion-header.mw-active) .mw-accordion-icon{transform:rotate(180deg)}.mw-accordion-content{height:0;overflow:hidden;transition:height var(--mw-duration-slower) var(--mw-ease-out);background:var(--mw-card-background);interpolate-size:allow-keywords}.mw-accordion-content-inner{padding:.75rem;border-top:1px solid var(--mw-border-accent)}@media (max-width:576px){.mw-accordion-content-inner{font-size:.9rem}}.mw-accordion-content.active,.mw-accordion-content.mw-active{height:auto;max-height:500px;overflow-y:auto}.mw-accordion-content.active::-webkit-scrollbar,.mw-accordion-content.mw-active::-webkit-scrollbar{width:6px}.mw-accordion-content.active::-webkit-scrollbar-track,.mw-accordion-content.mw-active::-webkit-scrollbar-track{background:var(--mw-card-background);border-radius:5px}.mw-accordion-content.active::-webkit-scrollbar-thumb,.mw-accordion-content.mw-active::-webkit-scrollbar-thumb{background:var(--mw-primary-color-hover);border-radius:5px}.mw-alert{position:relative;display:flex;align-items:flex-start;padding:.75rem 1rem;margin-bottom:.75rem;border-radius:10px;background:var(--mw-card-background);border:1px solid var(--mw-border);box-shadow:var(--mw-elevation-2)}.mw-alert-icon{flex-shrink:0;margin-right:.75rem;font-size:1.5rem;line-height:1.2;margin-top:.2rem}.mw-alert-content{flex:1;color:var(--mw-text-color)}.mw-alert-title{display:block;font-weight:700;margin-bottom:.2rem;line-height:1.3}.mw-alert p{margin:0;line-height:1.5;font-size:.9rem;opacity:.9}.mw-alert p+p{margin-top:.35rem}.mw-alert-closed{display:none!important}@media (max-width:576px){.mw-alert{padding:.75rem}.mw-alert-icon{margin-right:.5rem}}.mw-alert-close{flex-shrink:0;margin-left:.5rem}.mw-alert-primary{background-image:linear-gradient(var(--mw-primary-info-background),var(--mw-primary-info-background));border:1px solid color-mix(in srgb,var(--mw-primary-color) 20%,#0000);border-left:4px solid var(--mw-primary-text-color)}.mw-alert-primary .mw-alert-icon{color:var(--mw-primary-text-color)}.mw-alert-secondary{background-image:linear-gradient(var(--mw-secondary-info-background),var(--mw-secondary-info-background));border:1px solid color-mix(in srgb,var(--mw-secondary-color) 20%,#0000);border-left:4px solid var(--mw-secondary-text-color)}.mw-alert-secondary .mw-alert-icon{color:var(--mw-secondary-text-color)}.mw-alert-info{background-image:linear-gradient(var(--mw-info-info-background),var(--mw-info-info-background));border:1px solid color-mix(in srgb,var(--mw-info-color) 20%,#0000);border-left:4px solid var(--mw-info-text-color)}.mw-alert-info .mw-alert-icon{color:var(--mw-info-text-color)}.mw-alert-success{background-image:linear-gradient(var(--mw-success-info-background),var(--mw-success-info-background));border:1px solid color-mix(in srgb,var(--mw-success-color) 20%,#0000);border-left:4px solid var(--mw-success-text-color)}.mw-alert-success .mw-alert-icon{color:var(--mw-success-text-color)}.mw-alert-warning{background-image:linear-gradient(var(--mw-warning-info-background),var(--mw-warning-info-background));border:1px solid color-mix(in srgb,var(--mw-warning-color) 20%,#0000);border-left:4px solid var(--mw-warning-text-color)}.mw-alert-warning .mw-alert-icon{color:var(--mw-warning-text-color)}.mw-alert-danger{background-image:linear-gradient(var(--mw-danger-info-background),var(--mw-danger-info-background));border:1px solid color-mix(in srgb,var(--mw-danger-color) 20%,#0000);border-left:4px solid var(--mw-danger-text-color)}.mw-alert-danger .mw-alert-icon{color:var(--mw-danger-text-color)}.mw-avatar{display:inline-flex;position:relative;border-radius:50%;overflow:hidden;border:3px solid var(--mw-border);box-shadow:var(--mw-elevation-3);margin:.2rem;width:96px;height:96px;flex-shrink:0;flex-grow:0;font-size:2.2rem}.mw-avatar img{width:100%;height:100%;object-fit:cover;display:block}.mw-avatar-xs{width:32px;height:32px;border-width:2px;font-size:.7rem}.mw-avatar-sm{width:64px;height:64px;border-width:2px;font-size:1.5rem}.mw-avatar-lg{width:144px;height:144px;border-width:5px;font-size:3rem}.mw-avatar-xl{width:250px;height:250px;border-width:7px;font-size:4.3rem}.mw-avatar-square{border-radius:5px}.mw-avatar-initials{align-items:center;justify-content:center;background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color);font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:.02em;-webkit-user-select:none;user-select:none}.mw-avatar-group{display:flex;flex-wrap:wrap;justify-content:flex-start;margin:.35rem;row-gap:.5rem}.mw-avatar-group .mw-avatar{margin:0 -15px 0 0;border:2px solid var(--mw-secondary-text-color);transition:transform var(--mw-duration-base) var(--mw-ease-out)}@media (hover:hover) and (pointer:fine){.mw-avatar-group .mw-avatar:hover{transform:translateY(-3px);z-index:3}}.mw-avatar-group-sm .mw-avatar{margin-right:-10px}.mw-avatar-group-lg .mw-avatar{margin-right:-20px}.mw-avatar-group .mw-avatar-xs{margin-right:-5px}.mw-avatar-group .mw-avatar-sm{margin-right:-10px}.mw-avatar-group .mw-avatar-lg{margin-right:-23px}.mw-avatar-group .mw-avatar-xl{margin-right:-40px}.mw-avatar-group .mw-avatar:last-child{margin-right:0}@media (max-width:576px){.mw-avatar-group .mw-avatar{margin-right:-10px}.mw-avatar-group .mw-avatar:last-child{margin-right:0}.mw-avatar-lg{width:120px;height:120px;border-width:4px}.mw-avatar-xl{width:170px;height:170px;border-width:6px}}.mw-avatar-primary{border-color:var(--mw-primary-color)}.mw-avatar-initials.mw-avatar-primary{background:var(--mw-primary-color)}.mw-avatar-secondary{border-color:var(--mw-secondary-color)}.mw-avatar-initials.mw-avatar-secondary{background:var(--mw-secondary-color)}.mw-avatar-info{border-color:var(--mw-info-color)}.mw-avatar-initials.mw-avatar-info{background:var(--mw-info-color)}.mw-avatar-success{border-color:var(--mw-success-color)}.mw-avatar-initials.mw-avatar-success{background:var(--mw-success-color)}.mw-avatar-warning{border-color:var(--mw-warning-color)}.mw-avatar-initials.mw-avatar-warning{background:var(--mw-warning-color)}.mw-avatar-danger{border-color:var(--mw-danger-color)}.mw-avatar-initials.mw-avatar-danger{background:var(--mw-danger-color)}.mw-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:20px;font-size:.7rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap;vertical-align:middle}.mw-badge,.mw-badge-primary{background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color)}.mw-badge-secondary{background:var(--mw-secondary-color);color:var(--mw-secondary-accent-text-color)}.mw-badge-success{background:var(--mw-success-color);color:var(--mw-success-accent-text-color)}.mw-badge-warning{background:var(--mw-warning-color);color:var(--mw-warning-accent-text-color)}.mw-badge-danger{background:var(--mw-danger-color);color:var(--mw-danger-accent-text-color)}.mw-badge-info{background:var(--mw-info-color);color:var(--mw-info-accent-text-color)}.mw-badge-muted{background:var(--mw-gray-color);color:var(--mw-accent-text-color)}.mw-badge-outline{background:#0000;border:1px solid;color:var(--mw-primary-text-color)}.mw-badge-sm{min-width:1rem;height:1rem;padding:0 .2rem;font-size:.6rem}.mw-badge-lg{min-width:1.6rem;height:1.6rem;padding:0 .5rem;font-size:.8rem}.mw-badge-dot{display:inline-block;width:.55rem;height:.55rem;min-width:0;padding:0;border-radius:50%;background:var(--mw-primary-color);flex-shrink:0;vertical-align:middle}.mw-badge-pulse{position:relative}.mw-badge-pulse:after{content:"";position:absolute;inset:0;border-radius:inherit;background:inherit;animation:mw-badge-pulse 1.8s var(--mw-ease-out) infinite}@keyframes mw-badge-pulse{0%{transform:scale(1);opacity:.7}to{transform:scale(2.6);opacity:0}}.mw-badge-anchor{position:relative;display:inline-flex}.mw-badge-float{position:absolute;top:0;right:0;transform:translate(40%,-40%);box-shadow:0 0 0 2px var(--mw-page-background);pointer-events:none;z-index:3}:is(.mw-card,.mw-header,.mw-modal,.mw-panel,.mw-tile) .mw-badge-float{box-shadow:0 0 0 2px var(--mw-card-background)}.mw-header .mw-badge-float{box-shadow:0 0 0 2px var(--mw-header-background)}.mw-badge-status{display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem;color:var(--mw-text-color);white-space:nowrap}.mw-badge-dot-primary,.mw-badge-status-primary .mw-badge-dot{background:var(--mw-primary-color)}.mw-badge-dot-secondary,.mw-badge-status-secondary .mw-badge-dot{background:var(--mw-secondary-color)}.mw-badge-dot-success,.mw-badge-status-success .mw-badge-dot{background:var(--mw-success-color)}.mw-badge-dot-warning,.mw-badge-status-warning .mw-badge-dot{background:var(--mw-warning-color)}.mw-badge-dot-danger,.mw-badge-status-danger .mw-badge-dot{background:var(--mw-danger-color)}.mw-badge-dot-info,.mw-badge-status-info .mw-badge-dot{background:var(--mw-info-color)}.mw-badge-dot-muted,.mw-badge-status-muted .mw-badge-dot{background:var(--mw-gray-color)}.mw-blog-post{position:relative;margin:.35rem;padding:.75rem 1.75rem;animation:pageReveal var(--mw-duration-slower) var(--mw-ease-out) forwards;border-radius:5px 30px 5px 30px;box-shadow:var(--mw-border) 0 30px 60px -18px inset,var(--mw-border) 0 18px 36px -18px inset}@keyframes pageReveal{0%{opacity:0;transform:translateY(-30px) rotateX(10deg);transform-origin:top}to{opacity:1;transform:translateY(0) rotateX(0);transform-origin:top}}@media (max-width:576px){.mw-blog-post{margin:.2rem;padding:.75rem 1rem}}.mw-blog-post:before{content:"";position:absolute;left:1px;top:1px;bottom:1px;width:7px;background:linear-gradient(to bottom,var(--mw-primary-color),var(--mw-secondary-color));border-radius:5px}.mw-blog-post-title{margin-bottom:1.35rem;text-align:start;position:relative}.mw-blog-post-title:after{content:"";position:absolute;bottom:-.35rem;left:0;width:min(200px,100%);height:5px;background:var(--mw-primary-text-color)}.mw-blog-post-header{margin-bottom:1rem;position:relative}.mw-blog-post-header-icon{width:60px;height:60px;border-radius:50%;background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color);display:flex;align-items:center;justify-content:center;margin-bottom:.75rem;font-size:1.5rem;box-shadow:var(--mw-elevation-2);animation:iconFlip var(--mw-duration-slower) var(--mw-ease-out) forwards}@keyframes iconFlip{0%{transform:rotateY(90deg)}to{transform:rotateY(0)}}.mw-blog-post-meta{display:flex;flex-wrap:wrap;align-items:center;margin-bottom:1.35rem;font-size:.9rem;color:var(--mw-text-muted-color);row-gap:.2rem}@media (max-width:576px){.mw-blog-post-meta{flex-direction:column;gap:.35rem;margin-top:1rem;align-items:start}}.mw-blog-post-meta-item{display:inline-flex;align-items:center;row-gap:.2rem;gap:.35rem}.mw-blog-post-meta-item:not(:first-child){margin-left:1.75rem}@media (max-width:576px){.mw-blog-post-meta-item:not(:first-child){margin-left:0}}.mw-blog-post-meta-item i{color:var(--mw-primary-text-color);flex-shrink:0}.mw-blog-post-featured-image{width:100%;max-height:400px;object-fit:contain;border-radius:5px;margin-bottom:1rem;box-shadow:var(--mw-elevation-3)}.mw-blog-post-content,.mw-blog-post-content-markdown{line-height:1.6}.mw-blog-post-content h2,.mw-blog-post-content-markdown h2{font-size:2.2rem;margin:1.35rem 0 .75rem}@media (max-width:768px){.mw-blog-post-content h2,.mw-blog-post-content-markdown h2{font-size:1.8rem}}.mw-blog-post-content h3,.mw-blog-post-content-markdown h3{font-size:1.8rem;margin:1rem 0 .5rem}@media (max-width:768px){.mw-blog-post-content h3,.mw-blog-post-content-markdown h3{font-size:1.5rem}}.mw-blog-post-content h4,.mw-blog-post-content-markdown h4{font-size:1.5rem;margin:.75rem 0 .35rem}@media (max-width:768px){.mw-blog-post-content h4,.mw-blog-post-content-markdown h4{font-size:1.3rem}}.mw-blog-post-content h5,.mw-blog-post-content-markdown h5{font-size:1.3rem;margin:.75rem .2rem .35rem}@media (max-width:768px){.mw-blog-post-content h5,.mw-blog-post-content-markdown h5{font-size:1.1rem}}.mw-blog-post-content-markdown a{display:inline-block;position:relative;color:var(--mw-text-muted-color);text-decoration:none;padding-bottom:2px}.mw-blog-post-content-markdown a:after{content:"";position:absolute;left:0;bottom:1px;width:100%;height:1px;background:currentColor;opacity:.4;transform:scaleX(1);transform-origin:left;transition:transform var(--mw-duration-fast) var(--mw-ease-out),opacity var(--mw-duration-fast) var(--mw-ease-out)}.mw-blog-post-content-markdown a:hover{color:var(--mw-primary-text-color)}.mw-blog-post-content-markdown a:hover:after{opacity:1;height:2px;transform:scaleX(1.1)}.mw-blog-post-content-markdown :is(ol,ul){margin:.5rem 0;padding-left:1.35rem}.mw-blog-post-content-markdown ul{list-style:disc}.mw-blog-post-content-markdown ul ul{list-style:circle}.mw-blog-post-content-markdown ul ul ul{list-style:square}.mw-blog-post-content-markdown ol{list-style:decimal}.mw-blog-post-content-markdown ol ol{list-style:lower-alpha}.mw-blog-post-content-markdown li{margin-bottom:.35rem}.mw-blog-post-content-markdown pre{border:1px solid var(--mw-border);background:var(--mw-card-background)}.mw-blog-post-content-markdown img{max-width:100%;border-radius:10px;margin:1rem 0}.mw-blog-post-footer{margin-top:1.35rem;padding-top:.75rem;border-top:1px solid var(--mw-secondary-text-color);display:flex;justify-content:space-between;align-items:center}@media (max-width:576px){.mw-blog-post-footer{flex-direction:column;gap:.35rem}}.mw-blog-post-footer-button{transition:var(--mw-transition);color:var(--mw-primary-text-color)}.mw-blog-post-footer-button:hover{transform:translateX(-7px)}.mw-blog-post-footer-button.next{flex-direction:row-reverse}.mw-blog-post-footer-button.next:hover{transform:translateX(7px)}.mw-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.35rem .75rem;border:1px solid #0000;border-radius:5px;font-weight:500;line-height:1.2;min-height:var(--mw-control-height);text-decoration:none;cursor:pointer;transition:var(--mw-transition);box-sizing:border-box;font-family:inherit;font-size:inherit}.mw-btn:focus-visible{outline:var(--mw-focus-ring-width) solid var(--mw-focus-ring-color);outline-offset:var(--mw-focus-ring-offset)}.mw-btn{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mw-btn:active:not(:disabled){transform:translateY(1px);transition-duration:var(--mw-duration-instant)}.mw-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.mw-btn-primary{box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 15%,#0000),var(--mw-elevation-1)}@media (hover:hover) and (pointer:fine){.mw-btn-primary:hover{box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 20%,#0000),var(--mw-elevation-2);transform:translateY(-1px)}}.mw-btn-primary:active:not(:disabled){box-shadow:inset 0 2px 5px color-mix(in srgb,#000 25%,#0000)}.mw-btn-primary:disabled{box-shadow:none}.mw-btn-primary{background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color)}.mw-btn-primary:hover:not(:disabled){background:var(--mw-primary-color-hover)}.mw-btn-primary.active:not(:disabled),.mw-btn-primary.mw-active:not(:disabled){background:var(--mw-primary-color-hover);border:1px solid var(--mw-primary-color)}.mw-btn-secondary{box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 15%,#0000),var(--mw-elevation-1)}@media (hover:hover) and (pointer:fine){.mw-btn-secondary:hover{box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 20%,#0000),var(--mw-elevation-2);transform:translateY(-1px)}}.mw-btn-secondary:active:not(:disabled){box-shadow:inset 0 2px 5px color-mix(in srgb,#000 25%,#0000)}.mw-btn-secondary:disabled{box-shadow:none}.mw-btn-secondary{background:var(--mw-secondary-color);color:var(--mw-secondary-accent-text-color)}.mw-btn-secondary:hover:not(:disabled){background:var(--mw-secondary-color-hover)}.mw-btn-secondary.active:not(:disabled),.mw-btn-secondary.mw-active:not(:disabled){background:var(--mw-secondary-color-hover);border:1px solid var(--mw-secondary-color)}.mw-btn-danger{box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 15%,#0000),var(--mw-elevation-1)}@media (hover:hover) and (pointer:fine){.mw-btn-danger:hover{box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 20%,#0000),var(--mw-elevation-2);transform:translateY(-1px)}}.mw-btn-danger:active:not(:disabled){box-shadow:inset 0 2px 5px color-mix(in srgb,#000 25%,#0000)}.mw-btn-danger:disabled{box-shadow:none}.mw-btn-danger{background:var(--mw-danger-color);color:var(--mw-danger-accent-text-color)}.mw-btn-danger:hover:not(:disabled){background:var(--mw-danger-color-hover)}.mw-btn-danger.active:not(:disabled),.mw-btn-danger.mw-active:not(:disabled){background:var(--mw-danger-color-hover);border:1px solid var(--mw-danger-color)}.mw-btn-success{box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 15%,#0000),var(--mw-elevation-1)}@media (hover:hover) and (pointer:fine){.mw-btn-success:hover{box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 20%,#0000),var(--mw-elevation-2);transform:translateY(-1px)}}.mw-btn-success:active:not(:disabled){box-shadow:inset 0 2px 5px color-mix(in srgb,#000 25%,#0000)}.mw-btn-success:disabled{box-shadow:none}.mw-btn-success{background:var(--mw-success-color);color:var(--mw-success-accent-text-color)}.mw-btn-success:hover:not(:disabled){background:var(--mw-success-color-hover)}.mw-btn-success.active:not(:disabled),.mw-btn-success.mw-active:not(:disabled){background:var(--mw-success-color-hover);border:1px solid var(--mw-success-color)}.mw-btn-outline{background:#0000;border-color:var(--mw-primary-text-color);color:var(--mw-primary-text-color)}.mw-btn-outline:hover:not(:disabled){background:var(--mw-primary-color);border-color:var(--mw-primary-color);color:var(--mw-primary-accent-text-color);box-shadow:var(--mw-elevation-1)}.mw-btn-outline:active:not(:disabled){box-shadow:inset 0 2px 5px color-mix(in srgb,#000 25%,#0000)}.mw-btn-outline.active:not(:disabled),.mw-btn-outline.mw-active:not(:disabled){background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color)}.mw-btn-link,.mw-btn-link-muted{background:#0000;border:none;padding:0;text-underline-offset:.22em;text-decoration-thickness:1.5px}.mw-btn-link-muted:hover:not(:disabled),.mw-btn-link:hover:not(:disabled){text-decoration:underline}.mw-btn-link{color:var(--mw-primary-text-color)}.mw-btn-link-muted{color:var(--mw-text-muted-color)}.mw-btn-link-muted:hover:not(:disabled){color:var(--mw-primary-text-color)}.mw-btn-ghost{background:#0000;border-color:#0000;color:var(--mw-text-color)}.mw-btn-ghost:hover:not(:disabled){background:var(--mw-primary-background);color:var(--mw-primary-text-color)}.mw-btn-ghost:active:not(:disabled){background:var(--mw-primary-background-hover)}.mw-btn-ghost.active:not(:disabled),.mw-btn-ghost.mw-active:not(:disabled){background:var(--mw-primary-background);color:var(--mw-primary-text-color)}.mw-btn-ghost-danger{color:var(--mw-danger-text-color)}.mw-btn-ghost-danger:hover:not(:disabled){background:var(--mw-danger-info-background);color:var(--mw-danger-text-color)}.mw-btn-ghost-danger:active:not(:disabled){background:var(--mw-danger-info-background-hover)}.mw-btn-icon{--mw-btn-icon-size:2.4rem;width:var(--mw-btn-icon-size);height:var(--mw-btn-icon-size);min-width:0;padding:0;flex-shrink:0}.mw-btn-icon.mw-btn-sm{--mw-btn-icon-size:2rem}.mw-btn-icon.mw-btn-lg{--mw-btn-icon-size:2.9rem}@media (max-width:768px),(pointer:coarse){.mw-btn-icon{--mw-btn-icon-size:2.75rem}.mw-btn-icon.mw-btn-sm{--mw-btn-icon-size:2.5rem}}.mw-btn-block{display:flex;width:100%}.mw-btn-plain{display:inline-flex;align-items:center;appearance:none;background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-align:inherit;cursor:pointer}.mw-btn-plain:focus-visible{outline:var(--mw-focus-ring-width) solid var(--mw-focus-ring-color);outline-offset:var(--mw-focus-ring-offset)}.mw-btn-plain:disabled{cursor:not-allowed;opacity:.6}.mw-btn-sm{padding:.2rem .5rem;font-size:.9rem;min-height:var(--mw-control-height-sm)}.mw-btn-lg{padding:.5rem 1rem;font-size:1.1rem;min-height:var(--mw-control-height-lg)}:is(.mw-button-bar,.mw-form-actions,.mw-kanban-composer-actions,.mw-modal-footer,.mw-panel-footer) .mw-btn:not(.mw-btn-icon){min-width:80px}.mw-card-footer:has(.mw-actions-note),.mw-card-footer:has(.mw-form-actions-hint),.mw-form-actions:has(.mw-actions-note),.mw-form-actions:has(.mw-form-actions-hint),.mw-modal-footer:has(.mw-actions-note),.mw-modal-footer:has(.mw-form-actions-hint),.mw-panel-footer:has(.mw-actions-note),.mw-panel-footer:has(.mw-form-actions-hint){flex-wrap:wrap;row-gap:.5rem}.mw-actions-note,.mw-form-actions-hint{flex:1 0 100%;margin:0;text-align:right;font-size:.9rem;color:var(--mw-text-muted-color);text-wrap:pretty}.mw-btn-mini{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--mw-gray-color);color:#efefef;border:none;padding:0;line-height:1;font-weight:700;cursor:pointer;transition:var(--mw-transition);text-decoration:none;box-sizing:border-box;margin-left:.2rem}.mw-btn-mini [class*=fa-],.mw-btn-mini [class*=fas-],.mw-btn-mini fa-icon,.mw-btn-mini i,.mw-btn-mini svg{font-size:.6rem}.mw-btn-mini:disabled{cursor:not-allowed;opacity:.4}.mw-btn-mini:focus-visible{outline:var(--mw-focus-ring-width) solid var(--mw-focus-ring-color);outline-offset:1px}.mw-btn-mini{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mw-btn-mini:hover:not(:disabled){background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color)}.mw-btn-mini:active:not(:disabled){transform:scale(.88);transition:transform var(--mw-duration-instant) var(--mw-ease-spring),var(--mw-transition-fast)}.mw-btn-mini-primary:hover:not(:disabled){background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color)}.mw-btn-mini-secondary:hover:not(:disabled){background:var(--mw-secondary-color);color:var(--mw-secondary-accent-text-color)}.mw-btn-mini-danger:hover:not(:disabled){background:var(--mw-danger-color);color:var(--mw-danger-accent-text-color)}.mw-btn-mini-success:hover:not(:disabled){background:var(--mw-success-color);color:var(--mw-success-accent-text-color)}.mw-button-bar{display:flex;gap:.5rem;align-items:center;justify-content:center;flex-wrap:wrap;border:1px solid var(--mw-border);border-radius:10px;padding:.35rem}.mw-button-bar:hover{border-color:var(--mw-border-accent)}@media (max-width:576px){.mw-button-bar{flex-direction:column;gap:.35rem}.mw-button-bar .mw-btn{width:100%;min-width:0}}.mw-button-bar-left{justify-content:flex-start}.mw-button-bar-right{justify-content:flex-end}.mw-button-bar-center{justify-content:center}.mw-button-bar-between{justify-content:space-between}@media (max-width:576px){.mw-button-bar-between{justify-content:center}}.mw-button-bar-primary .mw-btn:not([class*=mw-btn-secondary]):not([class*=mw-btn-outline]):not([class*=mw-btn-link]){background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color);box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 15%,#0000),var(--mw-elevation-1)}@media (hover:hover) and (pointer:fine){.mw-button-bar-primary .mw-btn:not([class*=mw-btn-secondary]):not([class*=mw-btn-outline]):not([class*=mw-btn-link]):hover{box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 20%,#0000),var(--mw-elevation-2);transform:translateY(-1px)}}.mw-button-bar-primary .mw-btn:not([class*=mw-btn-secondary]):not([class*=mw-btn-outline]):not([class*=mw-btn-link]):active:not(:disabled){box-shadow:inset 0 2px 5px color-mix(in srgb,#000 25%,#0000)}.mw-button-bar-primary .mw-btn:not([class*=mw-btn-secondary]):not([class*=mw-btn-outline]):not([class*=mw-btn-link]):disabled{box-shadow:none}.mw-button-bar-primary .mw-btn:not([class*=mw-btn-secondary]):not([class*=mw-btn-outline]):not([class*=mw-btn-link]):hover:not(:disabled){background:var(--mw-primary-color-hover)}.mw-button-bar-secondary .mw-btn:not([class*=mw-btn-primary]):not([class*=mw-btn-outline]):not([class*=mw-btn-link]){background:var(--mw-secondary-color);color:var(--mw-secondary-accent-text-color);box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 15%,#0000),var(--mw-elevation-1)}@media (hover:hover) and (pointer:fine){.mw-button-bar-secondary .mw-btn:not([class*=mw-btn-primary]):not([class*=mw-btn-outline]):not([class*=mw-btn-link]):hover{box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 20%,#0000),var(--mw-elevation-2);transform:translateY(-1px)}}.mw-button-bar-secondary .mw-btn:not([class*=mw-btn-primary]):not([class*=mw-btn-outline]):not([class*=mw-btn-link]):active:not(:disabled){box-shadow:inset 0 2px 5px color-mix(in srgb,#000 25%,#0000)}.mw-button-bar-secondary .mw-btn:not([class*=mw-btn-primary]):not([class*=mw-btn-outline]):not([class*=mw-btn-link]):disabled{box-shadow:none}.mw-button-bar-secondary .mw-btn:not([class*=mw-btn-primary]):not([class*=mw-btn-outline]):not([class*=mw-btn-link]):hover:not(:disabled){background:var(--mw-secondary-color-hover)}.mw-button-bar-outline .mw-btn:not([class*=mw-btn-primary]):not([class*=mw-btn-secondary]):not([class*=mw-btn-link]){background:#0000;border-color:var(--mw-primary-text-color);color:var(--mw-primary-text-color)}.mw-button-bar-outline .mw-btn:not([class*=mw-btn-primary]):not([class*=mw-btn-secondary]):not([class*=mw-btn-link]):hover:not(:disabled){background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color)}.mw-button-bar-nav{justify-content:space-between}.mw-button-bar-nav .mw-btn:first-child:not([class*=mw-btn-]),.mw-button-bar-nav .mw-btn:last-child:not([class*=mw-btn-]){background:#0000;border-color:var(--mw-primary-text-color);color:var(--mw-primary-text-color)}.mw-button-bar-nav .mw-btn:first-child:not([class*=mw-btn-]):hover:not(:disabled),.mw-button-bar-nav .mw-btn:last-child:not([class*=mw-btn-]):hover:not(:disabled){background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color)}.mw-button-bar-nav .mw-btn:not(:first-child):not(:last-child):not([class*=mw-btn-]){background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color);box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 15%,#0000),var(--mw-elevation-1)}@media (hover:hover) and (pointer:fine){.mw-button-bar-nav .mw-btn:not(:first-child):not(:last-child):not([class*=mw-btn-]):hover{box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 20%,#0000),var(--mw-elevation-2);transform:translateY(-1px)}}.mw-button-bar-nav .mw-btn:not(:first-child):not(:last-child):not([class*=mw-btn-]):active:not(:disabled){box-shadow:inset 0 2px 5px color-mix(in srgb,#000 25%,#0000)}.mw-button-bar-nav .mw-btn:not(:first-child):not(:last-child):not([class*=mw-btn-]):disabled{box-shadow:none}.mw-button-bar-nav .mw-btn:not(:first-child):not(:last-child):not([class*=mw-btn-]):hover:not(:disabled){background:var(--mw-primary-color-hover)}.mw-button-bar-sm{gap:.35rem}@media (max-width:576px){.mw-button-bar-sm{gap:.2rem}}.mw-button-bar-lg{gap:.75rem}.mw-button-bar-lg .mw-btn{padding:.5rem 1rem;font-size:1.1rem;min-height:var(--mw-control-height-lg)}@media (max-width:576px){.mw-button-bar-lg{gap:.5rem}}.mw-breadcrumbs{display:flex;align-items:center;justify-content:flex-start;margin:.2rem;padding:0 .35rem}.mw-breadcrumbs-list{display:flex;align-items:center;margin:0;padding:0;list-style:none}.mw-breadcrumbs-item{margin-left:-2px}.mw-breadcrumbs-item:first-child{margin-left:0}.mw-breadcrumbs-item:first-child a{border-radius:10px 0 0 10px}.mw-breadcrumbs-item:last-child a{border-radius:0 10px 10px 0}.mw-breadcrumbs-item a{background:var(--mw-card-background);color:var(--mw-text-muted-color);display:inline-flex;justify-content:center;align-items:center;text-decoration:none;font-size:1.1rem;border:2px solid var(--mw-border);height:2rem;padding:.35rem 1rem;border-radius:0;transform:skew(-30deg);position:relative;transition:var(--mw-transition);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mw-breadcrumbs-item :is(a.mw-breadcrumbs-active,a:hover){color:var(--mw-primary-text-color);border-color:var(--mw-primary-text-color);z-index:3}.mw-breadcrumbs-item a:active{color:var(--mw-primary-text-color);transition-duration:var(--mw-duration-instant)}.mw-breadcrumbs-item a:focus-visible{outline:var(--mw-focus-ring-width) solid var(--mw-focus-ring-color);outline-offset:-4px;z-index:3}.mw-breadcrumbs-item a>*{transform:skew(30deg)}.mw-breadcrumbs-item.mw-breadcrumbs-current a,.mw-breadcrumbs-item:last-child a{color:var(--mw-text-color);border-color:var(--mw-primary-text-color);cursor:default;pointer-events:none}.mw-breadcrumbs-sm .mw-breadcrumbs-item a{font-size:.9rem;height:1.35rem;padding:0 .75rem}@media (max-width:768px){.mw-breadcrumbs .mw-breadcrumbs-item a{font-size:.8rem;height:1.35rem;padding:0 .5rem}}@media (max-width:992px){.mw-breadcrumbs.mw-breadcrumbs-collapse .mw-breadcrumbs-item:not(:first-child):not(:last-child):not(:nth-last-child(2)){display:none}.mw-breadcrumbs.mw-breadcrumbs-collapse .mw-breadcrumbs-item:nth-last-child(2) a:before{content:"...";margin-right:.2rem}}.mw-calendar{display:block;padding:1rem;background:var(--mw-card-background);border:1px solid var(--mw-border);border-radius:5px 20px 5px 20px;box-shadow:var(--mw-elevation-2)}.mw-calendar-plain{padding:0;background:#0000;border:none;box-shadow:none}.mw-calendar-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.mw-calendar-title{flex:1;min-width:0;text-align:center;font-size:1.1rem;font-weight:500;color:var(--mw-text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mw-calendar-nav{padding:.35rem .75rem;line-height:1;flex-shrink:0}.mw-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.mw-calendar-weekday{padding-bottom:.35rem;text-align:center;font-size:.7rem;font-weight:700;color:var(--mw-text-muted-color);text-transform:uppercase;letter-spacing:.05em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mw-calendar-weekday.mw-calendar-weekend{color:var(--mw-danger-text-color)}.mw-calendar-day{position:relative;display:flex;align-items:center;justify-content:center;min-height:38px;padding:.2rem;border:1px solid #0000;border-radius:5px;background:#0000;color:var(--mw-text-color);font:inherit;font-size:.9rem;font-variant-numeric:tabular-nums;line-height:1;cursor:pointer;transition:var(--mw-transition);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.mw-calendar-day:active:not(:disabled){transform:scale(.92);transition-duration:var(--mw-duration-instant)}.mw-calendar-day.mw-calendar-weekend{background:var(--mw-gray-background)}.mw-calendar-day.mw-calendar-adjacent{color:var(--mw-text-muted-color);opacity:.5}.mw-calendar-day:hover:not(:disabled):not(.mw-selected){background:var(--mw-primary-background);border-color:var(--mw-border-accent)}.mw-calendar-day:focus-visible{outline:none;box-shadow:0 0 0 var(--mw-focus-halo-size) color-mix(in srgb,var(--mw-primary-text-color) var(--mw-focus-halo-opacity),#0000);border-color:var(--mw-primary-text-color)}.mw-calendar-day.mw-calendar-today{border-color:var(--mw-secondary-text-color);font-weight:700}.mw-calendar-day.mw-selected{background:var(--mw-primary-color);border-color:var(--mw-primary-text-color);color:var(--mw-primary-accent-text-color);opacity:1}.mw-calendar-day:disabled{cursor:not-allowed;color:var(--mw-text-muted-color);opacity:.4}.mw-calendar-date{line-height:1}.mw-calendar-dots{position:absolute;bottom:5px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:3px;pointer-events:none}.mw-calendar-dot{width:5px;height:5px;border-radius:50%;background:var(--mw-calendar-dot,var(--mw-text-muted-color));flex-shrink:0}.mw-calendar-dot-primary{--mw-calendar-dot:var(--mw-primary-text-color)}.mw-calendar-dot-secondary{--mw-calendar-dot:var(--mw-secondary-text-color)}.mw-calendar-dot-success{--mw-calendar-dot:var(--mw-success-text-color)}.mw-calendar-dot-warning{--mw-calendar-dot:var(--mw-warning-text-color)}.mw-calendar-dot-danger{--mw-calendar-dot:var(--mw-danger-text-color)}.mw-calendar-dot-info{--mw-calendar-dot:var(--mw-info-text-color)}.mw-calendar-day.mw-selected .mw-calendar-dot:not([class*=mw-calendar-dot-]){--mw-calendar-dot:var(--mw-primary-accent-text-color)}.mw-calendar-compact{padding:.75rem}.mw-calendar-compact .mw-calendar-header{margin-bottom:.75rem}.mw-calendar-compact .mw-calendar-title{font-size:1rem}.mw-calendar-compact .mw-calendar-nav{padding:.2rem .5rem;min-height:var(--mw-control-height-sm)}.mw-calendar-compact .mw-calendar-weekday{padding-bottom:.2rem;font-size:.6rem}.mw-calendar-compact .mw-calendar-grid{gap:3px}.mw-calendar-compact .mw-calendar-day{min-height:29px;font-size:.8rem}.mw-calendar-compact .mw-calendar-dots{display:none}.mw-calendar-compact .mw-calendar-legend{margin-top:.75rem;padding-top:.5rem}.mw-calendar-legend{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--mw-border)}.mw-calendar-legend-item{display:inline-flex;align-items:center;gap:.2rem;font-size:.8rem;color:var(--mw-text-muted-color)}.mw-calendar-legend-item .mw-calendar-dot{position:static}@media (max-width:576px){.mw-calendar{padding:.75rem .5rem}.mw-calendar-grid{gap:3px}.mw-calendar-weekday{font-size:.6rem}.mw-calendar-title{font-size:1rem}.mw-calendar-legend{gap:.35rem .75rem;margin-top:.75rem;padding-top:.5rem}.mw-calendar-legend-item{font-size:.7rem}}.mw-card{display:flex;flex-direction:column;background:var(--mw-card-background);border-radius:5px 20px 5px 20px;box-shadow:var(--mw-elevation-2);border:1px solid var(--mw-border);transition:var(--mw-transition);position:relative;overflow:visible}.mw-card:has(>.mw-card-ribbon){overflow:hidden}.mw-card:has(.mw-card-footer){width:100%;container:mw-card/inline-size}.mw-card:hover{box-shadow:var(--mw-elevation-3);border-color:var(--mw-border-accent)}@media (hover:hover) and (pointer:fine){.mw-card:hover{transform:translateY(-2px)}}.mw-card-simple{display:block;padding:1rem}.mw-card-badge{top:.35rem;right:.75rem;border-radius:10px;opacity:.9}.mw-card-badge,.mw-card-ribbon{position:absolute;padding:.2rem .75rem;font-size:.8rem;color:var(--mw-card-addon-text-color,var(--mw-primary-accent-text-color));background:var(--mw-card-addon-color,var(--mw-primary-color));white-space:nowrap;z-index:1;pointer-events:none;text-align:center;font-weight:500}.mw-card-ribbon{top:20px;right:-35px;width:220px;transform:rotate(25deg);opacity:.8}@media (max-width:576px){.mw-card-ribbon{font-size:.7rem}}.mw-card-img,.mw-card-img-contain{height:var(--mw-card-img-height,210px);overflow:hidden;flex-shrink:0;border-radius:4px 19px 0 0}.mw-card-img img,.mw-card-img-contain img{width:100%;height:100%;object-fit:cover;transition:transform var(--mw-duration-zoom) var(--mw-ease-out)}.mw-card-img-contain:hover img,.mw-card-img:hover img{transform:scale(1.05)}.mw-card-img-contain img{object-fit:contain;object-position:center}.mw-card-lg{--mw-card-img-height:340px}@media (max-width:576px){.mw-card-lg{--mw-card-img-height:260px}}.mw-card-xl{--mw-card-img-height:480px}@media (max-width:576px){.mw-card-xl{--mw-card-img-height:340px}}.mw-card-body{display:flex;flex-direction:column;flex-grow:1;padding:1.75rem 1rem 1.35rem}@media (max-width:576px){.mw-card-body{padding:1.35rem .75rem 1rem}}.mw-card-body>:last-child:not(.mw-card-footer){margin-bottom:0}.mw-card-body .mw-card-footer{margin-top:auto;padding-top:1rem}.mw-card-title{margin-bottom:.5rem;font-size:1.5rem}@media (max-width:768px){.mw-card-title{font-size:1.3rem}}.mw-card-title:has(>.mw-card-title-icon){display:flex;align-items:center;gap:.75rem}.mw-card-title-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border-radius:50%;background:var(--mw-card-addon-color,var(--mw-primary-color));color:var(--mw-card-addon-text-color,var(--mw-primary-accent-text-color));box-shadow:var(--mw-elevation-2);transition:var(--mw-transition);font-size:1.3rem}.mw-card-title-divider{height:4px;margin:.2rem 0 .75rem;border:0;width:70%;background-image:linear-gradient(to right,var(--mw-secondary-text-color),var(--mw-secondary-text-color),var(--mw-gray-background),#0000);opacity:.75}.mw-card-subtitle{margin-bottom:.5rem;font-size:1.1rem;line-height:1.2;font-style:italic;color:var(--mw-text-muted-color)}@media (max-width:768px){.mw-card-subtitle{margin-bottom:.35rem}}.mw-card-text{margin:.35rem 0 .75rem;color:var(--mw-text-color)}@media (max-width:576px){.mw-card-text{margin-bottom:.35rem}}.mw-card-footer{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:.5rem;flex-shrink:0;text-wrap:balance}.mw-card-footer>:last-child{margin-left:auto;text-align:right}.mw-card-footer .mw-btn{flex-shrink:0}@container mw-card (max-width: 360px){.mw-card-footer{flex-direction:column;align-items:stretch;gap:.35rem}.mw-card-footer:has(.mw-actions-note),.mw-card-footer:has(.mw-form-actions-hint){flex-wrap:nowrap}.mw-card-footer :is(.mw-actions-note,.mw-form-actions-hint){flex:0 0 auto;text-align:left}.mw-card-footer>*{width:100%}.mw-card-footer .mw-btn{display:flex;align-items:center;justify-content:center}}.mw-card-stack{padding:.75rem 1rem}.mw-card-stack-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border-radius:50%;background:var(--mw-card-addon-color,var(--mw-primary-color));color:var(--mw-card-addon-text-color,var(--mw-primary-accent-text-color));box-shadow:var(--mw-elevation-2);transition:var(--mw-transition);margin-right:.35rem;font-size:1.1rem}.mw-card-stack:hover .mw-card-stack-icon{transform:rotate(25deg)}.mw-card-stack-header{display:flex;align-items:center;position:relative}.mw-card-stack-header:after{content:"";position:absolute;bottom:-.5rem;left:50%;transform:translateX(-50%);width:90%;height:2px;background-image:linear-gradient(to right,var(--mw-secondary-text-color),var(--mw-secondary-text-color),var(--mw-gray-background),#0000);opacity:.75}.mw-card-stack-title{display:flex;align-items:center;justify-content:center;margin:0}@media (max-width:576px){.mw-card-stack-title{font-size:.9rem}}.mw-card-stack-body{display:flex;flex-direction:column;padding-top:1rem}.mw-card-stack-text{margin-top:.35rem;color:var(--mw-text-color);font-size:.9rem}.mw-card-feature{position:relative;display:flex;flex-direction:column;margin:-29px -7px -7px;padding:28px 6px 6px;border:1px solid var(--mw-primary-color);border-radius:12px 27px 12px 27px}.mw-card-feature-label{position:absolute;inset:0 0 auto;display:flex;align-items:center;justify-content:center;height:22px;margin:0;padding-inline:.75rem;border-radius:11px 26px 0 0;background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mw-card-feature>.mw-card{flex:1}[class*=mw-grid-]:has(>.mw-card-feature){row-gap:48px}.mw-card-feature-secondary{border-color:var(--mw-secondary-color)}.mw-card-feature-secondary>.mw-card-feature-label{background:var(--mw-secondary-color);color:var(--mw-secondary-accent-text-color)}.mw-card-feature-info{border-color:var(--mw-info-color)}.mw-card-feature-info>.mw-card-feature-label{background:var(--mw-info-color);color:var(--mw-info-accent-text-color)}.mw-card-addon-primary{--mw-card-addon-color:var(--mw-primary-color);--mw-card-addon-text-color:var(--mw-primary-accent-text-color)}.mw-card-addon-secondary{--mw-card-addon-color:var(--mw-secondary-color);--mw-card-addon-text-color:var(--mw-secondary-accent-text-color)}.mw-card-addon-info{--mw-card-addon-color:var(--mw-info-color);--mw-card-addon-text-color:var(--mw-info-accent-text-color)}.mw-card-addon-success{--mw-card-addon-color:var(--mw-success-color);--mw-card-addon-text-color:var(--mw-success-accent-text-color)}.mw-card-addon-warning{--mw-card-addon-color:var(--mw-warning-color);--mw-card-addon-text-color:var(--mw-warning-accent-text-color)}.mw-card-addon-danger{--mw-card-addon-color:var(--mw-danger-color);--mw-card-addon-text-color:var(--mw-danger-accent-text-color)}@media (prefers-reduced-motion:reduce){.mw-card,.mw-card-img img,.mw-card-img-contain img,.mw-card-stack-icon,.mw-card-title-icon{transition:none}.mw-card-img-contain:hover img,.mw-card-img:hover img,.mw-card-stack:hover .mw-card-stack-icon,.mw-card:hover{transform:none}}code,pre{font-family:var(--mw-font-family-mono);font-size:.8rem;border-radius:5px}code{color:var(--mw-text-muted-color);padding:.2rem .35rem;white-space:pre-wrap;word-break:break-word}:not(pre)>code{padding:.15em .4em;border-radius:2px;background:var(--mw-surface-muted);font-size:.88em}:not(pre)>code,pre{color:var(--mw-text-color)}pre{padding:.75rem;overflow-x:auto;border:none}pre code{color:inherit;padding:0;white-space:pre-wrap;display:block;line-height:1.5}@media (max-width:576px){pre code{font-size:.7rem;white-space:pre-wrap;word-break:break-word}}@media (max-width:375px){pre code{font-size:.6rem}}.mw-code-block{border-radius:5px;overflow:hidden;border:1px solid var(--mw-border);width:100%}.mw-code-block-header{padding:.35rem .75rem;border-bottom:1px solid var(--mw-border);font-family:var(--mw-font-family-mono);font-size:.8rem;color:var(--mw-text-muted-color);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}@media (max-width:576px){.mw-code-block-header{padding:.35rem}}.mw-code-block-filename{font-weight:500;margin-right:.35rem}@media (max-width:576px){.mw-code-block-filename{font-size:.7rem;margin-bottom:.2rem}}.mw-code-block-language{font-size:.8rem;padding:.2rem;border-radius:5px}@media (max-width:576px){.mw-code-block-language{font-size:.7rem}}.mw-code-block pre{margin:0;border:none;max-width:100%;overflow-x:auto}@media (max-width:576px){.mw-code-block pre{font-size:.7rem;padding:.2rem}.mw-code-block pre code{white-space:pre-wrap;word-break:break-word}}@media (max-width:375px){.mw-code-block pre{font-size:.6rem}}.mw-terminal{background:#232323;color:#f2f3f4;border-radius:5px;padding:.75rem;margin:.2rem;font-family:var(--mw-font-family-mono);font-size:.8rem;line-height:1.5;overflow:auto;max-width:100%}@media (max-width:576px){.mw-terminal{font-size:.7rem;padding:.2rem}}@media (max-width:375px){.mw-terminal{font-size:.6rem}}.mw-terminal-line{display:block;word-break:break-word}.mw-terminal-line:before{content:"$ ";color:#6bdd6b;font-weight:500}.mw-terminal-line.mw-terminal-output:before{content:""}.mw-code-keyword{color:#bd63d9}.mw-code-string{color:#98c379}.mw-code-comment{color:#7f848e;font-style:italic}.mw-code-function{color:#489bde}.mw-code-number{color:#d19a66}.mw-code-operator{color:#56b6c2}.mw-theme-light .mw-code-keyword{color:#9d1a9a}.mw-theme-light .mw-code-string{color:#43a342}.mw-theme-light .mw-code-comment{color:#a0a1a7}.mw-theme-light .mw-code-function{color:#4078f2}.mw-theme-light .mw-code-number{color:#89610c}.mw-theme-light .mw-code-operator{color:#0184bc}.mw-code-container{width:100%;max-width:100%;overflow-x:auto;position:relative}@media (max-width:576px){.mw-code-container{background-position:0,100%;background-repeat:no-repeat;background-size:20px 100%,20px 100%;background-attachment:local,local}}.mw-code-container>*{max-width:100%}.mw-code-container .mw-code-block{margin:0;width:100%}.mw-code-container .mw-code-block pre{white-space:pre;width:100%;overflow-x:auto}@media (max-width:375px){.mw-code-container .mw-code-block pre{white-space:pre-wrap;word-break:break-word}}.mw-code-container .mw-code-block.mw-code-nowrap pre,.mw-code-container .mw-code-block.mw-code-nowrap pre code{white-space:pre}.mw-code-container .mw-terminal{width:100%}.mw-coming-soon{display:flex;align-items:center;justify-content:center;background:var(--mw-card-background);border-radius:10px;border:3px dashed var(--mw-border-accent);overflow:hidden;position:relative;transition:var(--mw-transition);padding:5.5rem 0}.mw-coming-soon-icon{margin-right:1.75rem}.mw-coming-soon-icon,.mw-coming-soon-text{font-size:2.2rem;transition:var(--mw-transition);position:relative;z-index:3;color:var(--mw-text-muted-color)}.mw-coming-soon-text{font-weight:700;text-transform:uppercase;letter-spacing:.5rem;text-align:center}.mw-coming-soon:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(125deg,var(--mw-primary-color) 40%,var(--mw-secondary-color) 100%);opacity:0;z-index:3;transition:opacity var(--mw-duration-slower) var(--mw-ease-out)}@media (hover:hover) and (pointer:fine){.mw-coming-soon:hover{transform:translateY(-3px)}}.mw-coming-soon:hover{border-style:solid}.mw-coming-soon:hover .mw-coming-soon-icon{color:var(--mw-primary-accent-text-color);transform:rotate(27deg)}.mw-coming-soon:hover .mw-coming-soon-text{color:var(--mw-primary-accent-text-color);transform:scale(1.05)}.mw-coming-soon:hover:before{opacity:.9}@media (max-width:768px){.mw-coming-soon{min-height:150px}.mw-coming-soon-icon,.mw-coming-soon-text{font-size:1.5rem}}@media (max-width:576px){.mw-coming-soon{min-height:120px}.mw-coming-soon-icon,.mw-coming-soon-text{margin-right:1rem;letter-spacing:.35rem;font-size:1.3rem}}.mw-image-slider{position:relative;width:100%;max-width:600px;margin:.2rem auto;border-radius:10px;overflow:hidden}.mw-image-slider-base{position:relative;width:100%;height:370px}@media (max-width:768px){.mw-image-slider-base{height:320px}}@media (max-width:576px){.mw-image-slider-base{height:250px}}.mw-image-slider-base-image{width:100%;height:100%;object-fit:cover;display:block}.mw-image-slider-overlay{position:absolute;top:0;left:0;width:100%;height:370px;pointer-events:none}@media (max-width:768px){.mw-image-slider-overlay{height:320px}}@media (max-width:576px){.mw-image-slider-overlay{height:250px}}.mw-image-slider-overlay-image{position:absolute;top:0;left:0;width:100%;height:100%;transform:translateX(100%);transition:transform var(--mw-duration-slower) var(--mw-ease-in-out);z-index:10;pointer-events:auto}.mw-image-slider-overlay-image img{width:100%;height:100%;object-fit:cover;display:block}.mw-image-slider-overlay-image.active,.mw-image-slider-overlay-image.mw-active{transform:translateX(0)}.mw-image-slider-controls-grid-3{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.5rem;background:var(--mw-card-background);z-index:30;width:100%}@media (max-width:768px){.mw-image-slider-controls-grid-3{gap:.35rem;padding:.35rem}}@media (max-width:576px){.mw-image-slider-controls-grid-3{grid-template-columns:repeat(2,1fr)}}.mw-image-slider-controls-grid-2{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;padding:.5rem;background:var(--mw-card-background);z-index:30;width:100%}@media (max-width:768px){.mw-image-slider-controls-grid-2{gap:.35rem;padding:.35rem}}@media (max-width:576px){.mw-image-slider-controls-grid-2{grid-template-columns:1fr}}.mw-divider{display:block;width:100%;border:none;border-top:1px solid var(--mw-border);margin:.75rem 0}.mw-divider-thick{border-top-width:4px}.mw-divider-dashed{border-top-style:dashed}.mw-divider-primary{border-top-color:var(--mw-primary-text-color)}.mw-divider-secondary{border-top-color:var(--mw-secondary-text-color)}.mw-divider-vertical{display:inline-block;width:1px;background:var(--mw-border);margin:0 .5rem;align-self:stretch;border:none;flex-shrink:0}.mw-divider-text{display:flex;width:100%;align-items:center;gap:.5rem;margin:.35rem 0;border:none}.mw-divider-text:after,.mw-divider-text:before{content:"";flex:1;height:1px;background:var(--mw-border)}.mw-divider-text span{color:var(--mw-text-muted-color);font-size:.9rem;white-space:nowrap;-webkit-user-select:none;user-select:none}.mw-divider-text.mw-divider-primary:after,.mw-divider-text.mw-divider-primary:before{background:var(--mw-primary-color)}.mw-divider-text.mw-divider-primary span{color:var(--mw-primary-text-color)}.mw-dropdown{position:relative;display:inline-block}.mw-dropdown summary::-webkit-details-marker{display:none}.mw-dropdown>summary{list-style:none;cursor:pointer}.mw-dropdown>summary::marker{content:""}.mw-dropdown .mw-dropdown-caret{display:inline-flex;transition:transform var(--mw-duration-fast) var(--mw-ease-out)}.mw-dropdown[open] .mw-dropdown-caret{transform:rotate(180deg)}.mw-dropdown-menu{position:absolute;top:calc(100% + .35rem);left:0;z-index:30;min-width:200px;max-width:min(320px,100vw - 2 * var(--mw-container-gutter));padding:.35rem;background:var(--mw-card-background);border:1px solid var(--mw-border);border-radius:10px;box-shadow:var(--mw-elevation-4);max-height:min(60dvh,420px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--mw-text-muted-color) #0000}.mw-dropdown-menu::-webkit-scrollbar{width:8px;height:8px}.mw-dropdown-menu::-webkit-scrollbar-track{background:#0000;border-radius:4px}.mw-dropdown-menu::-webkit-scrollbar-thumb{background:var(--mw-text-muted-color);border-radius:4px}.mw-dropdown-menu::-webkit-scrollbar-thumb:hover{background:var(--mw-primary-text-color)}.mw-dropdown-menu::-webkit-scrollbar-corner{background:#0000}.mw-dropdown-menu{animation:mw-dropdown-in var(--mw-duration-fast) var(--mw-ease-out)}@keyframes mw-dropdown-in{0%{opacity:0;transform:translateY(-6px)}}.mw-dropdown-end .mw-dropdown-menu{left:auto;right:0}.mw-dropdown-up .mw-dropdown-menu{top:auto;bottom:calc(100% + .35rem);animation-name:mw-dropdown-in-up}@keyframes mw-dropdown-in-up{0%{opacity:0;transform:translateY(6px)}}.mw-dropdown-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem;border:0;border-radius:5px;background:none;color:var(--mw-text-color);font:inherit;font-size:.9rem;text-align:left;text-decoration:none;cursor:pointer;transition:var(--mw-transition-fast)}.mw-dropdown-item:focus-visible{outline:var(--mw-focus-ring-width) solid var(--mw-focus-ring-color);outline-offset:-2px}.mw-dropdown-item{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mw-dropdown-item:hover:not(:disabled){background:var(--mw-primary-background)}.mw-dropdown-item:active:not(:disabled){background:var(--mw-primary-background-hover)}.mw-dropdown-item:disabled,.mw-dropdown-item[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.mw-dropdown-item.mw-active,.mw-dropdown-item[aria-checked=true]{background:var(--mw-primary-background);color:var(--mw-primary-text-color);font-weight:500}.mw-dropdown-item [class*=fa-],.mw-dropdown-item fa-icon,.mw-dropdown-item i,.mw-dropdown-item svg{width:1.1em;flex-shrink:0;text-align:center;color:var(--mw-text-muted-color)}.mw-dropdown-item-danger{color:var(--mw-danger-text-color)}.mw-dropdown-item-danger [class*=fa-],.mw-dropdown-item-danger fa-icon,.mw-dropdown-item-danger i,.mw-dropdown-item-danger svg{color:inherit}.mw-dropdown-item-danger:hover:not(:disabled){background:var(--mw-danger-info-background)}.mw-dropdown-item-danger:active:not(:disabled){background:var(--mw-danger-info-background-hover)}.mw-dropdown-divider{height:1px;margin:.35rem .2rem;background:var(--mw-border);border:0}.mw-dropdown-label{padding:.35rem .5rem .2rem;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mw-text-muted-color)}.mw-card-body:has(.mw-dropdown[open]),.mw-card:has(.mw-dropdown[open]),.mw-modal-body:has(.mw-dropdown[open]),.mw-table-responsive:has(.mw-dropdown[open]),.mw-tile:has(.mw-dropdown[open]){overflow:visible}@media (max-width:576px),(pointer:coarse){.mw-dropdown-menu{min-width:max(100%,240px)}.mw-dropdown-item{min-height:2.75rem;font-size:1rem}}.mw-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem .75rem}.mw-empty-state-icon{font-size:3rem;color:var(--mw-text-muted-color);opacity:.6;margin-bottom:1rem;line-height:1}.mw-empty-state-title{font-size:1.5rem;font-weight:500;color:var(--mw-text-color);margin-bottom:.2rem}.mw-empty-state-desc{font-size:1rem;color:var(--mw-text-muted-color);max-width:380px;line-height:1.6;margin-bottom:1rem}.mw-empty-state-sm{padding:1.35rem .75rem}.mw-empty-state-sm .mw-empty-state-icon{font-size:2.5rem;margin-bottom:.5rem}.mw-empty-state-sm .mw-empty-state-title{font-size:1.3rem}.mw-empty-state-sm .mw-empty-state-desc{font-size:.9rem;margin-bottom:.75rem}.mw-empty-state-primary .mw-empty-state-icon{color:var(--mw-primary-text-color);opacity:.7}.mw-empty-state-success .mw-empty-state-icon{color:var(--mw-success-text-color);opacity:.7}.mw-empty-state-warning .mw-empty-state-icon{color:var(--mw-warning-text-color);opacity:.7}.mw-empty-state-danger .mw-empty-state-icon{color:var(--mw-danger-text-color);opacity:.7}.mw-gallery-container{max-width:1100px;margin:.2rem auto}.mw-gallery{position:relative;overflow:hidden;width:100%;border-radius:10px}.mw-gallery-track{display:flex;transition:transform var(--mw-duration-zoom) var(--mw-ease-in-out)}@media (prefers-reduced-motion:reduce){.mw-gallery-track{transition:none}}.mw-gallery-slide{width:100%;flex-shrink:0;aspect-ratio:16/9}.mw-gallery-slide img{width:100%;height:100%;object-fit:cover;display:block}.mw-gallery-navi{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:108px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:10px;background:#0006;color:#efefef;font-size:1.5rem;line-height:1;cursor:pointer;z-index:3;-webkit-user-select:none;user-select:none;transition:var(--mw-transition);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mw-gallery-navi:active{transform:translateY(-50%) scale(.9);transition-duration:var(--mw-duration-instant)}.mw-gallery-navi:before{content:"";position:absolute;inset:-8px;border-radius:inherit}.mw-gallery-navi:hover{background:#000000d9}.mw-gallery-navi:focus-visible{outline:var(--mw-focus-ring-width) solid var(--mw-focus-ring-color);outline-offset:var(--mw-focus-ring-offset)}.mw-gallery-navi-prev{left:.75rem}.mw-gallery-navi-next{right:.75rem}.mw-gallery-desc{text-align:left;padding:.35rem .5rem;margin-top:.35rem;background:var(--mw-card-background);border-radius:10px;border:1px solid var(--mw-border-accent)}.mw-gallery-dots{text-align:center;margin-top:1rem;display:flex;align-items:center;justify-content:center;gap:.75rem}.mw-gallery-dot{display:inline-block;width:11px;height:11px;padding:0;border:0;appearance:none;border-radius:50%;background:var(--mw-gray-color);cursor:pointer;transition:var(--mw-transition-fast);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mw-gallery-dot:focus-visible{outline:var(--mw-focus-ring-width) solid var(--mw-focus-ring-color);outline-offset:var(--mw-focus-ring-offset)}.mw-gallery-dot.mw-active{transform:scale(1.5);background:var(--mw-primary-color)}@media (max-width:768px){.mw-gallery-desc{font-size:.9rem}.mw-gallery-dot{width:10px;height:10px}.mw-gallery-dot.mw-active{transform:scale(1.4)}}@media (max-width:576px){.mw-gallery-slide{aspect-ratio:4/3}.mw-gallery-navi{width:46px;height:88px}.mw-gallery-desc{font-size:.8rem}.mw-gallery-dots{gap:.35rem;margin-top:.75rem}.mw-gallery-dot{width:9px;height:9px}.mw-gallery-dot.mw-active{transform:scale(1.3)}}.mw-info{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem 1rem;margin:.2rem;font-size:1rem;font-weight:500;color:var(--mw-text-color);background:var(--mw-card-background);border:1px solid var(--mw-border);border-radius:10px;transition:transform var(--mw-duration-base) var(--mw-ease-out),box-shadow var(--mw-duration-base) var(--mw-ease-out);cursor:default;text-decoration:none}.mw-info:hover{box-shadow:var(--mw-elevation-3)}@media (hover:hover) and (pointer:fine){.mw-info:hover{transform:translateY(-2px)}}.mw-info-clickable{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mw-info-clickable:active{transform:scale(.98);transition-duration:var(--mw-duration-instant)}.mw-info-sm{padding:.2rem .5rem;font-size:.9rem;font-weight:400}.mw-info-lg{padding:.75rem 1.35rem;font-size:1.3rem;font-weight:500}.mw-info-xl{padding:1rem 2rem;font-size:1.5rem;font-weight:500}.mw-info-counter{min-width:5.5rem}.mw-info-counter .mw-info-value{font-size:2.5rem;font-weight:700;line-height:1.4}.mw-info-counter .mw-info-label{font-size:.9rem;font-weight:500;opacity:.7;text-align:center}a.mw-info,button.mw-info{cursor:pointer}a.mw-info:focus-visible,button.mw-info:focus-visible{outline:var(--mw-focus-ring-width) solid var(--mw-focus-ring-color);outline-offset:var(--mw-focus-ring-offset)}.mw-info-mini{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--mw-gray-color);color:#efefef;border:none;padding:0;line-height:1;font-weight:700;cursor:default;box-sizing:border-box}.mw-info-mini [class*=fa-],.mw-info-mini [class*=fas-],.mw-info-mini fa-icon,.mw-info-mini i,.mw-info-mini svg{font-size:.7rem}.mw-info-mini-sm{width:16px;height:16px}.mw-info-mini-sm [class*=fa-],.mw-info-mini-sm [class*=fas-],.mw-info-mini-sm fa-icon,.mw-info-mini-sm i,.mw-info-mini-sm svg{font-size:.55rem}.mw-info-mini-lg{width:24px;height:24px}.mw-info-mini-lg [class*=fa-],.mw-info-mini-lg [class*=fas-],.mw-info-mini-lg fa-icon,.mw-info-mini-lg i,.mw-info-mini-lg svg{font-size:.8rem}.mw-info-mini-xl{width:32px;height:32px}.mw-info-mini-xl [class*=fa-],.mw-info-mini-xl [class*=fas-],.mw-info-mini-xl fa-icon,.mw-info-mini-xl i,.mw-info-mini-xl svg{font-size:1rem}.mw-info-primary{background:var(--mw-primary-info-background);border-color:var(--mw-primary-text-color);border-left:6px solid var(--mw-primary-text-color)}.mw-info-mini-primary{background:var(--mw-primary-color);color:var(--mw-primary-accent-text-color)}.mw-info-secondary{background:var(--mw-secondary-info-background);border-color:var(--mw-secondary-text-color);border-left:6px solid var(--mw-secondary-text-color)}.mw-info-mini-secondary{background:var(--mw-secondary-color);color:var(--mw-secondary-accent-text-color)}.mw-info-info{background:var(--mw-info-info-background);border-color:var(--mw-info-text-color);border-left:6px solid var(--mw-info-text-color)}.mw-info-mini-info{background:var(--mw-info-color);color:var(--mw-info-accent-text-color)}.mw-info-success{background:var(--mw-success-info-background);border-color:var(--mw-success-text-color);border-left:6px solid var(--mw-success-text-color)}.mw-info-mini-success{background:var(--mw-success-color);color:var(--mw-success-accent-text-color)}.mw-info-warning{background:var(--mw-warning-info-background);border-color:var(--mw-warning-text-color);border-left:6px solid var(--mw-warning-text-color)}.mw-info-mini-warning{background:var(--mw-warning-color);color:var(--mw-warning-accent-text-color)}.mw-info-danger{background:var(--mw-danger-info-background);border-color:var(--mw-danger-text-color);border-left:6px solid var(--mw-danger-text-color)}.mw-info-mini-danger{background:var(--mw-danger-color);color:var(--mw-danger-accent-text-color)}@keyframes mw-kanban-card-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes mw-kanban-card-moved-forward{0%{opacity:0;transform:translateX(-18px)}}@keyframes mw-kanban-card-moved-back{0%{opacity:0;transform:translateX(18px)}}.mw-kanban{--mw-kanban-background:color-mix(
9
9
  in srgb,
10
10
  var(--mw-gray-color) 40%,
11
11
  #0000
@@ -1 +1 @@
1
- !function(){"use strict";function e(e,t){e&&(e.classList.toggle("mw-active",t),t||e.classList.remove("active"))}function t(){document.querySelectorAll(".color-swatch").forEach(e=>{const t=function(e){if(!e||"transparent"===e)return"#000000";const t=e=>Math.max(0,Math.min(255,Math.round(e))).toString(16).padStart(2,"0"),n=e.match(/color\(srgb\s+([\d.]+)\s+([\d.]+)\s+([\d.]+)(?:\s*\/\s*([\d.]+))?\)/);if(n){const e="#"+t(255*n[1])+t(255*n[2])+t(255*n[3]),a=void 0===n[4]?1:parseFloat(n[4]);return(a<1?`${e} / ${a}`:e).toUpperCase()}const a=e.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*([\d.]+))?\)/);if(!a)return e;const c="#"+t(a[1])+t(a[2])+t(a[3]),o=void 0===a[4]?1:parseFloat(a[4]);return(o<1?`${c} / ${o}`:c).toUpperCase()}(window.getComputedStyle(e).backgroundColor),n=e.parentElement.querySelector(".mw-text-muted");n&&(n.textContent=t)})}function n(e){const t=Array.from(e.querySelectorAll(".mw-kanban-column")),n=e.querySelector(".mw-kanban-composer"),a=e.querySelector(".mw-kanban-card-template"),c=e.dataset.kanbanPrefix||"MW",o=n.querySelector(".mw-kanban-composer-title"),r=n.querySelector(".mw-kanban-composer-text"),s=n.querySelector(".mw-kanban-composer-priority"),l=n.querySelector(".mw-kanban-composer-assignee");let i=null;function d(){t.forEach(function(e,n){const a=e.querySelectorAll(".mw-kanban-card"),c=e.querySelector(".mw-kanban-count");c&&(c.textContent=a.length),e.querySelectorAll("[data-kanban-move]").forEach(function(e){const a=n+parseInt(e.dataset.kanbanMove,10);e.disabled=a<0||a>=t.length})})}function u(e,t){const n=e.querySelector(t);return n?n.textContent.replace(/\s+/g," ").trim():""}function m(e,t){f(),i=t||null,o.value=t?u(t,".mw-kanban-card-title"):"",r.value=t?u(t,".mw-kanban-card-text"):"",s.value=t?function(e){const t=e.querySelector(".mw-card-ribbon");if(!t)return"";const n=Array.from(t.classList).find(function(e){return 0===e.indexOf("mw-card-addon-")});return n?n.replace("mw-card-addon-",""):""}(t):"",l.value=t?function(e){const t=e.querySelector(".mw-avatar-initials");return t?t.textContent.trim():""}(t):"",t?(t.classList.add("mw-kanban-editing"),t.before(n)):e.querySelector(".mw-kanban-column-body").prepend(n),n.classList.add("mw-active"),o.focus()}function f(){n.classList.remove("mw-active"),i&&i.classList.remove("mw-kanban-editing"),i=null}function w(){const t=o.value.trim();if(!t)return void o.focus();const u=i||a.content.firstElementChild.cloneNode(!0);if(u.querySelector(".mw-kanban-card-title").textContent=t,u.querySelector(".mw-kanban-card-text").textContent=r.value.trim(),function(e,t){const n=e.querySelector(".mw-card-ribbon");if(n&&n.remove(),!t||!t.value)return;const a=document.createElement("div");a.className="mw-card-ribbon mw-card-addon-"+t.value,a.textContent=t.textContent,e.prepend(a)}(u,s.selectedOptions[0]),function(e,t){const n=e.querySelector(".mw-kanban-card-actions"),a=n.querySelector(".mw-avatar");if(!t)return void(a&&a.remove());const c=a||document.createElement("div");c.className="mw-avatar mw-avatar-xs mw-avatar-initials",c.textContent=t,a||n.prepend(c)}(u,l.value),!i){const t=function(){const t=Array.from(e.querySelectorAll(".mw-kanban-card-id")).map(function(e){return parseInt(e.textContent.split("-").pop(),10)||0});return c+"-"+(Math.max(0,...t)+1)}();u.classList.add("mw-kanban-card-in"),u.querySelector(".mw-kanban-card-id").textContent=t,u.querySelectorAll("[aria-label]").forEach(function(e){e.setAttribute("aria-label",e.getAttribute("aria-label").replace(/[A-Z]+-\d+/,t))}),n.before(u)}f(),d()}const h=["mw-kanban-card-moved-forward","mw-kanban-card-moved-back"];e.addEventListener("click",function(e){const n=e.target.closest("[data-kanban-move]");if(n){if(function(e,n){const a=e.closest(".mw-kanban-column"),c=t[t.indexOf(a)+n];c&&(c.querySelector(".mw-kanban-column-body").appendChild(e),e.classList.remove.apply(e.classList,h),e.offsetWidth,e.classList.add(n>0?h[0]:h[1]),d())}(n.closest(".mw-kanban-card"),parseInt(n.dataset.kanbanMove,10)),n.disabled){const e=n.parentElement.querySelector("[data-kanban-move]:not(:disabled)");e&&e.focus()}return}const a=e.target.closest(".mw-kanban-edit");if(a){const e=a.closest(".mw-kanban-card");return void m(e.closest(".mw-kanban-column"),e)}const c=e.target.closest(".mw-kanban-delete");if(c){const e=c.closest(".mw-kanban-card");return e===i&&f(),e.remove(),void d()}const o=e.target.closest(".mw-kanban-add");o?m(o.closest(".mw-kanban-column"),null):e.target.closest(".mw-kanban-composer-cancel")&&f()}),n.addEventListener("submit",function(e){e.preventDefault(),w()}),n.addEventListener("keydown",function(e){"Escape"===e.key&&f()}),d()}function a(e){const t=e.querySelector(".mw-calendar-grid"),n=e.querySelector(".mw-calendar-title");if(!t)return;const a="week"===e.dataset.calendar,c=function(e){if(!e)return{};try{return JSON.parse(e)}catch(e){return{}}}(e.dataset.calendarMarkers),o=e.dataset.calendarLocale||document.documentElement.lang||void 0,r=new Date;r.setHours(0,0,0,0);let s=e.dataset.calendarDate?new Date(e.dataset.calendarDate+"T00:00:00"):new Date(r),l=e.dataset.calendarSelected||"";function i(e){const t=new Date(e);return t.setDate(t.getDate()-(t.getDay()+6)%7),t}function d(e){return e.getFullYear()+"-"+String(e.getMonth()+1).padStart(2,"0")+"-"+String(e.getDate()).padStart(2,"0")}function u(){if(!a)return s.toLocaleDateString(o,{month:"long",year:"numeric"});const e=i(s),t=new Date(e);t.setDate(t.getDate()+6);const n=e.toLocaleDateString(o,{day:"numeric",month:e.getMonth()===t.getMonth()?void 0:"short"}),c=t.toLocaleDateString(o,{day:"numeric",month:"short",year:"numeric"});return"Week "+function(e){const t=i(e);t.setDate(t.getDate()+3);const n=i(new Date(t.getFullYear(),0,4));return n.setDate(n.getDate()+3),1+Math.round((t-n)/6048e5)}(e)+" · "+n+" - "+c}function m(e){const t=e.getDay();return 0===t||6===t}function f(e,t){const n=d(e),s=document.createElement("button");s.type="button",s.className="mw-calendar-day",s.tabIndex=-1,s.dataset.calendarDay=n,s.setAttribute("aria-pressed",n===l?"true":"false"),s.setAttribute("aria-label",e.toLocaleDateString(o,{weekday:"long",day:"numeric",month:"long",year:"numeric"})),m(e)&&s.classList.add("mw-calendar-weekend"),a||e.getMonth()===t||s.classList.add("mw-calendar-adjacent"),n===d(r)&&(s.classList.add("mw-calendar-today"),s.setAttribute("aria-current","date")),n===l&&s.classList.add("mw-selected");const i=document.createElement("span");i.className="mw-calendar-date",i.textContent=e.getDate(),s.appendChild(i);const u=[].concat(c[n]||[]);if(u.length){const e=document.createElement("span");e.className="mw-calendar-dots",u.forEach(function(t){const n=document.createElement("span");n.className=t?"mw-calendar-dot mw-calendar-dot-"+t:"mw-calendar-dot",e.appendChild(n)}),s.appendChild(e)}return s}function w(){const e=s.getMonth(),c=a?7:42,r=i(a?s:new Date(s.getFullYear(),e,1));t.innerHTML="",function(){const e=i(new Date);for(let n=0;n<7;n++){const n=document.createElement("div");n.className="mw-calendar-weekday",m(e)&&n.classList.add("mw-calendar-weekend"),n.setAttribute("aria-hidden","true"),n.textContent=e.toLocaleDateString(o,{weekday:"short"}),t.appendChild(n),e.setDate(e.getDate()+1)}}();for(let n=0;n<c;n++)t.appendChild(f(r,e)),r.setDate(r.getDate()+1);n&&(n.textContent=u()),function(){const e=t.querySelector(".mw-selected")||t.querySelector(".mw-calendar-today")||t.querySelector(".mw-calendar-day:not(.mw-calendar-adjacent)")||t.querySelector(".mw-calendar-day");e&&(e.tabIndex=0)}()}e.addEventListener("click",function(n){const c=n.target.closest("[data-calendar-nav]");if(c)return o=parseInt(c.dataset.calendarNav,10),a?s.setDate(s.getDate()+7*o):s=new Date(s.getFullYear(),s.getMonth()+o,1),void w();var o;const r=n.target.closest(".mw-calendar-day");var i;r&&!r.disabled&&(i=r.dataset.calendarDay,l=i===l?"":i,t.querySelectorAll(".mw-calendar-day").forEach(function(e){const t=e.dataset.calendarDay===l;e.classList.toggle("mw-selected",t),e.setAttribute("aria-pressed",t?"true":"false")}),e.dispatchEvent(new CustomEvent("mw-calendar-select",{bubbles:!0,detail:{date:l}})))}),t.addEventListener("keydown",function(e){const n={ArrowLeft:-1,ArrowRight:1,ArrowUp:-7,ArrowDown:7}[e.key];if(!n)return;const a=e.target.closest(".mw-calendar-day");if(!a)return;e.preventDefault();const c=new Date(a.dataset.calendarDay+"T00:00:00");c.setDate(c.getDate()+n),function(e){const n=d(e);let a=t.querySelector('[data-calendar-day="'+n+'"]');a||(s=new Date(e),w(),a=t.querySelector('[data-calendar-day="'+n+'"]')),a&&(t.querySelectorAll(".mw-calendar-day").forEach(function(e){e.tabIndex=-1}),a.tabIndex=0,a.focus())}(c)}),w()}document.addEventListener("DOMContentLoaded",function(){document.querySelectorAll(".mw-gallery").forEach(e=>{const t=e.closest(".mw-gallery-container")||e.parentElement;t&&function(e,t){const n=t.querySelector(".mw-gallery-track");if(!n||!n.children.length)return;const a=n.children,c=e.querySelector(".mw-gallery-dots"),o=e.querySelector(".mw-gallery-desc"),r=t.querySelector(".mw-gallery-navi-prev"),s=t.querySelector(".mw-gallery-navi-next");let l=0;function i(e){const t=a.length;l=(e+t)%t,n.style.transform=`translateX(-${100*l}%)`,c&&c.querySelectorAll(".mw-gallery-dot").forEach((e,t)=>{e.classList.toggle("mw-active",t===l)}),o&&(o.textContent=a[l].dataset.desc||"")}if(c)for(let e=0;e<a.length;e++){const t=document.createElement("button");t.type="button",t.className="mw-gallery-dot"+(0===e?" mw-active":""),t.setAttribute("aria-label","Go to slide "+(e+1)),t.addEventListener("click",()=>i(e)),c.appendChild(t)}r&&r.addEventListener("click",()=>i(l-1)),s&&s.addEventListener("click",()=>i(l+1));let d=0;n.addEventListener("touchstart",e=>d=e.touches[0].clientX),n.addEventListener("touchend",e=>{const t=e.changedTouches[0].clientX-d;t>50&&i(l-1),t<-50&&i(l+1)}),i(0)}(t,e)}),function(){const n=document.querySelector(".mw-theme-toggle");if(!n)return;const a=document.body,c=n.querySelector(".mw-theme-toggle-slider i"),o=getComputedStyle(document.documentElement).getPropertyValue("--mw-internal-theme-mode").trim()||"switchable";if("switchable"!==o)return console.log(`Theme mode fixed to: ${o}. Disabling toggle.`),c&&(c.className="light"===o?"fas fa-sun":"fas fa-moon"),e(n,"light"===o),n.style.opacity="0.4",n.style.pointerEvents="none",n.style.cursor="default",n.setAttribute("aria-disabled","true"),localStorage.removeItem("mw-theme"),void("dark"===o&&a.classList.remove("mw-theme-light"));let r="light"===localStorage.getItem("mw-theme");const s=t=>{a.classList.toggle("mw-theme-light",t),e(n,t),c&&(c.className=t?"fas fa-sun":"fas fa-moon")};s(r),n.addEventListener("click",()=>{r=!r,s(r),localStorage.setItem("mw-theme",r?"light":"dark"),setTimeout(t,400)})}(),t(),document.querySelectorAll(".mw-accordion-header").forEach(t=>{t.addEventListener("click",function(){const t=!((n=this)&&(n.classList.contains("mw-active")||n.classList.contains("active")));var n;e(this,t),e(this.nextElementSibling,t)})}),function(){const e=document.querySelector(".mw-menu-btn"),t=document.querySelector(".mw-navbar");if(!e||!t)return;function n(){e.classList.remove("open"),t.classList.remove("open")}function a(n){n.preventDefault(),n.stopPropagation(),e.classList.toggle("open"),t.classList.toggle("open")}e.addEventListener("click",a),e.addEventListener("touchstart",a,{passive:!1}),document.addEventListener("click",function(a){t.classList.contains("open")&&(t.contains(a.target)||e.contains(a.target)||n())}),document.addEventListener("keydown",function(e){"Escape"===e.key&&n()})}(),function(){const e=document.querySelectorAll(".mw-progress-fill");if(!e.length)return;const t=new IntersectionObserver((e,t)=>{e.forEach(e=>{if(!e.isIntersecting)return;const n=e.target,a=n.dataset.value||0;n.style.width=a+"%",t.unobserve(n)})},{root:null,threshold:.2});e.forEach(e=>t.observe(e))}(),document.querySelectorAll('a[href^="#"]').forEach(e=>{e.addEventListener("click",function(e){const t=this.getAttribute("href");if("#"===t)return;if(!document.querySelector(t))return;const n=document.querySelector(".mw-menu-btn"),a=document.querySelector(".mw-navbar");n&&a&&(n.classList.remove("open"),a.classList.remove("open"))})}),function(){const t=document.querySelectorAll("section[id]"),n=document.querySelectorAll(".mw-navbar-link");if(0===t.length||0===n.length)return;window.addEventListener("scroll",function(e,t){let n;return function(){const a=this,c=arguments;clearTimeout(n),n=setTimeout(()=>e.apply(a,c),t)}}(function(){let a="";t.forEach(e=>{const t=e.offsetTop-100,n=e.clientHeight;scrollY>=t&&scrollY<t+n&&(a=e.getAttribute("id"))}),n.forEach(t=>{e(t,!1);const n=t.getAttribute("href");if(n){const c=n.indexOf("#");if(-1!==c){n.substring(c+1)===a&&e(t,!0)}}})},100))}(),document.querySelectorAll(".mw-tabs-nav-item").forEach(t=>{t.addEventListener("click",function(){const t=this.closest(".mw-tabs");if(!t)return;t.querySelectorAll(".mw-tabs-nav-item").forEach(t=>{e(t,!1)}),e(this,!0);const n=this.getAttribute("data-tab");n&&(t.querySelectorAll(".mw-tabs-panel").forEach(t=>{e(t,!1)}),e(document.getElementById(n),!0))})}),document.querySelectorAll(".mw-alert-close").forEach(e=>{e.addEventListener("click",function(){const e=this.closest(".mw-alert");e&&(e.classList.add("mw-alert-closing"),setTimeout(()=>{e.classList.add("mw-alert-closed")},300))})}),function(){const e=document.querySelector(".mw-localhost-indicator-activated"),t=document.querySelector(".mw-header");if(e){if("localhost"===window.location.hostname||"127.0.0.1"===window.location.hostname||window.location.hostname.includes("192.168.")){const e=document.createElement("div");e.className="mw-localhost-indicator-pulse",t.prepend(e)}}}(),document.querySelectorAll(".mw-slider-container").forEach(e=>{const t=e.querySelector(".mw-slider"),n=e.querySelector(".mw-slider-value");if(!t||!n)return;const a=()=>{const e=Number(t.value),a=Number(t.max)||100,c=Math.round(e/a*100);t.style.setProperty("--value",c+"%"),n.classList.contains("mw-slider-numeric")?n.setAttribute("data-value",e):n.setAttribute("data-value",c)};t.addEventListener("input",a),a()}),document.querySelectorAll(".mw-modal-close").forEach(e=>{e.addEventListener("click",function(){const e=this.closest(".mw-modal-overlay");e&&e.classList.remove("mw-modal-open")})}),function(){const e=document.getElementById("login-button");e&&e.addEventListener("click",function(){const e=this.querySelector("i");e.classList.contains("fa-lock")?(e.classList.remove("fa-lock"),e.classList.add("fa-lock-open")):(e.classList.remove("fa-lock-open"),e.classList.add("fa-lock"))})}(),document.querySelectorAll(".mw-image-slider").forEach(t=>{const n=t.querySelectorAll(".mw-image-slider-overlay-image"),a=t.querySelectorAll("button[data-index]");if(!n.length||!a.length)return;let c=0;function o(){n.forEach(t=>{e(t,parseInt(t.dataset.index)===c)}),a.forEach(t=>{e(t,parseInt(t.dataset.index)===c)})}function r(e){c=e,o()}a.forEach(e=>{e.addEventListener("click",()=>{r(parseInt(e.dataset.index))})}),o()}),document.querySelectorAll(".mw-item-list-checkbox, .mw-item-list-checkbox-scroll").forEach(e=>{e.querySelectorAll("li").forEach(e=>{const t=e.querySelector('input[type="checkbox"]'),n=e.querySelector(".mw-checkbox");t&&n&&(t.checked&&e.classList.add("mw-selected"),e.addEventListener("click",function(e){e.target!==t&&e.target.closest(".mw-checkbox")!==n&&toggleCheckbox(this)}),t.addEventListener("change",function(){const e=this.closest("li");this.checked?e.classList.add("mw-selected"):e.classList.remove("mw-selected"),e.dispatchEvent(new CustomEvent("checkboxToggle",{detail:{checked:this.checked,item:e}}))}),n.addEventListener("click",function(e){setTimeout(()=>{const e=this.closest("li");this.querySelector('input[type="checkbox"]').checked?e.classList.add("mw-selected"):e.classList.remove("mw-selected")},0)}))})}),document.addEventListener("checkboxToggle",function(e){console.log("Checkbox toggled:",e.detail.checked,e.detail.item)}),document.querySelectorAll(".mw-kanban").forEach(n),document.querySelectorAll("[data-calendar]").forEach(a),function(){function e(e){document.querySelectorAll(".mw-dropdown[open]").forEach(t=>{t!==e&&t.removeAttribute("open")})}document.addEventListener("click",function(t){const n=t.target.closest(".mw-dropdown");e(n),n&&t.target.closest(".mw-dropdown-item")&&n.removeAttribute("open")}),document.addEventListener("keydown",function(e){if("Escape"!==e.key)return;const t=document.querySelector(".mw-dropdown[open]");if(!t)return;t.removeAttribute("open");const n=t.querySelector("summary");n&&n.focus()})}()}),window.toggleCheckbox=function(e){const t=e.querySelector('input[type="checkbox"]');if(!t)return;const n=t.checked;t.checked=!n,t.checked?e.classList.add("mw-selected"):e.classList.remove("mw-selected"),e.dispatchEvent(new CustomEvent("checkboxToggle",{detail:{checked:t.checked,item:e}}))}}();
1
+ !function(){"use strict";function e(e,t){e&&(e.classList.toggle("mw-active",t),t||e.classList.remove("active"))}function t(e){return!!e&&(e.classList.contains("mw-active")||e.classList.contains("active"))}function n(){document.querySelectorAll(".color-swatch").forEach(e=>{const t=function(e){if(!e||"transparent"===e)return"#000000";const t=e=>Math.max(0,Math.min(255,Math.round(e))).toString(16).padStart(2,"0"),n=e.match(/color\(srgb\s+([\d.]+)\s+([\d.]+)\s+([\d.]+)(?:\s*\/\s*([\d.]+))?\)/);if(n){const e="#"+t(255*n[1])+t(255*n[2])+t(255*n[3]),a=void 0===n[4]?1:parseFloat(n[4]);return(a<1?`${e} / ${a}`:e).toUpperCase()}const a=e.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*([\d.]+))?\)/);if(!a)return e;const c="#"+t(a[1])+t(a[2])+t(a[3]),o=void 0===a[4]?1:parseFloat(a[4]);return(o<1?`${c} / ${o}`:c).toUpperCase()}(window.getComputedStyle(e).backgroundColor),n=e.parentElement.querySelector(".mw-text-muted");n&&(n.textContent=t)})}function a(e){const t=Array.from(e.querySelectorAll(".mw-kanban-column")),n=e.querySelector(".mw-kanban-composer"),a=e.querySelector(".mw-kanban-card-template"),c=e.dataset.kanbanPrefix||"MW",o=n.querySelector(".mw-kanban-composer-title"),r=n.querySelector(".mw-kanban-composer-text"),s=n.querySelector(".mw-kanban-composer-priority"),l=n.querySelector(".mw-kanban-composer-assignee");let i=null;function d(){t.forEach(function(e,n){const a=e.querySelectorAll(".mw-kanban-card"),c=e.querySelector(".mw-kanban-count");c&&(c.textContent=a.length),e.querySelectorAll("[data-kanban-move]").forEach(function(e){const a=n+parseInt(e.dataset.kanbanMove,10);e.disabled=a<0||a>=t.length})})}function u(e,t){const n=e.querySelector(t);return n?n.textContent.replace(/\s+/g," ").trim():""}function m(e,t){f(),i=t||null,o.value=t?u(t,".mw-kanban-card-title"):"",r.value=t?u(t,".mw-kanban-card-text"):"",s.value=t?function(e){const t=e.querySelector(".mw-card-ribbon");if(!t)return"";const n=Array.from(t.classList).find(function(e){return 0===e.indexOf("mw-card-addon-")});return n?n.replace("mw-card-addon-",""):""}(t):"",l.value=t?function(e){const t=e.querySelector(".mw-avatar-initials");return t?t.textContent.trim():""}(t):"",t?(t.classList.add("mw-kanban-editing"),t.before(n)):e.querySelector(".mw-kanban-column-body").prepend(n),n.classList.add("mw-active"),o.focus()}function f(){n.classList.remove("mw-active"),i&&i.classList.remove("mw-kanban-editing"),i=null}function w(){const t=o.value.trim();if(!t)return void o.focus();const u=i||a.content.firstElementChild.cloneNode(!0);if(u.querySelector(".mw-kanban-card-title").textContent=t,u.querySelector(".mw-kanban-card-text").textContent=r.value.trim(),function(e,t){const n=e.querySelector(".mw-card-ribbon");if(n&&n.remove(),!t||!t.value)return;const a=document.createElement("div");a.className="mw-card-ribbon mw-card-addon-"+t.value,a.textContent=t.textContent,e.prepend(a)}(u,s.selectedOptions[0]),function(e,t){const n=e.querySelector(".mw-kanban-card-actions"),a=n.querySelector(".mw-avatar");if(!t)return void(a&&a.remove());const c=a||document.createElement("div");c.className="mw-avatar mw-avatar-xs mw-avatar-initials",c.textContent=t,a||n.prepend(c)}(u,l.value),!i){const t=function(){const t=Array.from(e.querySelectorAll(".mw-kanban-card-id")).map(function(e){return parseInt(e.textContent.split("-").pop(),10)||0});return c+"-"+(Math.max(0,...t)+1)}();u.classList.add("mw-kanban-card-in"),u.querySelector(".mw-kanban-card-id").textContent=t,u.querySelectorAll("[aria-label]").forEach(function(e){e.setAttribute("aria-label",e.getAttribute("aria-label").replace(/[A-Z]+-\d+/,t))}),n.before(u)}f(),d()}const h=["mw-kanban-card-moved-forward","mw-kanban-card-moved-back"];e.addEventListener("click",function(e){const n=e.target.closest("[data-kanban-move]");if(n){if(function(e,n){const a=e.closest(".mw-kanban-column"),c=t[t.indexOf(a)+n];c&&(c.querySelector(".mw-kanban-column-body").appendChild(e),e.classList.remove.apply(e.classList,h),e.offsetWidth,e.classList.add(n>0?h[0]:h[1]),d())}(n.closest(".mw-kanban-card"),parseInt(n.dataset.kanbanMove,10)),n.disabled){const e=n.parentElement.querySelector("[data-kanban-move]:not(:disabled)");e&&e.focus()}return}const a=e.target.closest(".mw-kanban-edit");if(a){const e=a.closest(".mw-kanban-card");return void m(e.closest(".mw-kanban-column"),e)}const c=e.target.closest(".mw-kanban-delete");if(c){const e=c.closest(".mw-kanban-card");return e===i&&f(),e.remove(),void d()}const o=e.target.closest(".mw-kanban-add");o?m(o.closest(".mw-kanban-column"),null):e.target.closest(".mw-kanban-composer-cancel")&&f()}),n.addEventListener("submit",function(e){e.preventDefault(),w()}),n.addEventListener("keydown",function(e){"Escape"===e.key&&f()}),d()}function c(e){const t=e.querySelector(".mw-calendar-grid"),n=e.querySelector(".mw-calendar-title");if(!t)return;const a="week"===e.dataset.calendar,c=function(e){if(!e)return{};try{return JSON.parse(e)}catch(e){return{}}}(e.dataset.calendarMarkers),o=e.dataset.calendarLocale||document.documentElement.lang||void 0,r=new Date;r.setHours(0,0,0,0);let s=e.dataset.calendarDate?new Date(e.dataset.calendarDate+"T00:00:00"):new Date(r),l=e.dataset.calendarSelected||"";function i(e){const t=new Date(e);return t.setDate(t.getDate()-(t.getDay()+6)%7),t}function d(e){return e.getFullYear()+"-"+String(e.getMonth()+1).padStart(2,"0")+"-"+String(e.getDate()).padStart(2,"0")}function u(){if(!a)return s.toLocaleDateString(o,{month:"long",year:"numeric"});const e=i(s),t=new Date(e);t.setDate(t.getDate()+6);const n=e.toLocaleDateString(o,{day:"numeric",month:e.getMonth()===t.getMonth()?void 0:"short"}),c=t.toLocaleDateString(o,{day:"numeric",month:"short",year:"numeric"});return"Week "+function(e){const t=i(e);t.setDate(t.getDate()+3);const n=i(new Date(t.getFullYear(),0,4));return n.setDate(n.getDate()+3),1+Math.round((t-n)/6048e5)}(e)+" · "+n+" - "+c}function m(e){const t=e.getDay();return 0===t||6===t}function f(e,t){const n=d(e),s=document.createElement("button");s.type="button",s.className="mw-calendar-day",s.tabIndex=-1,s.dataset.calendarDay=n,s.setAttribute("aria-pressed",n===l?"true":"false"),s.setAttribute("aria-label",e.toLocaleDateString(o,{weekday:"long",day:"numeric",month:"long",year:"numeric"})),m(e)&&s.classList.add("mw-calendar-weekend"),a||e.getMonth()===t||s.classList.add("mw-calendar-adjacent"),n===d(r)&&(s.classList.add("mw-calendar-today"),s.setAttribute("aria-current","date")),n===l&&s.classList.add("mw-selected");const i=document.createElement("span");i.className="mw-calendar-date",i.textContent=e.getDate(),s.appendChild(i);const u=[].concat(c[n]||[]);if(u.length){const e=document.createElement("span");e.className="mw-calendar-dots",u.forEach(function(t){const n=document.createElement("span");n.className=t?"mw-calendar-dot mw-calendar-dot-"+t:"mw-calendar-dot",e.appendChild(n)}),s.appendChild(e)}return s}function w(){const e=s.getMonth(),c=a?7:42,r=i(a?s:new Date(s.getFullYear(),e,1));t.innerHTML="",function(){const e=i(new Date);for(let n=0;n<7;n++){const n=document.createElement("div");n.className="mw-calendar-weekday",m(e)&&n.classList.add("mw-calendar-weekend"),n.setAttribute("aria-hidden","true"),n.textContent=e.toLocaleDateString(o,{weekday:"short"}),t.appendChild(n),e.setDate(e.getDate()+1)}}();for(let n=0;n<c;n++)t.appendChild(f(r,e)),r.setDate(r.getDate()+1);n&&(n.textContent=u()),function(){const e=t.querySelector(".mw-selected")||t.querySelector(".mw-calendar-today")||t.querySelector(".mw-calendar-day:not(.mw-calendar-adjacent)")||t.querySelector(".mw-calendar-day");e&&(e.tabIndex=0)}()}e.addEventListener("click",function(n){const c=n.target.closest("[data-calendar-nav]");if(c)return o=parseInt(c.dataset.calendarNav,10),a?s.setDate(s.getDate()+7*o):s=new Date(s.getFullYear(),s.getMonth()+o,1),void w();var o;const r=n.target.closest(".mw-calendar-day");var i;r&&!r.disabled&&(i=r.dataset.calendarDay,l=i===l?"":i,t.querySelectorAll(".mw-calendar-day").forEach(function(e){const t=e.dataset.calendarDay===l;e.classList.toggle("mw-selected",t),e.setAttribute("aria-pressed",t?"true":"false")}),e.dispatchEvent(new CustomEvent("mw-calendar-select",{bubbles:!0,detail:{date:l}})))}),t.addEventListener("keydown",function(e){const n={ArrowLeft:-1,ArrowRight:1,ArrowUp:-7,ArrowDown:7}[e.key];if(!n)return;const a=e.target.closest(".mw-calendar-day");if(!a)return;e.preventDefault();const c=new Date(a.dataset.calendarDay+"T00:00:00");c.setDate(c.getDate()+n),function(e){const n=d(e);let a=t.querySelector('[data-calendar-day="'+n+'"]');a||(s=new Date(e),w(),a=t.querySelector('[data-calendar-day="'+n+'"]')),a&&(t.querySelectorAll(".mw-calendar-day").forEach(function(e){e.tabIndex=-1}),a.tabIndex=0,a.focus())}(c)}),w()}document.addEventListener("DOMContentLoaded",function(){document.querySelectorAll(".mw-gallery").forEach(e=>{const t=e.closest(".mw-gallery-container")||e.parentElement;t&&function(e,t){const n=t.querySelector(".mw-gallery-track");if(!n||!n.children.length)return;const a=n.children,c=e.querySelector(".mw-gallery-dots"),o=e.querySelector(".mw-gallery-desc"),r=t.querySelector(".mw-gallery-navi-prev"),s=t.querySelector(".mw-gallery-navi-next");let l=0;function i(e){const t=a.length;l=(e+t)%t,n.style.transform=`translateX(-${100*l}%)`,c&&c.querySelectorAll(".mw-gallery-dot").forEach((e,t)=>{e.classList.toggle("mw-active",t===l)}),o&&(o.textContent=a[l].dataset.desc||"")}if(c)for(let e=0;e<a.length;e++){const t=document.createElement("button");t.type="button",t.className="mw-gallery-dot"+(0===e?" mw-active":""),t.setAttribute("aria-label","Go to slide "+(e+1)),t.addEventListener("click",()=>i(e)),c.appendChild(t)}r&&r.addEventListener("click",()=>i(l-1)),s&&s.addEventListener("click",()=>i(l+1));let d=0;n.addEventListener("touchstart",e=>d=e.touches[0].clientX),n.addEventListener("touchend",e=>{const t=e.changedTouches[0].clientX-d;t>50&&i(l-1),t<-50&&i(l+1)}),i(0)}(t,e)}),function(){const t=document.querySelector(".mw-theme-toggle");if(!t)return;const a=document.body,c=t.querySelector(".mw-theme-toggle-slider i"),o=getComputedStyle(document.documentElement).getPropertyValue("--mw-internal-theme-mode").trim()||"switchable";if("switchable"!==o)return console.log(`Theme mode fixed to: ${o}. Disabling toggle.`),c&&(c.className="light"===o?"fas fa-sun":"fas fa-moon"),e(t,"light"===o),t.style.opacity="0.4",t.style.pointerEvents="none",t.style.cursor="default",t.setAttribute("aria-disabled","true"),localStorage.removeItem("mw-theme"),void("dark"===o&&a.classList.remove("mw-theme-light"));let r="light"===localStorage.getItem("mw-theme");const s=n=>{a.classList.toggle("mw-theme-light",n),e(t,n),c&&(c.className=n?"fas fa-sun":"fas fa-moon")};s(r),t.addEventListener("click",()=>{r=!r,s(r),localStorage.setItem("mw-theme",r?"light":"dark"),setTimeout(n,400)})}(),n(),document.querySelectorAll(".mw-accordion-header").forEach(n=>{const a="BUTTON"===n.tagName;a&&n.setAttribute("aria-expanded",String(t(n))),n.addEventListener("click",function(){const n=!t(this);e(this,n),e(this.nextElementSibling,n),a&&this.setAttribute("aria-expanded",String(n))})}),function(){const e=document.querySelector(".mw-menu-btn"),t=document.querySelector(".mw-navbar");if(!e||!t)return;function n(){e.classList.remove("open"),t.classList.remove("open")}function a(n){n.preventDefault(),n.stopPropagation(),e.classList.toggle("open"),t.classList.toggle("open")}e.addEventListener("click",a),e.addEventListener("touchstart",a,{passive:!1}),document.addEventListener("click",function(a){t.classList.contains("open")&&(t.contains(a.target)||e.contains(a.target)||n())}),document.addEventListener("keydown",function(e){"Escape"===e.key&&n()})}(),function(){const e=document.querySelectorAll(".mw-progress-fill");if(!e.length)return;const t=new IntersectionObserver((e,t)=>{e.forEach(e=>{if(!e.isIntersecting)return;const n=e.target,a=n.dataset.value||0;n.style.width=a+"%",t.unobserve(n)})},{root:null,threshold:.2});e.forEach(e=>t.observe(e))}(),document.querySelectorAll('a[href^="#"]').forEach(e=>{e.addEventListener("click",function(e){const t=this.getAttribute("href");if("#"===t)return;if(!document.querySelector(t))return;const n=document.querySelector(".mw-menu-btn"),a=document.querySelector(".mw-navbar");n&&a&&(n.classList.remove("open"),a.classList.remove("open"))})}),function(){const t=document.querySelectorAll("section[id]"),n=document.querySelectorAll(".mw-navbar-link");if(0===t.length||0===n.length)return;window.addEventListener("scroll",function(e,t){let n;return function(){const a=this,c=arguments;clearTimeout(n),n=setTimeout(()=>e.apply(a,c),t)}}(function(){let a="";t.forEach(e=>{const t=e.offsetTop-100,n=e.clientHeight;scrollY>=t&&scrollY<t+n&&(a=e.getAttribute("id"))}),n.forEach(t=>{e(t,!1);const n=t.getAttribute("href");if(n){const c=n.indexOf("#");if(-1!==c){n.substring(c+1)===a&&e(t,!0)}}})},100))}(),document.querySelectorAll(".mw-tabs-nav-item").forEach(t=>{t.addEventListener("click",function(){const t=this.closest(".mw-tabs");if(!t)return;t.querySelectorAll(".mw-tabs-nav-item").forEach(t=>{e(t,!1)}),e(this,!0);const n=this.getAttribute("data-tab");n&&(t.querySelectorAll(".mw-tabs-panel").forEach(t=>{e(t,!1)}),e(document.getElementById(n),!0))})}),document.querySelectorAll(".mw-alert-close").forEach(e=>{e.addEventListener("click",function(){const e=this.closest(".mw-alert");e&&(e.classList.add("mw-alert-closing"),setTimeout(()=>{e.classList.add("mw-alert-closed")},300))})}),function(){const e=document.querySelector(".mw-localhost-indicator-activated"),t=document.querySelector(".mw-header");if(e){if("localhost"===window.location.hostname||"127.0.0.1"===window.location.hostname||window.location.hostname.includes("192.168.")){const e=document.createElement("div");e.className="mw-localhost-indicator-pulse",t.prepend(e)}}}(),document.querySelectorAll(".mw-slider-container").forEach(e=>{const t=e.querySelector(".mw-slider"),n=e.querySelector(".mw-slider-value");if(!t||!n)return;const a=()=>{const e=Number(t.value),a=Number(t.max)||100,c=Math.round(e/a*100);t.style.setProperty("--value",c+"%"),n.classList.contains("mw-slider-numeric")?n.setAttribute("data-value",e):n.setAttribute("data-value",c)};t.addEventListener("input",a),a()}),document.querySelectorAll(".mw-modal-close").forEach(e=>{e.addEventListener("click",function(){const e=this.closest(".mw-modal-overlay");e&&e.classList.remove("mw-modal-open")})}),function(){const e=document.getElementById("login-button");e&&e.addEventListener("click",function(){const e=this.querySelector("i");e.classList.contains("fa-lock")?(e.classList.remove("fa-lock"),e.classList.add("fa-lock-open")):(e.classList.remove("fa-lock-open"),e.classList.add("fa-lock"))})}(),document.querySelectorAll(".mw-image-slider").forEach(t=>{const n=t.querySelectorAll(".mw-image-slider-overlay-image"),a=t.querySelectorAll("button[data-index]");if(!n.length||!a.length)return;let c=0;function o(){n.forEach(t=>{e(t,parseInt(t.dataset.index)===c)}),a.forEach(t=>{e(t,parseInt(t.dataset.index)===c)})}function r(e){c=e,o()}a.forEach(e=>{e.addEventListener("click",()=>{r(parseInt(e.dataset.index))})}),o()}),document.querySelectorAll(".mw-item-list-checkbox, .mw-item-list-checkbox-scroll").forEach(e=>{e.querySelectorAll("li").forEach(e=>{const t=e.querySelector('input[type="checkbox"]'),n=e.querySelector(".mw-checkbox");t&&n&&(t.checked&&e.classList.add("mw-selected"),e.addEventListener("click",function(e){e.target!==t&&e.target.closest(".mw-checkbox")!==n&&toggleCheckbox(this)}),t.addEventListener("change",function(){const e=this.closest("li");this.checked?e.classList.add("mw-selected"):e.classList.remove("mw-selected"),e.dispatchEvent(new CustomEvent("checkboxToggle",{detail:{checked:this.checked,item:e}}))}),n.addEventListener("click",function(e){setTimeout(()=>{const e=this.closest("li");this.querySelector('input[type="checkbox"]').checked?e.classList.add("mw-selected"):e.classList.remove("mw-selected")},0)}))})}),document.addEventListener("checkboxToggle",function(e){console.log("Checkbox toggled:",e.detail.checked,e.detail.item)}),document.querySelectorAll(".mw-kanban").forEach(a),document.querySelectorAll("[data-calendar]").forEach(c),function(){function e(e){document.querySelectorAll(".mw-dropdown[open]").forEach(t=>{t!==e&&t.removeAttribute("open")})}document.addEventListener("click",function(t){const n=t.target.closest(".mw-dropdown");e(n),n&&t.target.closest(".mw-dropdown-item")&&n.removeAttribute("open")}),document.addEventListener("keydown",function(e){if("Escape"!==e.key)return;const t=document.querySelector(".mw-dropdown[open]");if(!t)return;t.removeAttribute("open");const n=t.querySelector("summary");n&&n.focus()})}()}),window.toggleCheckbox=function(e){const t=e.querySelector('input[type="checkbox"]');if(!t)return;const n=t.checked;t.checked=!n,t.checked?e.classList.add("mw-selected"):e.classList.remove("mw-selected"),e.dispatchEvent(new CustomEvent("checkboxToggle",{detail:{checked:t.checked,item:e}}))}}();
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "maverick-wave",
3
- "version": "4.11.0",
3
+ "version": "4.12.0",
4
4
  "config": {
5
- "version_short": "4.11"
5
+ "version_short": "4.12"
6
6
  },
7
7
  "description": "A lightweight, modern CSS framework for building responsive websites with elegance and speed.",
8
8
  "main": "src/js/main.js",
package/src/js/main.js CHANGED
@@ -383,10 +383,18 @@
383
383
  function initAccordions() {
384
384
  const accordionHeaders = document.querySelectorAll('.mw-accordion-header');
385
385
  accordionHeaders.forEach((header) => {
386
+ // A header written as a <button> announces whether its panel is open.
387
+ // Only when the markup says so - setting it on a <div> without a role
388
+ // would claim a state for something that is not a control.
389
+ const announces = header.tagName === 'BUTTON';
390
+ if (announces) {
391
+ header.setAttribute('aria-expanded', String(isActive(header)));
392
+ }
386
393
  header.addEventListener('click', function () {
387
394
  const open = !isActive(this);
388
395
  setActive(this, open);
389
396
  setActive(this.nextElementSibling, open);
397
+ if (announces) this.setAttribute('aria-expanded', String(open));
390
398
  });
391
399
  });
392
400
  }
@@ -7,11 +7,16 @@
7
7
 
8
8
  <div class="mw-accordion">
9
9
  <div class="mw-accordion-item">
10
- <div class="mw-accordion-header mw-active">
11
- <h3>What is MaverickWave?</h3>
10
+ <button
11
+ type="button"
12
+ class="mw-accordion-header mw-active"
13
+ aria-expanded="true"
14
+ aria-controls="mw-accordion-panel-1"
15
+ >
16
+ <span>What is MaverickWave?</span>
12
17
  <i class="fas fa-chevron-down mw-accordion-icon"></i>
13
- </div>
14
- <div class="mw-accordion-content mw-active">
18
+ </button>
19
+ <div class="mw-accordion-content mw-active" id="mw-accordion-panel-1">
15
20
  <div class="mw-accordion-content-inner">
16
21
  <p>
17
22
  MaverickWave is a lightweight, responsive CSS framework designed for
@@ -24,11 +29,16 @@
24
29
  </div>
25
30
 
26
31
  <div class="mw-accordion-item">
27
- <div class="mw-accordion-header">
28
- <h3>How do I customize MaverickWave?</h3>
32
+ <button
33
+ type="button"
34
+ class="mw-accordion-header"
35
+ aria-expanded="false"
36
+ aria-controls="mw-accordion-panel-2"
37
+ >
38
+ <span>How do I customize MaverickWave?</span>
29
39
  <i class="fas fa-chevron-down mw-accordion-icon"></i>
30
- </div>
31
- <div class="mw-accordion-content">
40
+ </button>
41
+ <div class="mw-accordion-content" id="mw-accordion-panel-2">
32
42
  <div class="mw-accordion-content-inner">
33
43
  <p>
34
44
  MaverickWave offers two main ways to customize its appearance to match
@@ -95,11 +105,16 @@
95
105
  </div>
96
106
 
97
107
  <div class="mw-accordion-item">
98
- <div class="mw-accordion-header">
99
- <h3>Is MaverickWave responsive?</h3>
108
+ <button
109
+ type="button"
110
+ class="mw-accordion-header"
111
+ aria-expanded="false"
112
+ aria-controls="mw-accordion-panel-3"
113
+ >
114
+ <span>Is MaverickWave responsive?</span>
100
115
  <i class="fas fa-chevron-down mw-accordion-icon"></i>
101
- </div>
102
- <div class="mw-accordion-content">
116
+ </button>
117
+ <div class="mw-accordion-content" id="mw-accordion-panel-3">
103
118
  <div class="mw-accordion-content-inner">
104
119
  <p>
105
120
  Yes, MaverickWave CSS framework is fully responsive and works on all
@@ -112,11 +127,16 @@
112
127
  </div>
113
128
 
114
129
  <div class="mw-accordion-item">
115
- <div class="mw-accordion-header">
116
- <h3>Scrollable Content Example</h3>
130
+ <button
131
+ type="button"
132
+ class="mw-accordion-header"
133
+ aria-expanded="false"
134
+ aria-controls="mw-accordion-panel-4"
135
+ >
136
+ <span>Scrollable Content Example</span>
117
137
  <i class="fas fa-chevron-down mw-accordion-icon"></i>
118
- </div>
119
- <div class="mw-accordion-content">
138
+ </button>
139
+ <div class="mw-accordion-content" id="mw-accordion-panel-4">
120
140
  <div class="mw-accordion-content-inner">
121
141
  <p>
122
142
  This accordion panel demonstrates scrollable content when the content
@@ -1,3 +1,4 @@
1
+ @use 'sass:list';
1
2
  @use 'sass:map';
2
3
  @use 'variables' as v;
3
4
 
@@ -35,3 +36,20 @@
35
36
  @function z-index($key) {
36
37
  @return map.get(v.$z-index, $key);
37
38
  }
39
+
40
+ // The value behind --mw-transition and --mw-transition-fast. A shorthand list
41
+ // carries duration and easing per entry, not once for the whole list: written
42
+ // as `color, background-color, transform 300ms ease` only transform animates
43
+ // and the two before it fall back to 0s. So the duration is appended to every
44
+ // property here instead of to the tail of the list.
45
+ @function transition-list($duration) {
46
+ $result: ();
47
+ @each $property in v.$transition-properties {
48
+ $result: list.append(
49
+ $result,
50
+ #{$property} var(#{$duration}) var(--mw-ease-out),
51
+ comma
52
+ );
53
+ }
54
+ @return $result;
55
+ }
@@ -50,12 +50,12 @@ $_active-prefix: 'dark';
50
50
 
51
51
  // The workhorse: every hover, focus and active state in the framework. An
52
52
  // explicit property list rather than `all` - see $transition-properties.
53
- --mw-transition: #{$transition-properties} var(--mw-duration-base)
54
- var(--mw-ease-out);
53
+ // Built through transition-list(), which repeats the duration on every
54
+ // property: a shorthand list only reads it on the entry it stands behind.
55
+ --mw-transition: #{transition-list('--mw-duration-base')};
55
56
  // Same list, for a state change that should feel instant under the pointer
56
57
  // rather than animated - a button label, a tag, a table row.
57
- --mw-transition-fast: #{$transition-properties} var(--mw-duration-fast)
58
- var(--mw-ease-out);
58
+ --mw-transition-fast: #{transition-list('--mw-duration-fast')};
59
59
 
60
60
  // Control sizes - see the note in the variables file. Custom properties
61
61
  // rather than compile-time only, so an application can tighten its forms
@@ -11,8 +11,7 @@
11
11
  html {
12
12
  scroll-behavior: smooth;
13
13
  min-width: 320px;
14
- // Keeps anchor targets clear of the fixed header, plus a bit of breathing room
15
- scroll-padding-top: calc(var(--mw-header-height) + #{spacing('4')});
14
+ scroll-padding-top: var(--mw-header-height);
16
15
  -webkit-text-size-adjust: 100%;
17
16
  text-size-adjust: 100%;
18
17
  @include scrollbar(var(--mw-border), transparent);
@@ -95,12 +94,6 @@ canvas {
95
94
  max-width: 100%;
96
95
  }
97
96
 
98
- // Anchored headings clear the fixed bar the same way html's scroll-padding does,
99
- // for the case where a script scrolls an element into view itself.
100
- :target {
101
- scroll-margin-top: calc(var(--mw-header-height) + #{spacing('4')});
102
- }
103
-
104
97
  table {
105
98
  border-collapse: collapse;
106
99
  width: 100%;
@@ -14,7 +14,29 @@
14
14
  }
15
15
  }
16
16
 
17
+ // Written for a <button>. The header is the control that opens the panel, and
18
+ // as a <div> it is not focusable and not reachable by keyboard - on a page of
19
+ // questions that is every answer on it. The declarations below clear what
20
+ // comes with a <button>; on a <div> they change nothing, so old markup keeps
21
+ // working.
17
22
  &-header {
23
+ appearance: none;
24
+ border: none;
25
+ width: 100%;
26
+ font: inherit;
27
+ color: inherit;
28
+ text-align: left;
29
+
30
+ // A heading is flow content and not allowed inside a button, so the
31
+ // question carries its own type here rather than through a nested h3. The
32
+ // h3 rule further down keeps older markup looking the same.
33
+ font-size: font-size('md');
34
+ font-weight: font-weight('medium');
35
+
36
+ @include media-down('sm') {
37
+ font-size: font-size('sm');
38
+ }
39
+
18
40
  padding: spacing('4');
19
41
  background: var(--mw-card-background);
20
42
  cursor: pointer;
@@ -37,14 +59,12 @@
37
59
  background: var(--mw-primary-background-hover);
38
60
  }
39
61
 
62
+ // Markup from before the button: the header carries the type now, the
63
+ // heading only has to stop bringing its own.
40
64
  h3 {
41
65
  margin: spacing('0');
42
- font-size: font-size('md');
43
- font-weight: font-weight('medium');
44
-
45
- @include media-down('sm') {
46
- font-size: font-size('sm');
47
- }
66
+ font-size: inherit;
67
+ font-weight: inherit;
48
68
  }
49
69
 
50
70
  .mw-accordion-icon {