@tundralibs/ui 0.6.0 → 0.7.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.
- package/README.md +2 -2
- package/dist/ui.css +1 -1
- package/dist/ui.js +9 -9
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -16,8 +16,8 @@ that plug straight into `Application.initialize`.
|
|
|
16
16
|
<!-- x-release-please-start-version -->
|
|
17
17
|
|
|
18
18
|
```html
|
|
19
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tundralibs/ui@0.
|
|
20
|
-
<script src="https://cdn.jsdelivr.net/npm/@tundralibs/ui@0.
|
|
19
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tundralibs/ui@0.7.0/dist/ui.css">
|
|
20
|
+
<script src="https://cdn.jsdelivr.net/npm/@tundralibs/ui@0.7.0/dist/ui.js" defer></script>
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
<!-- x-release-please-end -->
|
package/dist/ui.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! @tundralibs/ui — MIT — https://github.com/TundraSoft/ui */
|
|
2
|
-
@layer tokens,reset,base,layouts,components;@layer tokens{:root{--color-primary: #1a1917;--color-primary-strong: #000000;--color-primary-contrast: #fdfcfb;--color-accent: #a8521f;--color-accent-strong: #8e4419;--color-accent-contrast: #fffdfb;--color-accent-inverse: #e8a87c;--color-secondary: #6e6a64;--color-secondary-strong: #4a4742;--color-secondary-contrast: #fdfcfb;--color-success: #1f7a4d;--color-success-contrast: #fffdfb;--color-warning: #9a6200;--color-warning-contrast: #fffdfb;--color-danger: #b8342a;--color-danger-contrast: #fffdfb;--color-info: #1f6a84;--color-info-contrast: #fffdfb;--color-success-soft: #e4f2e9;--color-success-soft-text: #14543a;--color-warning-soft: #fbf0da;--color-warning-soft-text: #6e4600;--color-danger-soft: #fae7e4;--color-danger-soft-text: #7d2620;--color-info-soft: #e2eff4;--color-info-soft-text: #114a5e;--color-canvas: #faf9f7;--color-surface: #ffffff;--color-surface-alt: #faf9f7;--color-surface-sunken: #f4f2ef;--color-surface-inverse: #1a1917;--color-overlay: rgb(26 25 23 / .45);--color-border-subtle: #f0ede9;--color-border: #e6e3df;--color-border-strong: #d3cfc9;--color-border-control: #8a8580;--color-media-scrim: rgb(0 0 0 / .6);--color-on-media: #ffffff;--color-text: #1a1917;--color-text-muted: #6e6a64;--color-text-subtle: #77726b;--color-text-inverse: #fdfcfb;--color-disabled: #f4f2ef;--color-disabled-text: #6e6a64;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem;--space-10: 4rem;--space-12: 5rem;--space-16: 6rem;--radius-sm: 5px;--radius-md: 9px;--radius-lg: 14px;--radius-full: 9999px;--shadow-color: 26 25 23;--shadow-sm: 0 1px 2px rgb(var(--shadow-color) / .05);--shadow-md: 0 1px 2px rgb(var(--shadow-color) / .04), 0 6px 16px -4px rgb(var(--shadow-color) / .1);--shadow-lg: 0 2px 4px rgb(var(--shadow-color) / .04), 0 16px 32px -8px rgb(var(--shadow-color) / .14);--shadow-xl: 0 4px 8px rgb(var(--shadow-color) / .05), 0 28px 64px -12px rgb(var(--shadow-color) / .22);--shadow-inset-top: inset 0 1px 0 rgb(255 255 255 / .12);--font-family-base: "Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-family-display: var(--font-family-base);--font-family-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-size-2xs: .6875rem;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .9375rem;--font-size-lg: 1.0625rem;--font-size-xl: 1.1875rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--letter-spacing-tight: -.015em;--letter-spacing-tighter: -.025em;--letter-spacing-caps: .07em;--line-height-tight: 1.25;--line-height-base: 1.5;--line-height-relaxed: 1.75;--border-width: 1px;--border-width-thick: 2px;--control-height-sm: 30px;--control-height-md: 36px;--control-height-lg: 44px;--ring-color: var(--color-accent, var(--color-primary));--ring-width: 2px;--ring-offset: 2px;--focus-ring-color: var(--ring-color);--focus-ring-width: var(--ring-width);--focus-ring-offset: var(--ring-offset);--container-max-width: 1200px;--scroll-padding-top: 4.5rem;--layout-max-width: 1400px;--layout-measure: 70ch;--layout-focus-width: 40rem;--layout-sidebar-width: 16rem;--layout-rail-width: 4.5rem;--layout-aside-width: 18rem;--layout-pane-width: 22rem;--layout-gutter: clamp(var(--space-4), 3vw, var(--space-8));--transition-fast: .12s ease;--transition-base: .2s ease;--transition-slow: .32s ease;--z-dropdown: 1000;--z-sticky: 1020;--z-overlay: 1030;--z-modal: 1040;--z-popover: 1050;--z-toast: 1060}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-primary: #f2efe9;--color-primary-strong: #ffffff;--color-primary-contrast: #14130f;--color-accent: #e8a87c;--color-accent-strong: #f0bd9b;--color-accent-contrast: #1c1b17;--color-accent-inverse: #a8521f;--color-secondary: #8b857c;--color-secondary-strong: #a9a29a;--color-secondary-contrast: #14130f;--color-border-control: #6b665f;--color-canvas: #14130f;--color-surface: #1c1b17;--color-surface-alt: #232118;--color-surface-sunken: #232118;--color-surface-inverse: #f2efe9;--color-overlay: rgb(0 0 0 / .6);--color-border-subtle: #232118;--color-border: #2a2823;--color-border-strong: #3a3730;--color-text: #f2efe9;--color-text-muted: #a9a29a;--color-text-subtle: #969088;--color-text-inverse: #14130f;--color-disabled: #232118;--color-disabled-text: #969088;--color-success: #4eae76;--color-success-contrast: #1c1b17;--color-warning: #c99a3e;--color-warning-contrast: #1c1b17;--color-danger: #d1655a;--color-danger-contrast: #1c1b17;--color-info: #5aa2c4;--color-info-contrast: #1c1b17;--color-success-soft: #16321f;--color-success-soft-text: #8fd4a8;--color-warning-soft: #33260d;--color-warning-soft-text: #e5bf78;--color-danger-soft: #351a16;--color-danger-soft-text: #f0a49b;--color-info-soft: #122a33;--color-info-soft-text: #8fc6d8;--shadow-color: 0 0 0;--shadow-inset-top: inset 0 1px 0 rgb(255 255 255 / .06)}}:root[data-theme=dark]{--color-primary: #f2efe9;--color-primary-strong: #ffffff;--color-primary-contrast: #14130f;--color-accent: #e8a87c;--color-accent-strong: #f0bd9b;--color-accent-contrast: #1c1b17;--color-accent-inverse: #a8521f;--color-secondary: #8b857c;--color-secondary-strong: #a9a29a;--color-secondary-contrast: #14130f;--color-border-control: #6b665f;--color-canvas: #14130f;--color-surface: #1c1b17;--color-surface-alt: #232118;--color-surface-sunken: #232118;--color-surface-inverse: #f2efe9;--color-overlay: rgb(0 0 0 / .6);--color-border-subtle: #232118;--color-border: #2a2823;--color-border-strong: #3a3730;--color-text: #f2efe9;--color-text-muted: #a9a29a;--color-text-subtle: #969088;--color-text-inverse: #14130f;--color-disabled: #232118;--color-disabled-text: #969088;--color-success: #4eae76;--color-success-contrast: #1c1b17;--color-warning: #c99a3e;--color-warning-contrast: #1c1b17;--color-danger: #d1655a;--color-danger-contrast: #1c1b17;--color-info: #5aa2c4;--color-info-contrast: #1c1b17;--color-success-soft: #16321f;--color-success-soft-text: #8fd4a8;--color-warning-soft: #33260d;--color-warning-soft-text: #e5bf78;--color-danger-soft: #351a16;--color-danger-soft-text: #f0a49b;--color-info-soft: #122a33;--color-info-soft-text: #8fc6d8;--shadow-color: 0 0 0;--shadow-inset-top: inset 0 1px 0 rgb(255 255 255 / .06)}}@layer reset{*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;font-family:var(--font-family-base);line-height:var(--line-height-base);scroll-padding-top:var(--scroll-padding-top)}html:focus-within{scroll-behavior:smooth}body{min-height:100vh;font-size:var(--font-size-base);color:var(--color-text);background:var(--color-canvas)}ul[class],ol[class]{list-style:none;padding:0}img,picture,svg,video{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none}a{color:inherit;text-decoration:none}table{border-collapse:collapse}fieldset{border:none;padding:0;margin:0;min-width:0}legend{padding:0}hr{border:none;border-top:var(--border-width) solid var(--color-border)}dialog{border:none;padding:0;background:none;color:inherit;max-width:min(100%,calc(100vw - 2 * var(--space-4)));max-height:min(100%,calc(100vh - 2 * var(--space-4)));margin:auto}dialog::backdrop{background:var(--color-overlay)}[hidden]{display:none!important}:disabled,[aria-disabled=true]{cursor:not-allowed}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.spinner,.btn--loading:after{animation-duration:1.5s!important;animation-iteration-count:infinite!important}}}@layer base{.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{width:100%;max-width:var(--container-max-width);margin-inline:auto;padding-inline:var(--space-4)}.skip-link{position:absolute;top:-3rem;left:0;z-index:var(--z-toast);background:var(--color-primary);color:var(--color-primary-contrast);padding:var(--space-2) var(--space-4);border-radius:0 0 var(--radius-sm) 0;transition:top var(--transition-fast)}.skip-link:focus{top:0}.js-only{display:none}.js .js-only{display:inline-flex}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}@media screen and (max-width:575px){.hide-sm{display:none!important}}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.stack--sm{gap:var(--space-3)}.stack--lg{gap:var(--space-6)}}@layer base{h1,h2,h3,h4,h5,h6{font-family:var(--font-family-display);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--color-text);text-wrap:pretty}h1{font-size:var(--font-size-4xl);letter-spacing:var(--letter-spacing-tighter);line-height:1.05}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}:where(h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote,pre,table,hr):not([class]){margin-block:0 var(--space-3)}:where(h1,h2,h3,h4):not([class]){margin-block:var(--space-6) var(--space-3)}:where(h1):not([class]){margin-block-end:var(--space-4)}:where(h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote,pre,table,hr):not([class]):first-child{margin-block-start:0}:where(h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote,pre,table,hr):not([class]):last-child{margin-block-end:0}small,.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.text-2xs{font-size:var(--font-size-2xs)}.text-muted{color:var(--color-text-muted)}.text-subtle{color:var(--color-text-subtle)}.text-mono{font-family:var(--font-family-mono)}.text-caps{font-family:var(--font-family-mono);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-subtle)}.text-nums{font-variant-numeric:tabular-nums}a:not([class]){color:var(--color-accent, var(--color-primary));text-decoration:underline;text-underline-offset:.2em}a:not([class]):hover{color:var(--color-accent-strong, var(--color-primary-strong))}a:not([class]):focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.link{color:var(--color-accent, var(--color-primary));text-decoration:none;cursor:pointer}.link:hover{text-decoration:underline;text-underline-offset:.2em}.link:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.text-medium{font-weight:var(--font-weight-medium)}.text-semibold{font-weight:var(--font-weight-semibold)}.text-bold{font-weight:var(--font-weight-bold)}}@layer layouts{.layout{display:flex;flex-direction:column;min-height:100vh;background:var(--color-canvas)}.layout__header{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;background:var(--color-surface)}.layout__header>.navbar{flex:1 1 auto;min-width:0;position:static}.layout--static-header .layout__header{position:static}.layout__body{display:flex;flex:1 1 auto;min-height:0}.layout__content{flex:1 1 auto;min-width:0;padding:var(--layout-gutter)}.layout__footer{padding:var(--space-6) var(--layout-gutter);border-top:var(--border-width) solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-sm)}.layout--boxed .layout__content,.layout--boxed .layout__footer{width:100%;max-width:var(--layout-max-width);margin-inline:auto}.layout__backdrop{display:none}@media screen and (max-width:991px){.js .sidebar.is-open~.layout__backdrop{display:block;position:fixed;inset:0;z-index:calc(var(--z-overlay) - 1);background:var(--color-overlay)}}.layout__drawer-toggle{margin-inline-start:var(--space-3)}}@layer layouts{.layout--stacked .layout__content{display:flex;flex-direction:column;gap:var(--space-6)}@media screen and (min-width:1400px){.layout--stacked:not(.layout--boxed) .layout__content{padding-inline:max(var(--layout-gutter),calc((100% - var(--layout-max-width)) / 2))}}}@layer layouts{.layout--sidebar .layout__body>.sidebar{width:var(--layout-sidebar-width)}.layout--sidebar-end .layout__body{flex-direction:row-reverse}.layout__aside{flex:0 0 var(--layout-aside-width);padding:var(--layout-gutter);padding-inline-start:0}@media screen and (max-width:1199px){.layout--sidebar .layout__body{flex-wrap:wrap}.layout__aside{flex:1 1 100%;padding-inline-start:var(--layout-gutter);padding-top:0}}@media screen and (min-width:992px){.layout--sidebar .layout__body>.sidebar{position:sticky;top:var(--scroll-padding-top);align-self:flex-start;height:calc(100vh - var(--scroll-padding-top))}.layout--static-header .layout__body>.sidebar{top:0;height:100vh}}}@layer layouts{.layout--rail .layout__body{flex-direction:row}.layout__rail{flex:0 0 var(--layout-rail-width);position:sticky;top:0;align-self:flex-start;height:100vh;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding-block:var(--space-3);background:var(--color-surface);border-inline-end:var(--border-width) solid var(--color-border)}.layout--rail .layout__header~.layout__body .layout__rail{top:var(--scroll-padding-top);height:calc(100vh - var(--scroll-padding-top))}.layout__rail-brand{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-bottom:var(--space-2);border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-primary-contrast);font-weight:var(--font-weight-bold)}.layout__rail-link{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);color:var(--color-text-subtle)}.layout__rail-link:hover{color:var(--color-text);background:var(--color-surface-sunken)}.layout__rail-link[aria-current=page]{background:var(--color-surface-sunken);color:var(--color-primary)}.layout__rail-link:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.layout__rail-end{margin-top:auto}@media screen and (max-width:767px){.layout--rail .layout__body{flex-direction:column}.layout__rail{position:fixed;inset-inline:0;bottom:0;top:auto;height:auto;flex-direction:row;justify-content:space-around;padding:var(--space-2) var(--space-3);border-inline-end:none;border-top:var(--border-width) solid var(--color-border);z-index:var(--z-sticky)}.layout__rail-brand,.layout__rail-end{display:none}.layout__rail-link{width:44px;height:44px}.layout--rail .layout__content{padding-bottom:calc(var(--layout-gutter) + 60px)}}}@layer layouts{.layout--split .layout__body{flex-direction:row}.layout__pane{flex:0 0 var(--layout-pane-width);min-width:0;border-inline-end:var(--border-width) solid var(--color-border);background:var(--color-surface);overflow-y:auto}.layout--split .layout__content{flex:1 1 auto;overflow-y:auto}@media screen and (min-width:768px){.layout--split .layout__body{height:calc(100vh - var(--scroll-padding-top));position:sticky;top:var(--scroll-padding-top)}.layout--split.layout--static-header .layout__body,.layout--split:not(:has(.layout__header)) .layout__body{height:100vh;top:0}}@media screen and (min-width:768px)and (max-width:991px){.layout__pane{flex-basis:min(var(--layout-pane-width),40%)}}@media screen and (max-width:767px){.layout__pane{flex:1 1 100%;border-inline-end:none}.layout--split .layout__content,.layout--show-detail .layout__pane{display:none}.layout--show-detail .layout__content{display:block}}}@layer layouts{.layout--article .layout__content{display:grid;grid-template-columns:minmax(0,var(--layout-measure));justify-content:center;gap:var(--space-8)}.layout--article-wide .layout__content{grid-template-columns:minmax(0,var(--layout-max-width))}.layout__article{min-width:0}.layout--article .layout__aside{flex:none;padding:0}@media screen and (min-width:992px){.layout--article.layout--has-aside .layout__content{grid-template-columns:minmax(0,var(--layout-measure)) var(--layout-aside-width)}.layout--article-wide.layout--has-aside .layout__content{grid-template-columns:minmax(0,1fr) var(--layout-aside-width);max-width:var(--layout-max-width);margin-inline:auto}.layout--aside-start .layout__content{direction:rtl}.layout--aside-start .layout__content>*{direction:ltr}.layout--article .layout__aside{position:sticky;top:calc(var(--scroll-padding-top) + var(--space-4));align-self:start}}.layout--article .layout__footer{text-align:center}}@layer layouts{.layout--docs .layout__body>.sidebar{width:var(--layout-sidebar-width)}.layout--docs .layout__content{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-6);max-width:calc(var(--layout-measure) + var(--layout-aside-width) + var(--space-8))}.layout__toc-toggle{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--control-height-md);padding-inline:var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer}.layout__toc-toggle:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.layout__toc-title{font-family:var(--font-family-mono);font-size:var(--font-size-2xs);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-subtle);margin-bottom:var(--space-2)}@media screen and (max-width:1199px){.layout__toc{order:-1}.js .layout__toc-body{display:none;padding:var(--space-3) 0 0}.js .layout__toc-body.is-open{display:block}.layout__toc-title{display:none}}@media screen and (min-width:992px){.layout--docs .layout__body>.sidebar{position:sticky;top:var(--scroll-padding-top);align-self:flex-start;height:calc(100vh - var(--scroll-padding-top))}}@media screen and (min-width:1200px){.layout--docs .layout__content{grid-template-columns:minmax(0,var(--layout-measure)) var(--layout-aside-width)}.layout__toc{position:sticky;top:calc(var(--scroll-padding-top) + var(--space-4));align-self:start}.layout__toc-toggle{display:none}}}@layer layouts{.layout--auth{display:flex;align-items:center;justify-content:center;padding:var(--layout-gutter)}.layout__auth-panel{width:100%;max-width:24rem}.layout__auth-brand{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-6);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.layout__auth-narrative{display:none}@media screen and (min-width:992px){.layout--auth-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;padding:0}.layout--auth-split .layout__auth-narrative{display:flex;flex-direction:column;justify-content:center;gap:var(--space-6);padding:var(--space-10) var(--space-8);background:var(--color-surface-inverse);color:var(--color-text-inverse)}.layout--auth-split .layout__auth-form{display:flex;align-items:center;justify-content:center;padding:var(--space-10) var(--space-8)}}@media screen and (min-width:1400px){.layout--auth-split .layout__auth-narrative>*{max-width:32rem;margin-inline:auto;width:100%}}}@layer layouts{.layout--focus .layout__header{justify-content:center;padding:var(--space-4) var(--layout-gutter);background:transparent}.layout--focus .layout__content{width:100%;max-width:var(--layout-focus-width);margin-inline:auto;padding-block:var(--space-8)}.layout--focus-wide .layout__content{max-width:var(--layout-measure)}.layout--focus .layout__footer{border-top:none;text-align:center}}@layer components{.card{position:relative;display:flex;flex-direction:column;background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md)}.card--elevated{border-color:transparent;box-shadow:var(--shadow-md)}.card--flat{border-color:transparent;background:var(--color-surface-alt)}.card--horizontal{flex-direction:row}.card--horizontal>.card__media{flex:0 0 35%;aspect-ratio:auto;align-self:stretch}.card--horizontal>.card__content{min-width:0}.card--clickable{cursor:pointer;text-align:inherit;transition:box-shadow var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.card--clickable:hover,.card--clickable:focus-within{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card--clickable:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.card--selected{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.card__content{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.card__media{position:relative;overflow:hidden;aspect-ratio:16 / 9;background:var(--color-surface-alt)}.card__media>img,.card__media>video,.card__media>svg{display:block;width:100%;height:100%;object-fit:cover}.card__media:first-child{border-start-start-radius:inherit;border-start-end-radius:inherit}.card--horizontal>.card__media:first-child{border-start-end-radius:0;border-end-start-radius:inherit}.card__media--square{aspect-ratio:1 / 1}.card__media--tall{aspect-ratio:3 / 4}.card__media--banner{aspect-ratio:21 / 9}.card__media-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:var(--space-4);background:linear-gradient(to top,var(--color-media-scrim),transparent);color:var(--color-on-media)}.card__header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:var(--border-width) solid var(--color-border)}.card__avatar{flex:0 0 auto;width:2.5rem;height:2.5rem;border-radius:var(--radius-full);overflow:hidden}.card__avatar>img{width:100%;height:100%;object-fit:cover}.card__heading{flex:1 1 auto;min-width:0}.card__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.card__title-link{color:inherit;text-decoration:none}.card__title-link:after{content:"";position:absolute;inset:0;z-index:1}.card__title-link:hover,.card__title-link:focus-visible{text-decoration:underline}.card__stretch-link{position:absolute;inset:0;z-index:1}.card__subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted)}.card__actions{position:relative;z-index:2;display:flex;align-items:center;gap:var(--space-2);margin-inline-start:auto}.card__body{padding:var(--space-4);flex:1 1 auto;color:var(--color-text);font-size:var(--font-size-base)}.card__body>:not(:last-child){margin-bottom:var(--space-3)}.card__footer{position:relative;z-index:2;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4);border-top:var(--border-width) solid var(--color-border);justify-content:flex-end}.card__footer--split{justify-content:space-between}.card__meta{font-size:var(--font-size-sm);color:var(--color-text-muted)}.card--danger{border-color:var(--color-danger-soft-text)}}@layer components{.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-height-md);padding-inline:var(--space-4);border:var(--border-width) solid var(--color-primary);border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1;white-space:nowrap;flex-shrink:0;background:var(--color-primary);color:var(--color-primary-contrast);box-shadow:var(--shadow-inset-top),var(--shadow-sm);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.btn:hover{background:var(--color-primary-strong);border-color:var(--color-primary-strong)}.btn:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.btn:disabled,.btn[aria-disabled=true]{background:var(--color-disabled);border-color:transparent;color:var(--color-disabled-text);box-shadow:none;cursor:not-allowed}.btn--secondary{background:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-secondary-contrast)}.btn--secondary:hover{background:var(--color-secondary-strong, var(--color-secondary));border-color:var(--color-secondary-strong, var(--color-secondary))}.btn--outline{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text);box-shadow:var(--shadow-sm)}.btn--outline:hover{background:var(--color-surface-alt);border-color:var(--color-border-strong)}.btn--subtle{background:var(--color-surface-sunken);border-color:transparent;color:var(--color-text);box-shadow:none}.btn--subtle:hover{background:var(--color-border);border-color:transparent}.btn--ghost{background:transparent;border-color:transparent;color:var(--color-text-muted);box-shadow:none}.btn--ghost:hover{background:var(--color-surface-sunken);border-color:transparent;color:var(--color-text)}.btn--accent{background:var(--color-accent, var(--color-primary));border-color:var(--color-accent, var(--color-primary));color:var(--color-accent-contrast, var(--color-primary-contrast))}.btn--accent:hover{background:var(--color-accent-strong, var(--color-primary-strong));border-color:var(--color-accent-strong, var(--color-primary-strong))}.btn--danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-danger-contrast)}.btn--danger:hover{filter:brightness(.92)}.btn--sm{height:var(--control-height-sm);padding-inline:var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.btn--lg{height:var(--control-height-lg);padding-inline:var(--space-5);font-size:var(--font-size-base)}.btn--icon{width:var(--control-height-md);padding-inline:0}.btn--sm.btn--icon{width:var(--control-height-sm)}.btn--lg.btn--icon{width:var(--control-height-lg)}.btn--block{display:flex;width:100%}.btn--loading{position:relative;color:transparent;pointer-events:none}.btn--loading:after{content:"";position:absolute;width:1em;height:1em;border:var(--border-width-thick) solid var(--btn-loading-color, var(--color-primary-contrast));border-inline-end-color:transparent;border-radius:var(--radius-full);animation:btn-spin .6s linear infinite}.btn--outline,.btn--subtle,.btn--ghost{--btn-loading-color: var(--color-text)}.btn--secondary{--btn-loading-color: var(--color-secondary-contrast)}.btn--accent{--btn-loading-color: var(--color-accent-contrast)}.btn--danger{--btn-loading-color: var(--color-danger-contrast)}.btn-group{display:inline-flex;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.btn-group>.btn{box-shadow:none;border-radius:0}.btn-group>.btn:first-child{border-start-start-radius:var(--radius-md);border-end-start-radius:var(--radius-md)}.btn-group>.btn:last-child{border-start-end-radius:var(--radius-md);border-end-end-radius:var(--radius-md)}.btn-group>.btn+.btn{margin-inline-start:calc(var(--border-width) * -1)}.btn-group>.btn:focus-visible,.btn-group>.dropdown>.btn:focus-visible{position:relative;z-index:1}.btn-group>.dropdown>.btn{box-shadow:none;border-radius:0}.btn-group>.dropdown:last-child>.btn{border-start-end-radius:var(--radius-md);border-end-end-radius:var(--radius-md)}.btn-group>.btn+.dropdown{margin-inline-start:calc(var(--border-width) * -1)}@keyframes btn-spin{to{transform:rotate(360deg)}}}@layer components{.switch{display:inline-flex;align-items:flex-start;gap:var(--space-3);cursor:pointer}.switch__input{position:absolute;opacity:0;width:1px;height:1px}.switch__track{position:relative;flex:0 0 auto;width:38px;height:22px;margin-top:1px;background:var(--color-border-strong);border-radius:var(--radius-full);box-shadow:inset 0 1px 2px rgb(var(--shadow-color) / .18);transition:background var(--transition-fast)}.switch__thumb{position:absolute;top:2px;inset-inline-start:2px;width:18px;height:18px;background:var(--color-surface);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast)}.switch__input:checked~.switch__track{background:var(--color-primary)}.switch__input:checked~.switch__track .switch__thumb{transform:translate(16px)}.switch__input:focus-visible~.switch__track{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.switch__input:disabled~.switch__track{opacity:.5;cursor:not-allowed}.switch__text{display:flex;flex-direction:column;gap:1px}.switch__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.switch__hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}}@layer components{.choice{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.choice__input{width:1.125rem;height:1.125rem;accent-color:var(--color-primary);cursor:pointer}.choice__input:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.choice__input:disabled{cursor:not-allowed}.choice__input:disabled~.choice__label{opacity:.5;cursor:not-allowed}.choice__label{font-size:var(--font-size-base);color:var(--color-text)}.choice-group{display:flex;flex-direction:column;gap:var(--space-2)}.choice-group--inline{flex-direction:row;flex-wrap:wrap;gap:var(--space-4)}}@layer components{.input{display:block;width:100%;height:var(--control-height-md);padding-inline:var(--space-3);border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-family:inherit;font-size:var(--font-size-base);box-shadow:inset 0 1px 2px rgb(var(--shadow-color) / .04);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input::placeholder{color:var(--color-text-subtle)}.input:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px;border-color:var(--color-primary)}.input:disabled{background:var(--color-surface-sunken);border-color:var(--color-border);color:var(--color-disabled-text);box-shadow:none;cursor:not-allowed}.input--invalid{border-color:var(--color-danger)}.input--sm{height:var(--control-height-sm);padding-inline:var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.input--lg{height:var(--control-height-lg);padding-inline:var(--space-4);font-size:var(--font-size-lg)}.input--multiline{height:auto;padding-block:var(--space-2);line-height:var(--line-height-base);resize:vertical}.input-icon{position:relative;display:flex;align-items:center}.input-icon__glyph{position:absolute;inset-inline-start:var(--space-3);display:inline-flex;color:var(--color-text-subtle);pointer-events:none}.input-icon--end .input-icon__glyph{inset-inline-start:auto;inset-inline-end:var(--space-3)}.input-icon .input{padding-inline-start:var(--space-8)}.input-icon--end .input{padding-inline-start:var(--space-3);padding-inline-end:var(--space-8)}.input-float{position:relative}.input-float .input{height:var(--control-height-lg);padding-top:var(--space-4);padding-bottom:0}.input-float__label{position:absolute;inset-inline-start:var(--space-3);top:50%;transform:translateY(-50%);font-size:var(--font-size-base);color:var(--color-text-muted);pointer-events:none;transition:top var(--transition-fast),font-size var(--transition-fast),color var(--transition-fast)}.input-float .input:focus~.input-float__label,.input-float .input:not(:placeholder-shown)~.input-float__label{top:var(--space-3);font-size:var(--font-size-2xs);color:var(--color-text-subtle)}.input-group{display:flex;align-items:stretch;border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface);box-shadow:inset 0 1px 2px rgb(var(--shadow-color) / .04)}.input-group>:first-child{border-start-start-radius:inherit;border-end-start-radius:inherit}.input-group>:last-child{border-start-end-radius:inherit;border-end-end-radius:inherit}.input-group:focus-within{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px;border-color:var(--color-primary)}.input-group>.input,.input-group .select .select__native,.input-group .select .combobox__field{height:100%;border:none;border-radius:0;background:transparent;box-shadow:none}.input-group>.input{height:auto}.input-group .select{width:auto}.input-group__addon>.select{margin-inline:calc(var(--space-3) * -1)}.input-group .select .combobox__input{width:5ch;flex:0 0 auto;padding-inline-start:var(--space-3)}.input-group .select .combobox__list{inset-inline-end:auto;min-width:12rem;width:max-content;max-width:calc(100vw - 2 * var(--space-4));border-top:var(--border-width) solid var(--ring-color);border-radius:var(--radius-md)}.input-group>.input:focus-visible,.input-group .select .select__native:focus-visible,.input-group .select .combobox__field:focus-within{outline:none}.input-group__control{flex:1 1 auto;min-width:0}.input-group__addon{display:flex;align-items:center;flex:0 0 auto;padding-inline:var(--space-3);background:var(--color-surface-sunken);color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:nowrap}.input-group__addon:first-child{border-inline-end:var(--border-width) solid var(--color-border)}.input-group__addon:last-child{border-inline-start:var(--border-width) solid var(--color-border)}}@layer components{.textarea{resize:vertical;min-height:6rem}}@layer components{.select{position:relative;display:inline-block;width:100%}.select__native{appearance:none;width:100%;height:var(--control-height-md);padding-block:0;padding-inline:var(--space-3) calc(var(--space-3) * 2 + 15px);border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-base)}.select__native:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px;border-color:var(--color-primary)}.select__native:disabled{background:var(--color-surface-alt);color:var(--color-disabled-text);cursor:not-allowed}.js .select__native{display:none}html:not(.js) .select__ui{display:none}.select__ui .combobox__field{cursor:pointer}.select__ui .combobox__input{cursor:pointer;caret-color:transparent}.select__ui .combobox__input:disabled{cursor:not-allowed}.select--disabled .combobox__field{background:var(--color-surface-alt);color:var(--color-disabled-text)}.select--invalid .select__native,.select--invalid .combobox__field{border-color:var(--color-danger)}.select__ui .combobox__hints{display:none}}@layer components{.alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border-inline-start:var(--border-width-thick) solid var(--color-border-strong);background:var(--color-surface-sunken);color:var(--color-text)}.alert__icon{flex:0 0 auto;margin-top:1px}.alert__body{flex:1 1 auto;min-width:0}.alert__title{font-weight:var(--font-weight-semibold)}.alert__text{font-size:var(--font-size-sm);line-height:var(--line-height-base)}.alert__list{margin-top:var(--space-1);padding:0;list-style:none;display:flex;flex-direction:column;gap:3px;font-size:var(--font-size-sm)}.alert__field{display:flex;gap:var(--space-2)}.alert__field-name{font-family:var(--font-family-mono);font-size:var(--font-size-xs);opacity:.85}.alert__close{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;margin:-4px;background:none;border:none;border-radius:var(--radius-sm);padding:0;cursor:pointer;color:inherit;opacity:.55}.alert__close:hover{opacity:1}.alert__close:focus-visible{outline:var(--ring-width) solid currentColor;outline-offset:var(--ring-offset)}.alert--success{background:var(--color-success-soft);border-inline-start-color:var(--color-success);color:var(--color-success-soft-text)}.alert--warning{background:var(--color-warning-soft);border-inline-start-color:var(--color-warning);color:var(--color-warning-soft-text)}.alert--danger{background:var(--color-danger-soft);border-inline-start-color:var(--color-danger);color:var(--color-danger-soft-text)}.alert--info{background:var(--color-info-soft);border-inline-start-color:var(--color-info);color:var(--color-info-soft-text)}}@layer components{.form-field{display:flex;flex-direction:column;gap:var(--space-1)}.form-field__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.form-field__required{color:var(--color-danger);margin-left:var(--space-1)}.form-field__help{font-size:var(--font-size-xs);color:var(--color-text-muted)}.form-field__error{font-size:var(--font-size-xs);color:var(--color-danger)}.form-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-4)}.form-grid>*{grid-column:span 12}@media screen and (min-width:768px){.form-grid>.form-grid__col-6{grid-column:span 6}.form-grid>.form-grid__col-4{grid-column:span 4}.form-grid>.form-grid__col-3{grid-column:span 3}}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}}@layer components{.form{display:flex;flex-direction:column;gap:var(--space-4)}}@layer components{.menu__list,.menu__sublist{display:flex;flex-direction:column;gap:var(--space-1);list-style:none}.menu__sublist{padding-inline-start:var(--space-4);margin-top:var(--space-1)}.menu__link{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:none;border:none;color:var(--color-text);font:inherit;text-align:start;cursor:pointer}.menu__link:hover{background:var(--color-surface-alt)}.menu__link:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-2px}.menu__link--active{background:var(--color-surface-alt);color:var(--color-primary);font-weight:var(--font-weight-medium)}.menu__icon{flex:0 0 auto;width:1.1em;height:1.1em}.menu__caret{margin-inline-start:auto;flex:0 0 auto;transition:transform var(--transition-fast)}.menu__link[aria-expanded=true] .menu__caret{transform:rotate(90deg)}}@layer components{.navbar{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-bottom:var(--border-width) solid var(--color-border);position:sticky;top:0;z-index:var(--z-sticky)}.navbar__brand{display:flex;align-items:center;gap:var(--space-2);min-width:0;font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navbar__nav{display:flex;align-items:center;gap:var(--space-4);margin-inline-start:var(--space-4)}.navbar__link{color:var(--color-text-muted);font-weight:var(--font-weight-medium);padding-block:var(--space-2)}.navbar__link:hover{color:var(--color-primary)}.navbar__link:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.navbar__link--active{color:var(--color-primary)}.navbar__spacer{flex:1 1 auto}.navbar__actions{display:flex;align-items:center;gap:var(--space-3);margin-inline-start:auto;flex-shrink:0}.navbar__toggle{display:none;align-items:center;justify-content:center;min-width:var(--control-height-md);min-height:var(--control-height-md);background:none;border:none;border-radius:var(--radius-md);cursor:pointer;padding:var(--space-2);color:var(--color-text)}.navbar__toggle:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.navbar__toggle--sidebar{display:inline-flex}@media screen and (min-width:992px){.navbar__toggle--sidebar{display:none}}@media screen and (max-width:767px){.navbar__nav{position:absolute;top:100%;inset-inline:0;flex-direction:column;align-items:stretch;gap:0;margin-inline-start:0;background:var(--color-surface);border-bottom:var(--border-width) solid var(--color-border);padding:var(--space-2) var(--space-4)}.js .navbar__nav{display:none}.js .navbar__nav.is-open{display:flex}.navbar__link{padding-block:var(--space-3)}.navbar__toggle{display:inline-flex}}}@layer components{.sidebar{display:flex;flex-direction:column;gap:var(--space-4);width:16rem;flex:0 0 auto;padding:var(--space-4);background:var(--color-surface);color:var(--color-text);border-inline-end:var(--border-width) solid var(--color-border);overflow-y:auto}.sidebar__brand{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);padding:0 var(--space-2)}.sidebar__brand-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2rem;height:2rem;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-primary-contrast)}.sidebar__collapse-toggle{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:none;color:var(--color-text-muted);cursor:pointer}.sidebar__collapse-toggle:hover{background:var(--color-surface-alt)}.sidebar__collapse-toggle:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-2px}.sidebar__collapse-icon{transition:transform var(--transition-base)}@media screen and (min-width:992px){.sidebar{transition:width var(--transition-base)}.sidebar--collapsed{width:4.5rem}.sidebar--collapsed .sidebar__brand-label,.sidebar--collapsed .menu__link-label,.sidebar--collapsed .menu__caret,.sidebar--collapsed .menu__sublist,.sidebar--collapsed .sidebar__collapse-label{display:none}.sidebar--collapsed .menu__link{justify-content:center}.sidebar--collapsed .sidebar__collapse-icon{transform:rotate(180deg)}}@media screen and (max-width:991px){.js .sidebar{position:fixed;inset-block:0;inset-inline-start:0;z-index:var(--z-overlay);transform:translate(-100%);visibility:hidden;transition:transform var(--transition-base),visibility 0s var(--transition-base);box-shadow:var(--shadow-xl)}[dir=rtl] .js .sidebar{transform:translate(100%)}.js .sidebar.is-open{transform:translate(0);visibility:visible;transition:transform var(--transition-base)}}}@layer components{.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-4)}.grid>*{grid-column:span 12}@media screen and (min-width:768px){.grid>.col-1{grid-column:span 1}.grid>.col-2{grid-column:span 2}.grid>.col-3{grid-column:span 3}.grid>.col-4{grid-column:span 4}.grid>.col-5{grid-column:span 5}.grid>.col-6{grid-column:span 6}.grid>.col-7{grid-column:span 7}.grid>.col-8{grid-column:span 8}.grid>.col-9{grid-column:span 9}.grid>.col-10{grid-column:span 10}.grid>.col-11{grid-column:span 11}.grid>.col-12{grid-column:span 12}}}@layer components{.tabs__list{display:flex;gap:var(--space-1);box-shadow:inset 0 calc(var(--border-width) * -1) 0 var(--color-border);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.tabs__tab{padding:var(--space-2) var(--space-4);background:none;border:none;border-bottom:var(--border-width-thick) solid transparent;color:var(--color-text-muted);font-weight:var(--font-weight-medium);white-space:nowrap;cursor:pointer}.tabs__tab:hover{color:var(--color-text)}.tabs__tab:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-2px}.tabs__tab[aria-selected=true]{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tabs__panel{padding-top:var(--space-4)}}@layer components{.collapsible{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md)}.collapsible__trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:none;border-radius:inherit;font:inherit;font-weight:var(--font-weight-medium);text-align:left;cursor:pointer}.collapsible__trigger:hover{background:var(--color-surface-alt)}.collapsible__trigger:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-2px}.collapsible__icon{flex:0 0 auto;transition:transform var(--transition-fast)}.collapsible__trigger[aria-expanded=true] .collapsible__icon{transform:rotate(180deg)}.collapsible__panel{padding:var(--space-4);border-top:var(--border-width) solid var(--color-border)}.accordion>.collapsible{border-radius:0}.accordion>.collapsible+.collapsible{border-top:none}.accordion>.collapsible:first-child{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.accordion>.collapsible:last-child{border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.collapsible__heading{margin:0}}@layer components{.dropdown{position:relative;display:inline-block}.dropdown__trigger{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-width:24px;min-height:24px;border-radius:var(--radius-sm)}.dropdown__trigger:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.dropdown__panel{position:absolute;top:100%;inset-inline-start:0;margin-top:var(--space-1);width:max-content;min-width:10rem;max-width:min(24rem,calc(100vw - 2 * var(--space-4)));background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);padding:var(--space-2)}.dropdown__panel--end{inset-inline-start:auto;inset-inline-end:0}.dropdown__panel--fixed{position:fixed;inset-inline:auto;margin-top:0}}@layer components{.wizard__steps{display:flex;list-style:none;margin-bottom:var(--space-6)}.wizard__step{flex:1 1 0;display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm)}.wizard__step:not(:last-child):after{content:"";flex:1 1 auto;height:var(--border-width);background:var(--color-border);margin-inline:var(--space-2)}.wizard__step-index{flex:0 0 auto;width:1.75rem;height:1.75rem;border-radius:var(--radius-full);border:var(--border-width-thick) solid var(--color-border);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold)}.wizard__step-label{white-space:nowrap}.wizard__step--active{color:var(--color-text)}.wizard__step--active .wizard__step-index{border-color:var(--color-primary);color:var(--color-primary)}.wizard__step--done .wizard__step-index{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-contrast)}@media screen and (max-width:575px){.wizard__step-label{display:none}}}@layer components{.pagination{display:flex;align-items:center;gap:var(--space-1);list-style:none}.pagination__link{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding-inline:var(--space-2);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--font-size-sm)}.pagination__link:hover{background:var(--color-surface-alt)}.pagination__link:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-2px}.pagination__link[aria-current=page]{background:var(--color-primary);color:var(--color-primary-contrast)}.pagination__link--disabled{color:var(--color-disabled-text);pointer-events:none}.pagination__ellipsis{padding-inline:var(--space-2);color:var(--color-text-muted)}}@layer components{.modal{border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:0;width:100%;max-width:32rem;background:var(--color-surface);color:var(--color-text)}.modal::backdrop{background:var(--color-overlay)}.modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border-bottom:var(--border-width) solid var(--color-border)}.modal__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.modal__close{background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:var(--font-size-xl);line-height:1}.modal__close:hover{color:var(--color-text)}.modal__close:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.modal__body{padding:var(--space-4)}.modal__footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4);border-top:var(--border-width) solid var(--color-border)}}@layer components{.toast-region{position:fixed;bottom:var(--space-4);inset-inline-end:var(--space-4);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);max-width:min(24rem,calc(100vw - 2 * var(--space-4)));max-height:50vh;overflow:hidden;pointer-events:none}.toast-region>*{pointer-events:auto}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);box-shadow:var(--shadow-lg);animation:toast-in var(--transition-base)}.toast__icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-full);background:var(--color-surface-sunken);color:var(--color-text-muted)}.toast__body{flex:1 1 auto;min-width:0;font-size:var(--font-size-sm)}.toast__meta{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:1px}.toast__action{flex:0 0 auto;min-height:24px;background:none;border:none;border-radius:var(--radius-sm);padding:0 var(--space-1);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-accent, var(--color-primary));cursor:pointer}.toast__close{flex:0 0 auto;align-self:center;display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;margin:-4px;background:none;border:none;border-radius:var(--radius-sm);padding:0;color:var(--color-text-subtle);cursor:pointer}.toast__close:hover{color:var(--color-text)}.toast__close:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.toast--ink{align-items:center;background:var(--color-surface-inverse);border-color:transparent;color:var(--color-text-inverse)}.toast--ink .toast__meta,.toast--ink .toast__close{color:var(--color-text-inverse);color:color-mix(in oklab,var(--color-text-inverse) 60%,transparent)}.toast--ink .toast__action{color:var(--color-accent-inverse, var(--color-primary-contrast))}.toast--success .toast__icon{background:var(--color-success-soft);color:var(--color-success)}.toast--warning .toast__icon{background:var(--color-warning-soft);color:var(--color-warning)}.toast--danger .toast__icon{background:var(--color-danger-soft);color:var(--color-danger)}.toast--info .toast__icon{background:var(--color-info-soft);color:var(--color-info)}@keyframes toast-in{0%{transform:translateY(var(--space-2));opacity:0}to{transform:translateY(0);opacity:1}}}@layer components{.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);background:var(--color-surface-sunken);color:var(--color-text-muted);border:var(--border-width) solid transparent}.badge__dot{flex:0 0 auto;width:6px;height:6px;border-radius:var(--radius-full);background:currentColor}.badge--primary{background:var(--color-primary);color:var(--color-primary-contrast)}.badge--accent{background:var(--color-accent, var(--color-primary));color:var(--color-accent-contrast, var(--color-primary-contrast))}.badge--neutral{background:var(--color-surface-sunken);border-color:var(--color-border);color:var(--color-text-muted)}.badge--success{background:var(--color-success-soft);color:var(--color-success-soft-text)}.badge--warning{background:var(--color-warning-soft);color:var(--color-warning-soft-text)}.badge--danger{background:var(--color-danger-soft);color:var(--color-danger-soft-text)}.badge--info{background:var(--color-info-soft);color:var(--color-info-soft-text)}.badge--code{border-radius:var(--radius-sm);padding:1px var(--space-2);font-family:var(--font-family-mono);font-size:var(--font-size-2xs);color:var(--color-text-muted)}.chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--color-surface);border:var(--border-width) solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text)}.chip--removable{padding-inline-end:var(--space-1)}.chip__remove{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-block:-3px;padding:0;background:var(--color-surface-sunken);border:none;border-radius:var(--radius-full);cursor:pointer;color:var(--color-text-muted)}.chip__remove:hover{background:var(--color-danger-soft);color:var(--color-danger-soft-text)}.chip__remove:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px}}@layer components{.avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2.5rem;height:2.5rem;border-radius:var(--radius-full);background:var(--color-secondary);color:var(--color-secondary-contrast);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);overflow:hidden}.avatar>img{width:100%;height:100%;object-fit:cover}.avatar--sm{width:2rem;height:2rem;font-size:var(--font-size-xs)}.avatar--lg{width:3.5rem;height:3.5rem;font-size:var(--font-size-xl)}.avatar-group{display:flex}.avatar-group .avatar{margin-left:-.5rem;border:2px solid var(--color-surface)}.avatar-group .avatar:first-child{margin-left:0}}@layer components{.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);list-style:none}.breadcrumb__item{display:flex;align-items:center;gap:var(--space-2)}.breadcrumb__item:not(:last-child):after{content:"/";color:var(--color-border-strong)}.breadcrumb__link{color:var(--color-text-muted)}.breadcrumb__link:hover{color:var(--color-primary)}.breadcrumb__item[aria-current=page]{color:var(--color-text);font-weight:var(--font-weight-medium)}}@layer components{.tooltip{position:relative;display:inline-block}.tooltip__content{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-.25rem);background:var(--color-surface-inverse);color:var(--color-text-inverse);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition-fast);z-index:var(--z-popover)}.tooltip:hover .tooltip__content,.tooltip:focus-within .tooltip__content{opacity:1}}@layer components{.progress{appearance:none;display:block;width:100%;height:.5rem;border:none;border-radius:var(--radius-full);overflow:hidden;background:var(--color-surface-alt)}.progress::-webkit-progress-bar{background:var(--color-surface-alt)}.progress::-webkit-progress-value{background:var(--color-primary);border-radius:var(--radius-full)}.progress::-moz-progress-bar{background:var(--color-primary);border-radius:var(--radius-full)}.spinner{display:inline-block;width:1.5rem;height:1.5rem;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:spinner-spin .7s linear infinite}@keyframes spinner-spin{to{transform:rotate(360deg)}}}@layer components{:root{--apx-accent: var(--color-accent, var(--color-primary));--apx-fore: var(--color-text);--apx-grid: var(--color-border);--apx-surface: var(--color-surface);--apx-bg: transparent;--apx-series-1: var(--color-accent, var(--color-primary));--apx-series-2: var(--color-info);--apx-series-3: var(--color-success);--apx-series-4: var(--color-warning);--apx-series-5: var(--color-danger);--apx-series-6: var(--color-secondary, var(--color-text-muted))}.chart{position:relative;width:100%;min-width:0;color:var(--color-text)}.chart .apexcharts-tooltip,.chart .apexcharts-menu{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--color-text);font-family:var(--font-family-base)}.chart .apexcharts-tooltip-title{background:var(--color-surface-sunken, var(--color-surface-alt));border-bottom:var(--border-width) solid var(--color-border)}.chart .apexcharts-xaxistooltip,.chart .apexcharts-yaxistooltip{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text)}.chart .apexcharts-menu-item:hover{background:var(--color-surface-sunken, var(--color-surface-alt))}}@layer components{.error-page{padding-block:var(--space-16)}.error-page__meta{font-size:var(--font-size-xs);letter-spacing:.05em;color:var(--color-text-muted);text-transform:uppercase}.error-page h1{margin:var(--space-2) 0 var(--space-4)}.error-page__details{margin-top:var(--space-4);border-collapse:collapse;font-size:var(--font-size-sm)}.error-page__details th,.error-page__details td{padding:var(--space-1) var(--space-3);text-align:left;border-bottom:var(--border-width) solid var(--color-border)}.error-page__debug{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-inverse);color:var(--color-danger-soft);overflow:auto;font-size:var(--font-size-xs);font-family:var(--font-family-mono)}.error-page__actions{margin-top:var(--space-6)}.error-page__request-id{margin-top:var(--space-6);font-size:var(--font-size-xs);color:var(--color-text-muted)}}@layer components{.data-table{--data-table-header-height: 34px;--data-table-select-width: 48px;display:flex;flex-direction:column;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.data-table>:first-child{border-start-start-radius:inherit;border-start-end-radius:inherit}.data-table>:last-child{border-end-start-radius:inherit;border-end-end-radius:inherit}.data-table__form{display:flex;flex-direction:column;min-height:0}.data-table__form>:first-child{border-start-start-radius:inherit;border-start-end-radius:inherit}.data-table__form>:last-child{border-end-start-radius:inherit;border-end-end-radius:inherit}.data-table__toolbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--color-border-subtle)}.data-table__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.data-table__bulk{position:sticky;top:0;inset-inline-start:0;z-index:5;display:flex;align-items:center;gap:var(--space-2);box-sizing:border-box;height:var(--data-table-header-height);margin-block-end:calc(-1 * var(--data-table-header-height));width:100%;padding:0 var(--space-4) 0 calc(var(--data-table-select-width) + var(--space-4));overflow-x:auto;overflow-y:hidden;white-space:nowrap;background:var(--color-surface-inverse);color:var(--color-text-inverse);font-size:var(--font-size-sm)}.data-table__bulk[hidden]{display:none}.data-table__bulk-count{flex:none;font-weight:var(--font-weight-medium)}.data-table__bulk-sep{flex:none;width:var(--border-width);height:16px;background:var(--color-text-muted);background:color-mix(in oklab,var(--color-text-inverse) 20%,transparent)}.data-table__bulk .btn{flex:none;height:26px;padding-inline:var(--space-2);font-size:var(--font-size-xs);background:transparent;border-color:var(--color-text-muted);border-color:color-mix(in oklab,var(--color-text-inverse) 22%,transparent);color:var(--color-text-inverse);box-shadow:none}.data-table__bulk .btn:hover{background:#80808040;background:color-mix(in oklab,var(--color-text-inverse) 10%,transparent)}.data-table__bulk .btn--danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-danger-contrast)}.data-table__scroll{position:relative;overflow:auto;max-height:var(--data-table-max-height, none)}.data-table__scroll--sm{--data-table-max-height: 240px}.data-table__scroll--md{--data-table-max-height: 400px}.data-table__scroll--lg{--data-table-max-height: 600px}.data-table__table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--font-size-sm)}.data-table__table th{position:sticky;top:0;z-index:3;height:var(--data-table-header-height);box-sizing:border-box;padding-inline:var(--space-4);text-align:start;white-space:nowrap;background:var(--color-surface-alt);border-bottom:var(--border-width) solid var(--color-border);font-family:var(--font-family-mono);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-subtle)}.data-table__table td{height:34px;padding-inline:var(--space-4);white-space:nowrap;border-bottom:var(--border-width) solid var(--color-border-subtle);background:var(--color-surface)}.data-table__table tbody tr:hover td{background:var(--color-surface-alt)}.data-table__row--selected td{background:var(--color-surface-sunken, var(--color-surface-alt));background:color-mix(in oklab,var(--color-accent, var(--color-primary)) 5%,var(--color-surface))}.data-table__select{position:sticky;inset-inline-start:0;z-index:1;box-sizing:border-box;width:var(--data-table-select-width);min-width:var(--data-table-select-width);padding-inline:0 0;padding-inline-start:var(--space-4)}th.data-table__select{z-index:6}.data-table__select+.data-table__cell--pinned{inset-inline-start:var(--data-table-select-width)}.data-table__cell--pinned{position:sticky;inset-inline-start:0;z-index:1;border-inline-end:var(--border-width) solid var(--color-border-subtle)}th.data-table__cell--pinned{z-index:4}.data-table__mono{font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.data-table__num{text-align:end;font-variant-numeric:tabular-nums}.data-table__select input{width:16px;height:16px;margin:0;accent-color:var(--color-accent, var(--color-primary));cursor:pointer}.data-table__select input:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.data-table__actions{width:40px;text-align:center}td.data-table__actions{position:sticky;inset-inline-end:0;background:var(--color-surface)}td.data-table__select,td.data-table__cell--pinned{z-index:2}.data-table__row-actions{position:absolute;inset-block:0;inset-inline-end:0;z-index:1;display:flex;align-items:center;gap:var(--space-2);width:max-content;padding-inline:var(--space-3);overflow-x:auto;overflow-y:hidden;white-space:nowrap;background:var(--color-surface-inverse);color:var(--color-text-inverse);font-size:var(--font-size-sm)}.data-table__row-actions .btn{flex:none;height:26px;padding-inline:var(--space-2);font-size:var(--font-size-xs);background:transparent;border-color:var(--color-text-muted);border-color:color-mix(in oklab,var(--color-text-inverse) 22%,transparent);color:var(--color-text-inverse);box-shadow:none}.data-table__row-actions .btn:hover{background:var(--color-surface-alt);background:color-mix(in oklab,var(--color-text-inverse) 12%,transparent)}.data-table__row-actions .btn--danger{border-color:var(--color-danger);background:var(--color-danger);color:var(--color-danger-contrast)}.data-table__row-actions .btn--icon{border-color:transparent}@keyframes data-table-row-actions-in{0%{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0)}}@keyframes data-table-row-actions-out{0%{clip-path:inset(0)}to{clip-path:inset(0 0 0 100%)}}.data-table__row-actions:not([hidden]){animation:data-table-row-actions-in var(--transition-base)}.data-table__row-actions.is-closing{animation-name:data-table-row-actions-out;animation-fill-mode:forwards;pointer-events:none}@media(prefers-reduced-motion:reduce){.data-table__row-actions:not([hidden]),.data-table__row-actions.is-closing{animation:none}}.data-table__row-actions-sep{flex:none;width:var(--border-width);height:16px;background:var(--color-text-muted);background:color-mix(in oklab,var(--color-text-inverse) 20%,transparent)}.data-table__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-2) var(--space-4);border-top:var(--border-width) solid var(--color-border);background:var(--color-surface-alt);font-size:var(--font-size-xs);color:var(--color-text-muted)}.data-table__sort{display:inline-flex;align-items:center;gap:var(--space-1);min-height:24px;padding:0;border:none;border-radius:var(--radius-sm);background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}th[aria-sort] .data-table__sort{color:var(--color-text)}.data-table__sort:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.data-table__empty{padding:var(--space-8);text-align:center;color:var(--color-text-muted)}.data-table__empty>.empty{justify-content:center;margin-inline:auto}}@layer components{.combobox,.combobox__anchor{position:relative}.combobox--open>.form-field__help,.combobox[aria-expanded=true]>.form-field__help{visibility:hidden}.combobox__field{display:flex;align-items:center;height:var(--control-height-md);padding-inline:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface)}.combobox__field:focus-within{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px;border-color:var(--color-primary)}.combobox[aria-expanded=true] .combobox__field,.combobox--open .combobox__field{border-end-start-radius:0;border-end-end-radius:0;border-color:var(--ring-color);box-shadow:0 0 0 1px var(--ring-color)}.combobox--open .combobox__field:focus-within{outline:none;border-color:var(--ring-color)}.combobox--open .combobox__list{border-color:var(--ring-color);box-shadow:0 0 0 1px var(--ring-color),var(--shadow-lg)}.combobox__input{flex:1 1 auto;min-width:0;height:100%;padding-inline-start:var(--space-2);border:none;outline:none;background:transparent;font:inherit;font-size:var(--font-size-base);color:var(--color-text)}.combobox__input::placeholder{color:var(--color-text-subtle)}.combobox__caret{flex:0 0 auto;display:inline-flex;color:var(--color-text-muted);cursor:pointer}.combobox__list{position:absolute;inset-inline:0;top:100%;z-index:var(--z-dropdown);border:var(--border-width) solid var(--color-primary);border-top:none;border-end-start-radius:var(--radius-md);border-end-end-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-lg);overflow:hidden}.combobox__list[hidden]{display:none}.combobox__group{padding:var(--space-2) var(--space-3) var(--space-1);border-top:var(--border-width) solid var(--color-border-subtle);font-family:var(--font-family-mono);font-size:var(--font-size-2xs);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-subtle)}.combobox__group:first-child{border-top:none}.combobox__option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);cursor:pointer}.combobox__option:hover,.combobox__option[data-active]{background:var(--color-surface-sunken)}.combobox__option-label{flex:1 1 auto;min-width:0;font-size:var(--font-size-sm)}.combobox__match{font-weight:var(--font-weight-semibold);background:var(--color-warning-soft);background:color-mix(in oklab,var(--color-accent, var(--color-primary)) 22%,var(--color-surface));border-radius:2px}.combobox__option-meta{flex:0 0 auto;font-size:var(--font-size-2xs);color:var(--color-text-subtle)}.combobox__check{flex:0 0 auto;display:inline-flex;color:var(--color-text)}.combobox__empty{padding:var(--space-4) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted)}.combobox__hints{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-top:var(--border-width) solid var(--color-border-subtle);background:var(--color-surface-alt);font-size:var(--font-size-2xs);color:var(--color-text-subtle)}.combobox__count{margin-inline-start:auto;font-family:var(--font-family-mono)}.combobox--multi .combobox__field{height:auto;min-height:var(--control-height-md);flex-wrap:wrap;gap:var(--space-1);padding:var(--space-1) var(--space-2)}.combobox__token{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-1) 2px var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface-sunken);font-size:var(--font-size-sm)}.combobox__token-remove{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;margin-block:-6px;padding:0;background:none;border:none;color:var(--color-text-muted);cursor:pointer}.combobox__token-remove:hover{color:var(--color-danger)}.combobox__token-remove:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px}.combobox__option[aria-disabled=true]{color:var(--color-disabled-text);cursor:not-allowed}}@layer components{.datepicker{position:relative;display:flex;flex-direction:column}.datepicker--open:not(.datepicker--inline){z-index:var(--z-popover)}.datepicker--inline .datepicker__panel{position:static;z-index:auto;margin-top:var(--space-3)}.datepicker--end .datepicker__panel{inset-inline-start:auto;inset-inline-end:0}.datepicker__trigger:disabled{color:var(--color-disabled-text);background:var(--color-surface-alt);cursor:not-allowed}.datepicker__trigger{display:inline-flex;align-items:center;gap:var(--space-2);height:var(--control-height-md);padding-inline:var(--space-3);border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface);font:inherit;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;color:var(--color-text);cursor:pointer}.datepicker__trigger[aria-expanded=true]{border-color:var(--color-primary)}.datepicker__trigger-icon{display:inline-flex;color:var(--color-text-muted)}.datepicker__panel{position:absolute;top:calc(100% + var(--space-1));inset-inline-start:0;z-index:var(--z-popover);max-width:calc(100vw - 2 * var(--space-4));border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-lg);overflow:hidden;width:max-content}.datepicker__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:var(--border-width) solid var(--color-border-subtle)}.datepicker__nav-group{display:inline-flex;gap:var(--space-1)}.datepicker__nav{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer}.datepicker__nav:hover{background:var(--color-surface-sunken);color:var(--color-text)}.datepicker__nav:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px}.datepicker__month{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.datepicker__grid{padding:var(--space-2) var(--space-3)}.datepicker__weekdays,.datepicker__days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.datepicker__weekdays{margin-bottom:var(--space-1)}.datepicker__weekday{padding-block:3px;text-align:center;font-family:var(--font-family-mono);font-size:var(--font-size-2xs);color:var(--color-text-subtle)}.datepicker__day{display:flex;align-items:center;justify-content:center;height:30px;border:none;border-radius:var(--radius-sm);background:transparent;font:inherit;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;color:var(--color-text);cursor:pointer}.datepicker__day:hover{background:var(--color-surface-sunken)}.datepicker__day:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:-1px}.datepicker__day--outside{color:var(--color-text-subtle)}.datepicker__day--today{box-shadow:inset 0 0 0 1.5px var(--color-accent, var(--color-primary))}.datepicker__day--in-range{background:var(--color-surface-sunken, var(--color-surface-alt));background:color-mix(in oklab,var(--color-accent, var(--color-primary)) 8%,var(--color-surface));border-radius:0}.datepicker__day--start,.datepicker__day--end{background:var(--color-primary);color:var(--color-primary-contrast)}.datepicker__day--start{border-start-end-radius:0;border-end-end-radius:0}.datepicker__day--end{border-start-start-radius:0;border-end-start-radius:0}.datepicker__day--start.datepicker__day--end{border-radius:var(--radius-sm)}.datepicker__day:disabled{color:var(--color-disabled-text);cursor:not-allowed}.datepicker__footer{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap;padding:var(--space-2) var(--space-3);border-top:var(--border-width) solid var(--color-border-subtle);background:var(--color-surface-alt)}.datepicker__preset{height:28px;padding-inline:var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font:inherit;font-size:var(--font-size-2xs);color:var(--color-text-muted);cursor:pointer}.datepicker__preset:hover{border-color:var(--color-primary);color:var(--color-text)}.datepicker__apply{margin-inline-start:auto;height:28px;padding-inline:var(--space-3);border:none;border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-primary-contrast);font:inherit;font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);cursor:pointer}}@layer components{.command{position:fixed;inset:0;z-index:var(--z-modal);display:flex;justify-content:center;padding:min(12vh,var(--space-8)) var(--space-4) var(--space-4);background:var(--color-overlay);overflow-y:auto}.command__search:focus-within{box-shadow:inset 0 calc(var(--ring-width) * -1) 0 var(--ring-color)}.command__esc:focus-visible,.command__item:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:-2px}.command[hidden]{display:none}.command--inline{position:static;inset:auto;padding:0;background:none;display:block}.command__sheet{width:100%;max-width:34rem;align-self:flex-start;border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xl);overflow:hidden}.command--inline .command__sheet{max-width:none}.command__search{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--color-border-subtle)}.command__search-icon{flex:0 0 auto;display:inline-flex;color:var(--color-text-subtle)}.command__input{flex:1 1 auto;min-width:0;border:none;outline:none;background:transparent;font:inherit;font-size:var(--font-size-lg);color:var(--color-text)}.command__input::placeholder{color:var(--color-text-subtle)}.command__list{padding:var(--space-1);max-height:min(22rem,55vh);overflow-y:auto}.command__group{padding:var(--space-2) var(--space-2) var(--space-1);font-family:var(--font-family-mono);font-size:var(--font-size-2xs);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-subtle)}.command__item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2);border:none;border-radius:var(--radius-sm);background:transparent;font:inherit;text-align:left;color:var(--color-text);cursor:pointer}.command__item:hover{background:var(--color-surface-sunken)}.command__item[data-active]{background:var(--color-primary);color:var(--color-primary-contrast)}.command__item-icon{flex:0 0 auto;display:inline-flex;opacity:.75}.command__item-badge{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-text-muted);font-family:var(--font-family-mono);font-size:var(--font-size-2xs)}.command__item-label{flex:1 1 auto;min-width:0;font-size:var(--font-size-sm)}.command__match{font-weight:var(--font-weight-semibold)}.command__item-meta{flex:0 0 auto;font-size:var(--font-size-xs);color:var(--color-text-subtle)}.command__item[data-active] .command__item-meta,.command__item[data-active] .command__item-badge{color:var(--color-primary-contrast);color:color-mix(in oklab,var(--color-primary-contrast) 70%,transparent);background:transparent}.command__kbd{display:inline-flex;align-items:center;padding:1px var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface-sunken);font-family:var(--font-family-mono);font-size:var(--font-size-2xs);color:var(--color-text-muted)}.command__item[data-active] .command__kbd{background:#8080804d;background:color-mix(in oklab,var(--color-primary-contrast) 16%,transparent);color:var(--color-primary-contrast)}.command__esc{flex:0 0 auto;border:var(--border-width) solid transparent;cursor:pointer}.command__esc:hover{border-color:var(--color-border-strong);color:var(--color-text)}.command__empty{padding:var(--space-5) var(--space-2);text-align:center;font-size:var(--font-size-sm);color:var(--color-text-muted)}.command__footer{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4);border-top:var(--border-width) solid var(--color-border-subtle);background:var(--color-surface-alt);font-size:var(--font-size-2xs);color:var(--color-text-subtle)}.command__count{margin-inline-start:auto;font-family:var(--font-family-mono)}.command__trigger{color:var(--color-text-muted);font-weight:var(--font-weight-normal)}@media screen and (min-width:576px){.command__trigger{min-width:14rem;justify-content:flex-start}.command__trigger .command__kbd{margin-inline-start:auto}}}@layer components{.dropzone{display:flex;flex-direction:column;gap:var(--space-3)}.dropzone__area{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-alt);text-align:center;transition:border-color var(--transition-fast),background var(--transition-fast)}.dropzone__area:focus-within,.dropzone__area--over{border-color:var(--color-accent, var(--color-primary));background:var(--color-surface);background:color-mix(in oklab,var(--color-accent, var(--color-primary)) 5%,var(--color-surface))}.dropzone__input{position:absolute;inset:0;opacity:0;cursor:pointer}.dropzone__icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-md);background:var(--color-surface);border:var(--border-width) solid var(--color-border);color:var(--color-text-muted)}.dropzone__area--over .dropzone__icon,.dropzone__area:focus-within .dropzone__icon{color:var(--color-accent, var(--color-primary))}.dropzone__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.dropzone__browse{color:var(--color-accent, var(--color-primary));text-decoration:underline;text-underline-offset:.18em}.dropzone__hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}.dropzone__files{display:flex;flex-direction:column;gap:var(--space-2)}.dropzone__file{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md)}.dropzone__file--error{border-color:var(--color-danger-soft-text);border-color:color-mix(in oklab,var(--color-danger) 25%,var(--color-border));background:var(--color-danger-soft);background:color-mix(in oklab,var(--color-danger) 3%,var(--color-surface))}.dropzone__file-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-text-muted);font-family:var(--font-family-mono);font-size:9px;text-transform:uppercase}.dropzone__file--done .dropzone__file-icon{background:var(--color-success-soft);color:var(--color-success)}.dropzone__file--error .dropzone__file-icon{background:var(--color-danger-soft);color:var(--color-danger)}.dropzone__file-body{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-width:0}.dropzone__file-row{display:flex;align-items:baseline;gap:var(--space-2)}.dropzone__file-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropzone__file-size{margin-inline-start:auto;font-size:var(--font-size-2xs);color:var(--color-text-subtle);font-variant-numeric:tabular-nums}.dropzone__file-error{font-size:var(--font-size-2xs);color:var(--color-danger)}.dropzone__bar{appearance:none;display:block;width:100%;height:4px;border:none;border-radius:var(--radius-full);background:var(--color-border-subtle);overflow:hidden}.dropzone__bar::-webkit-progress-bar{background:var(--color-border-subtle)}.dropzone__bar::-webkit-progress-value{background:var(--color-primary);border-radius:var(--radius-full)}.dropzone__bar::-moz-progress-bar{background:var(--color-primary);border-radius:var(--radius-full)}.dropzone__remove{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;border-radius:var(--radius-sm);padding:0;background:none;border:none;color:var(--color-text-subtle);cursor:pointer}.dropzone__remove:hover{color:var(--color-danger)}.dropzone__remove:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:2px}}@layer components{.slider{display:flex;flex-direction:column;gap:var(--space-2)}.slider__track,.slider__fill,.slider__ticks,.slider__thumb{display:none}.js .slider__track,.js .slider__fill,.js .slider__ticks,.js .slider__thumb{display:block}.js .slider__input{opacity:0}.slider__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.slider__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.slider__value{font-family:var(--font-family-mono);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.slider__control{position:relative;height:20px;display:flex;align-items:center}.slider__input{position:absolute;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.slider__track{position:absolute;inset-inline:0;height:5px;border-radius:var(--radius-full);background:var(--color-border-subtle);pointer-events:none}.slider__fill{position:absolute;inset-inline-start:0;width:var(--slider-pct, 0%);height:5px;border-radius:var(--radius-full);background:var(--color-primary);pointer-events:none}.slider__thumb{position:absolute;inset-inline-start:var(--slider-pct, 0%);margin-inline-start:-8.5px;width:17px;height:17px;border-radius:var(--radius-full);background:var(--color-surface);border:1.5px solid var(--color-primary);box-shadow:var(--shadow-sm);pointer-events:none}.slider__input:focus-visible~.slider__thumb{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.slider__scale{display:flex;justify-content:space-between;font-family:var(--font-family-mono);font-size:var(--font-size-2xs);color:var(--color-text-subtle)}.slider--range .slider__fill{inset-inline-start:var(--slider-from, 0%);width:calc(var(--slider-to, 100%) - var(--slider-from, 0%));border-radius:0}.slider__thumb--from{inset-inline-start:var(--slider-from, 0%)}.slider__thumb--to{inset-inline-start:var(--slider-to, 100%)}.slider--stepped .slider__fill{background:var(--color-accent, var(--color-primary))}.slider--stepped .slider__thumb{background:var(--color-accent, var(--color-primary));border-color:var(--color-accent, var(--color-primary))}.slider__ticks{position:absolute;inset-inline:0;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.slider__tick{width:3px;height:3px;border-radius:var(--radius-full);background:var(--color-surface)}.slider__scale-item--active{color:var(--color-accent, var(--color-primary));font-weight:var(--font-weight-medium)}}@layer components{.segmented{position:relative;display:inline-flex;gap:2px;padding:3px;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-sunken)}.js .segmented:before{content:"";position:absolute;top:3px;bottom:3px;inset-inline-start:3px;width:var(--segmented-w, 0px);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-sm);transform:translate(var(--segmented-x, 0px));transition:transform var(--transition-base),width var(--transition-base);pointer-events:none}.js .segmented:not([data-segmented-ready]):before{display:none}@media(prefers-reduced-motion:reduce){.js .segmented:before{transition:none}}.segmented__item{position:relative;display:inline-flex}.segmented__input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.segmented__label{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:28px;padding-inline:var(--space-4);border-radius:var(--radius-sm);background:transparent;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);white-space:nowrap;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.segmented__input:checked+.segmented__label{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.js .segmented[data-segmented-ready] .segmented__input:checked+.segmented__label{background:transparent;box-shadow:none}.segmented__item{z-index:1}.segmented__input:focus-visible+.segmented__label{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px}.segmented__input:disabled+.segmented__label{color:var(--color-disabled-text);cursor:not-allowed}.segmented--sm .segmented__label{height:24px;padding-inline:var(--space-3);font-size:var(--font-size-2xs)}.segmented--icon .segmented__label{width:28px;padding-inline:0}.segmented--block{display:flex}.segmented--block .segmented__item,.segmented--block .segmented__label{flex:1 1 0}}@layer components{.popover{position:relative;display:inline-block}.popover__panel{position:absolute;top:calc(100% + var(--space-2));inset-inline-start:50%;transform:translate(-50%);z-index:var(--z-popover);width:max-content;max-width:min(18rem,calc(100vw - 2 * var(--space-4)));border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-lg)}.popover__panel[hidden]{display:none}.popover__arrow{position:absolute;top:-5px;inset-inline-start:50%;transform:translate(-50%) rotate(45deg);width:9px;height:9px;background:var(--color-surface);border-inline-start:var(--border-width) solid var(--color-border);border-top:var(--border-width) solid var(--color-border)}.popover--start .popover__panel{inset-inline-start:0;transform:none}.popover--start .popover__arrow{inset-inline-start:var(--space-4);transform:rotate(45deg)}.popover--end .popover__panel{inset-inline-start:auto;inset-inline-end:0;transform:none}.popover--end .popover__arrow{inset-inline-start:auto;inset-inline-end:var(--space-4);transform:rotate(45deg)}.popover__header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-2)}.popover__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.popover__subtitle{font-size:var(--font-size-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popover__body{padding:0 var(--space-3) var(--space-3);font-size:var(--font-size-sm);line-height:var(--line-height-base)}.popover__stats{display:flex;gap:var(--space-4);padding:0 var(--space-3) var(--space-3)}.popover__stat{display:flex;flex-direction:column}.popover__stat-value{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.popover__stat-label{font-size:var(--font-size-2xs);color:var(--color-text-subtle)}.popover__footer{display:flex;gap:var(--space-2);padding:var(--space-3);border-top:var(--border-width) solid var(--color-border-subtle)}.popover__footer .btn{flex:1 1 0}}@layer components{.timeline{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.timeline__item{display:flex;gap:var(--space-3)}.timeline__rail{display:flex;flex-direction:column;align-items:center;flex:0 0 auto}.timeline__marker{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-full);background:var(--color-surface-sunken);color:var(--color-text-muted)}.timeline__line{flex:1 1 auto;width:1.5px;margin-block:var(--space-1);background:var(--color-border)}.timeline__item:last-child .timeline__line{display:none}.timeline__body{display:flex;flex-direction:column;gap:1px;padding-bottom:var(--space-4)}.timeline__item:last-child .timeline__body{padding-bottom:0}.timeline__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.timeline__meta{font-size:var(--font-size-xs);color:var(--color-text-muted)}.timeline__item--done .timeline__marker{background:var(--color-success-soft);color:var(--color-success)}.timeline__item--current .timeline__marker{background:var(--color-warning-soft);color:var(--color-warning)}.timeline__item--pending .timeline__marker{background:var(--color-surface-sunken);border:1.5px dashed var(--color-border-strong)}.timeline__item--pending .timeline__line{background:none;border-inline-start:1.5px dashed var(--color-border)}.timeline__item--pending .timeline__title{color:var(--color-text-subtle)}}@layer components{.empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-5);border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface-alt);text-align:center}.empty__icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);background:var(--color-surface);border:var(--border-width) solid var(--color-border);box-shadow:var(--shadow-sm);color:var(--color-text-muted)}.empty__title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight)}.empty__text{max-width:34ch;font-size:var(--font-size-sm);line-height:var(--line-height-base);color:var(--color-text-muted);text-wrap:pretty}.empty__actions{display:flex;gap:var(--space-2);margin-top:var(--space-1)}.empty--inline{flex-direction:row;align-items:center;gap:var(--space-3);padding:var(--space-4);border-style:dashed;border-color:var(--color-border);background:var(--color-surface);text-align:start}.empty--inline .empty__icon{width:30px;height:30px;border:none;border-radius:var(--radius-sm);background:var(--color-surface-sunken);box-shadow:none;color:var(--color-text-subtle)}.empty--inline .empty__body{display:flex;flex-direction:column;gap:1px;flex:1 1 auto;min-width:0}.empty--inline .empty__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.empty--inline .empty__text{max-width:none;font-size:var(--font-size-xs)}.empty--inline .empty__actions{margin-top:0}.empty--error{border-style:solid;border-color:var(--color-danger-soft-text);border-color:color-mix(in oklab,var(--color-danger) 25%,var(--color-border));background:var(--color-danger-soft);background:color-mix(in oklab,var(--color-danger) 3%,var(--color-surface))}.empty--error .empty__icon{background:var(--color-danger-soft);color:var(--color-danger)}.empty__code{font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-text-muted)}.empty--page{min-height:60vh;justify-content:center;border:none;background:none}.empty--page .empty__title{font-size:var(--font-size-2xl)}}@layer components{.skeleton{position:relative;display:block;overflow:hidden;border-radius:var(--radius-full);background:var(--color-border-subtle)}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--color-surface-alt),transparent);background:linear-gradient(90deg,transparent,color-mix(in oklab,var(--color-border-subtle) 45%,var(--color-surface)),transparent);animation:skeleton-shimmer 1.3s linear infinite}.skeleton--w-xs{width:48px}.skeleton--w-sm{width:72px}.skeleton--w-md{width:104px}.skeleton--w-lg{width:144px}.skeleton--w-xl{width:200px}.skeleton--w-half{width:50%}.skeleton--w-full{width:100%}.skeleton--text{height:10px}.skeleton--title{height:12px;width:60%}.skeleton--block{height:104px;border-radius:var(--radius-sm)}.skeleton--avatar{width:40px;height:40px;flex:0 0 auto}.skeleton--circle{border-radius:var(--radius-full);aspect-ratio:1}.skeleton-stack{display:flex;flex-direction:column;gap:var(--space-2)}.skeleton-row{display:flex;align-items:center;gap:var(--space-3)}.skeleton-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-md)}.skeleton-table{border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-md);overflow:hidden}.skeleton-table__head,.skeleton-table__row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4)}.skeleton-table__head{background:var(--color-surface-alt);border-bottom:var(--border-width) solid var(--color-border-subtle)}.skeleton-table__head .skeleton{background:var(--color-border);height:8px}.skeleton-table__head .skeleton:after{display:none}.skeleton-table__row+.skeleton-table__row{border-top:var(--border-width) solid var(--color-border-subtle)}.skeleton[aria-hidden=true]{pointer-events:none}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.skeleton:after{display:none}}[data-busy]{position:relative;pointer-events:none}[data-busy]:after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;background:var(--color-surface);opacity:.55}[data-busy]:before{content:"";position:absolute;inset:0;z-index:2;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--color-surface-alt),transparent);background:linear-gradient(90deg,transparent,color-mix(in oklab,var(--color-border-subtle) 45%,var(--color-surface)),transparent);animation:skeleton-shimmer 1.3s linear infinite}@media(prefers-reduced-motion:reduce){[data-busy]:before{display:none}}}@layer components{.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-6)}.page-header__heading{min-width:0}.page-header__title{font-size:var(--font-size-3xl);letter-spacing:var(--letter-spacing-tighter);line-height:var(--line-height-tight)}.page-header__subtitle{margin-top:var(--space-1);color:var(--color-text-muted)}.page-header__actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}}@layer components{.stat{display:flex;flex-direction:column;gap:var(--space-1)}.stat__icon{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;margin-bottom:var(--space-2);border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--color-text-muted)}.stat--primary .stat__icon{background:var(--color-surface-sunken);color:var(--color-accent, var(--color-primary))}.stat--success .stat__icon{background:var(--color-success-soft);color:var(--color-success-soft-text)}.stat--warning .stat__icon{background:var(--color-warning-soft);color:var(--color-warning-soft-text)}.stat--danger .stat__icon{background:var(--color-danger-soft);color:var(--color-danger-soft-text)}.stat--info .stat__icon{background:var(--color-info-soft);color:var(--color-info-soft-text)}.stat__label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.stat__value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight);font-variant-numeric:tabular-nums}.stat__trend{margin-top:var(--space-1)}}@layer components{.toolbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4)}.toolbar__end{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-inline-start:auto}.toolbar .input-icon{flex:1 1 12rem;max-width:20rem}.toolbar .select{width:auto;min-width:11rem}.toolbar .datepicker{width:auto}.toolbar .datepicker__trigger{width:auto;min-width:15rem}.data-table__toolbar>.toolbar{display:contents}@media screen and (max-width:575px){.toolbar .input-icon,.toolbar .datepicker__trigger,.toolbar .select{flex-basis:100%;max-width:none;min-width:0;width:100%}.toolbar__end{margin-inline-start:0;width:100%}}}@layer components{.otp{display:flex;flex-direction:column;gap:var(--space-2)}.otp__value{height:var(--control-height-lg);padding-inline:var(--space-3);border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface);font-family:var(--font-family-mono);font-size:var(--font-size-xl);letter-spacing:.3em;color:var(--color-text)}.otp__value:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px;border-color:var(--color-primary)}.otp__cells{display:none;align-items:center;gap:var(--space-2)}.js .otp__cells{display:flex}.js .otp__value{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.otp__cell{width:var(--control-height-lg);height:calc(var(--control-height-lg) + 4px);padding:0;border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface);text-align:center;font-family:var(--font-family-mono);font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--color-text);caret-color:var(--color-accent, var(--color-primary));transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.otp__cell:focus{outline:none;border-color:var(--color-accent, var(--color-primary));box-shadow:0 0 0 var(--ring-width) var(--ring-color)}.otp__cell[data-filled]{border-color:var(--color-border-strong);background:var(--color-surface-alt)}.otp__cell:disabled{background:var(--color-disabled);color:var(--color-disabled-text);cursor:not-allowed}.otp__sep{width:8px;height:var(--border-width-thick);border-radius:var(--radius-full);background:var(--color-border-strong)}.otp--invalid .otp__cell,.otp--invalid .otp__value{border-color:var(--color-danger)}.otp--invalid .otp__cell:focus{box-shadow:0 0 0 var(--ring-width) var(--color-danger)}@media screen and (max-width:575px){.otp__cells{gap:var(--space-1)}.otp__cell{width:clamp(2rem,10vw,var(--control-height-lg));font-size:var(--font-size-lg)}}}@layer components{.editor{display:flex;flex-direction:column;border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.editor:focus-within{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px;border-color:var(--color-primary)}.editor--invalid{border-color:var(--color-danger)}.editor--disabled{background:var(--color-surface-alt)}.editor__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:var(--space-1) var(--space-2);border-bottom:var(--border-width) solid var(--color-border-subtle);background:var(--color-surface-sunken, var(--color-surface-alt))}.editor__tool,.editor__view{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding-inline:var(--space-2);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font:inherit;font-size:var(--font-size-sm);cursor:pointer}.editor__tool:hover,.editor__view:hover{background:var(--color-surface);color:var(--color-text)}.editor__tool[aria-pressed=true],.editor__view[aria-pressed=true]{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.editor__tool:focus-visible,.editor__view:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:-2px}.editor__tool:disabled{color:var(--color-disabled-text);cursor:not-allowed}.editor__spacer{flex:1 1 auto}.editor__views{display:inline-flex;gap:2px}.editor .editor__source,.editor .editor__surface{border:none;border-radius:0;box-shadow:none;outline:none;resize:vertical}.editor__surface{min-height:8rem;padding:var(--space-3);overflow:auto}.editor__surface:empty:before{content:attr(data-placeholder);color:var(--color-text-subtle);pointer-events:none}.editor__preview{min-height:8rem;padding:var(--space-3)}.editor__preview[hidden]{display:none}html:not(.js) .editor__toolbar,html:not(.js) .editor__surface{display:none}.js .editor--html .editor__source,.js .editor[data-editor-view=preview] .editor__source,.js .editor[data-editor-view=preview] .editor__surface{display:none}.editor__preview-note{margin:0 0 var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted)}.editor__preview-raw{margin:0;white-space:pre-wrap;font-family:var(--font-family-mono);font-size:var(--font-size-sm)}}
|
|
2
|
+
@layer tokens,reset,base,layouts,components;@layer tokens{:root{--color-primary: #1a1917;--color-primary-strong: #000000;--color-primary-contrast: #fdfcfb;--color-accent: #a8521f;--color-accent-strong: #8e4419;--color-accent-contrast: #fffdfb;--color-accent-inverse: #e8a87c;--color-secondary: #6e6a64;--color-secondary-strong: #4a4742;--color-secondary-contrast: #fdfcfb;--color-success: #1f7a4d;--color-success-contrast: #fffdfb;--color-warning: #9a6200;--color-warning-contrast: #fffdfb;--color-danger: #b8342a;--color-danger-contrast: #fffdfb;--color-info: #1f6a84;--color-info-contrast: #fffdfb;--color-success-soft: #e4f2e9;--color-success-soft-text: #14543a;--color-warning-soft: #fbf0da;--color-warning-soft-text: #6e4600;--color-danger-soft: #fae7e4;--color-danger-soft-text: #7d2620;--color-info-soft: #e2eff4;--color-info-soft-text: #114a5e;--color-canvas: #faf9f7;--color-surface: #ffffff;--color-surface-alt: #faf9f7;--color-surface-sunken: #f4f2ef;--color-surface-inverse: #1a1917;--color-overlay: rgb(26 25 23 / .45);--color-border-subtle: #f0ede9;--color-border: #e6e3df;--color-border-strong: #d3cfc9;--color-border-control: #8a8580;--color-media-scrim: rgb(0 0 0 / .6);--color-on-media: #ffffff;--color-text: #1a1917;--color-text-muted: #6e6a64;--color-text-subtle: #77726b;--color-text-inverse: #fdfcfb;--color-disabled: #f4f2ef;--color-disabled-text: #6e6a64;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem;--space-10: 4rem;--space-12: 5rem;--space-16: 6rem;--radius-sm: 5px;--radius-md: 9px;--radius-lg: 14px;--radius-full: 9999px;--shadow-color: 26 25 23;--shadow-sm: 0 1px 2px rgb(var(--shadow-color) / .05);--shadow-md: 0 1px 2px rgb(var(--shadow-color) / .04), 0 6px 16px -4px rgb(var(--shadow-color) / .1);--shadow-lg: 0 2px 4px rgb(var(--shadow-color) / .04), 0 16px 32px -8px rgb(var(--shadow-color) / .14);--shadow-xl: 0 4px 8px rgb(var(--shadow-color) / .05), 0 28px 64px -12px rgb(var(--shadow-color) / .22);--shadow-inset-top: inset 0 1px 0 rgb(255 255 255 / .12);--font-family-base: "Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-family-display: var(--font-family-base);--font-family-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-size-2xs: .6875rem;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .9375rem;--font-size-lg: 1.0625rem;--font-size-xl: 1.1875rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--letter-spacing-tight: -.015em;--letter-spacing-tighter: -.025em;--letter-spacing-caps: .07em;--line-height-tight: 1.25;--line-height-base: 1.5;--line-height-relaxed: 1.75;--border-width: 1px;--border-width-thick: 2px;--control-height-sm: 30px;--control-height-md: 36px;--control-height-lg: 44px;--ring-color: var(--color-accent, var(--color-primary));--ring-width: 2px;--ring-offset: 2px;--focus-ring-color: var(--ring-color);--focus-ring-width: var(--ring-width);--focus-ring-offset: var(--ring-offset);--container-max-width: 1200px;--scroll-padding-top: 4.5rem;--layout-max-width: 1400px;--layout-measure: 70ch;--layout-focus-width: 40rem;--layout-sidebar-width: 16rem;--layout-rail-width: 4.5rem;--layout-aside-width: 18rem;--layout-pane-width: 22rem;--layout-gutter: clamp(var(--space-4), 3vw, var(--space-8));--transition-fast: .12s ease;--transition-base: .2s ease;--transition-slow: .32s ease;--z-dropdown: 1000;--z-sticky: 1020;--z-overlay: 1030;--z-modal: 1040;--z-popover: 1050;--z-toast: 1060}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-primary: #f2efe9;--color-primary-strong: #ffffff;--color-primary-contrast: #14130f;--color-accent: #e8a87c;--color-accent-strong: #f0bd9b;--color-accent-contrast: #1c1b17;--color-accent-inverse: #a8521f;--color-secondary: #8b857c;--color-secondary-strong: #a9a29a;--color-secondary-contrast: #14130f;--color-border-control: #6b665f;--color-canvas: #14130f;--color-surface: #1c1b17;--color-surface-alt: #232118;--color-surface-sunken: #232118;--color-surface-inverse: #f2efe9;--color-overlay: rgb(0 0 0 / .6);--color-border-subtle: #232118;--color-border: #2a2823;--color-border-strong: #3a3730;--color-text: #f2efe9;--color-text-muted: #a9a29a;--color-text-subtle: #969088;--color-text-inverse: #14130f;--color-disabled: #232118;--color-disabled-text: #969088;--color-success: #4eae76;--color-success-contrast: #1c1b17;--color-warning: #c99a3e;--color-warning-contrast: #1c1b17;--color-danger: #d1655a;--color-danger-contrast: #1c1b17;--color-info: #5aa2c4;--color-info-contrast: #1c1b17;--color-success-soft: #16321f;--color-success-soft-text: #8fd4a8;--color-warning-soft: #33260d;--color-warning-soft-text: #e5bf78;--color-danger-soft: #351a16;--color-danger-soft-text: #f0a49b;--color-info-soft: #122a33;--color-info-soft-text: #8fc6d8;--shadow-color: 0 0 0;--shadow-inset-top: inset 0 1px 0 rgb(255 255 255 / .06)}}:root[data-theme=dark]{--color-primary: #f2efe9;--color-primary-strong: #ffffff;--color-primary-contrast: #14130f;--color-accent: #e8a87c;--color-accent-strong: #f0bd9b;--color-accent-contrast: #1c1b17;--color-accent-inverse: #a8521f;--color-secondary: #8b857c;--color-secondary-strong: #a9a29a;--color-secondary-contrast: #14130f;--color-border-control: #6b665f;--color-canvas: #14130f;--color-surface: #1c1b17;--color-surface-alt: #232118;--color-surface-sunken: #232118;--color-surface-inverse: #f2efe9;--color-overlay: rgb(0 0 0 / .6);--color-border-subtle: #232118;--color-border: #2a2823;--color-border-strong: #3a3730;--color-text: #f2efe9;--color-text-muted: #a9a29a;--color-text-subtle: #969088;--color-text-inverse: #14130f;--color-disabled: #232118;--color-disabled-text: #969088;--color-success: #4eae76;--color-success-contrast: #1c1b17;--color-warning: #c99a3e;--color-warning-contrast: #1c1b17;--color-danger: #d1655a;--color-danger-contrast: #1c1b17;--color-info: #5aa2c4;--color-info-contrast: #1c1b17;--color-success-soft: #16321f;--color-success-soft-text: #8fd4a8;--color-warning-soft: #33260d;--color-warning-soft-text: #e5bf78;--color-danger-soft: #351a16;--color-danger-soft-text: #f0a49b;--color-info-soft: #122a33;--color-info-soft-text: #8fc6d8;--shadow-color: 0 0 0;--shadow-inset-top: inset 0 1px 0 rgb(255 255 255 / .06)}}@layer reset{*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;font-family:var(--font-family-base);line-height:var(--line-height-base);scroll-padding-top:var(--scroll-padding-top)}html:focus-within{scroll-behavior:smooth}body{min-height:100vh;font-size:var(--font-size-base);color:var(--color-text);background:var(--color-canvas)}ul[class],ol[class]{list-style:none;padding:0}img,picture,svg,video{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none}a{color:inherit;text-decoration:none}table{border-collapse:collapse}fieldset{border:none;padding:0;margin:0;min-width:0}legend{padding:0}hr{border:none;border-top:var(--border-width) solid var(--color-border)}dialog{border:none;padding:0;background:none;color:inherit;max-width:min(100%,calc(100vw - 2 * var(--space-4)));max-height:min(100%,calc(100vh - 2 * var(--space-4)));margin:auto}dialog::backdrop{background:var(--color-overlay)}[hidden]{display:none!important}:disabled,[aria-disabled=true]{cursor:not-allowed}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.spinner,.btn--loading:after{animation-duration:1.5s!important;animation-iteration-count:infinite!important}}}@layer base{.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{width:100%;max-width:var(--container-max-width);margin-inline:auto;padding-inline:var(--space-4)}.skip-link{position:absolute;top:-3rem;left:0;z-index:var(--z-toast);background:var(--color-primary);color:var(--color-primary-contrast);padding:var(--space-2) var(--space-4);border-radius:0 0 var(--radius-sm) 0;transition:top var(--transition-fast)}.skip-link:focus{top:0}.js-only{display:none}.js .js-only{display:inline-flex}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}@media screen and (max-width:575px){.hide-sm{display:none!important}}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.stack--sm{gap:var(--space-3)}.stack--lg{gap:var(--space-6)}}@layer base{h1,h2,h3,h4,h5,h6{font-family:var(--font-family-display);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--color-text);text-wrap:pretty}h1{font-size:var(--font-size-4xl);letter-spacing:var(--letter-spacing-tighter);line-height:1.05}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}:where(h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote,pre,table,hr):not([class]){margin-block:0 var(--space-3)}:where(h1,h2,h3,h4):not([class]){margin-block:var(--space-6) var(--space-3)}:where(h1):not([class]){margin-block-end:var(--space-4)}:where(h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote,pre,table,hr):not([class]):first-child{margin-block-start:0}:where(h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote,pre,table,hr):not([class]):last-child{margin-block-end:0}small,.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.text-2xs{font-size:var(--font-size-2xs)}.text-muted{color:var(--color-text-muted)}.text-subtle{color:var(--color-text-subtle)}.text-mono{font-family:var(--font-family-mono)}.text-caps{font-family:var(--font-family-mono);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-subtle)}.text-nums{font-variant-numeric:tabular-nums}a:not([class]){color:var(--color-accent, var(--color-primary));text-decoration:underline;text-underline-offset:.2em}a:not([class]):hover{color:var(--color-accent-strong, var(--color-primary-strong))}a:not([class]):focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.link{color:var(--color-accent, var(--color-primary));text-decoration:none;cursor:pointer}.link:hover{text-decoration:underline;text-underline-offset:.2em}.link:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.text-medium{font-weight:var(--font-weight-medium)}.text-semibold{font-weight:var(--font-weight-semibold)}.text-bold{font-weight:var(--font-weight-bold)}}@layer layouts{.layout{display:flex;flex-direction:column;min-height:100vh;background:var(--color-canvas)}.layout__header{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;background:var(--color-surface)}.layout__header>.navbar{flex:1 1 auto;min-width:0;position:static}.layout--static-header .layout__header{position:static}.layout__body{display:flex;flex:1 1 auto;min-height:0}.layout__content{flex:1 1 auto;min-width:0;padding:var(--layout-gutter)}.layout__footer{padding:var(--space-6) var(--layout-gutter);border-top:var(--border-width) solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-sm)}.layout--boxed .layout__content,.layout--boxed .layout__footer{width:100%;max-width:var(--layout-max-width);margin-inline:auto}.layout__backdrop{display:none}@media screen and (max-width:991px){.js .sidebar.is-open~.layout__backdrop{display:block;position:fixed;inset:0;z-index:calc(var(--z-overlay) - 1);background:var(--color-overlay)}}.layout__drawer-toggle{margin-inline-start:var(--space-3)}}@layer layouts{.layout--stacked .layout__content{display:flex;flex-direction:column;gap:var(--space-6)}@media screen and (min-width:1400px){.layout--stacked:not(.layout--boxed) .layout__content{padding-inline:max(var(--layout-gutter),calc((100% - var(--layout-max-width)) / 2))}}}@layer layouts{.layout--sidebar .layout__body>.sidebar{width:var(--layout-sidebar-width)}.layout--sidebar-end .layout__body{flex-direction:row-reverse}.layout__aside{flex:0 0 var(--layout-aside-width);padding:var(--layout-gutter);padding-inline-start:0}@media screen and (max-width:1199px){.layout--sidebar .layout__body{flex-wrap:wrap}.layout__aside{flex:1 1 100%;padding-inline-start:var(--layout-gutter);padding-top:0}}@media screen and (min-width:992px){.layout--sidebar .layout__body>.sidebar{position:sticky;top:var(--scroll-padding-top);align-self:flex-start;height:calc(100vh - var(--scroll-padding-top))}.layout--static-header .layout__body>.sidebar{top:0;height:100vh}}}@layer layouts{.layout--rail .layout__body{flex-direction:row}.layout__rail{flex:0 0 var(--layout-rail-width);position:sticky;top:0;align-self:flex-start;height:100vh;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding-block:var(--space-3);background:var(--color-surface);border-inline-end:var(--border-width) solid var(--color-border)}.layout--rail .layout__header~.layout__body .layout__rail{top:var(--scroll-padding-top);height:calc(100vh - var(--scroll-padding-top))}.layout__rail-brand{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-bottom:var(--space-2);border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-primary-contrast);font-weight:var(--font-weight-bold)}.layout__rail-link{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);color:var(--color-text-subtle)}.layout__rail-link:hover{color:var(--color-text);background:var(--color-surface-sunken)}.layout__rail-link[aria-current=page]{background:var(--color-surface-sunken);color:var(--color-primary)}.layout__rail-link:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.layout__rail-end{margin-top:auto}@media screen and (max-width:767px){.layout--rail .layout__body{flex-direction:column}.layout__rail{position:fixed;inset-inline:0;bottom:0;top:auto;height:auto;flex-direction:row;justify-content:space-around;padding:var(--space-2) var(--space-3);border-inline-end:none;border-top:var(--border-width) solid var(--color-border);z-index:var(--z-sticky)}.layout__rail-brand,.layout__rail-end{display:none}.layout__rail-link{width:44px;height:44px}.layout--rail .layout__content{padding-bottom:calc(var(--layout-gutter) + 60px)}}}@layer layouts{.layout--split .layout__body{flex-direction:row}.layout__pane{flex:0 0 var(--layout-pane-width);min-width:0;border-inline-end:var(--border-width) solid var(--color-border);background:var(--color-surface);overflow-y:auto}.layout--split .layout__content{flex:1 1 auto;overflow-y:auto}@media screen and (min-width:768px){.layout--split .layout__body{height:calc(100vh - var(--scroll-padding-top));position:sticky;top:var(--scroll-padding-top)}.layout--split.layout--static-header .layout__body,.layout--split:not(:has(.layout__header)) .layout__body{height:100vh;top:0}}@media screen and (min-width:768px)and (max-width:991px){.layout__pane{flex-basis:min(var(--layout-pane-width),40%)}}@media screen and (max-width:767px){.layout__pane{flex:1 1 100%;border-inline-end:none}.layout--split .layout__content,.layout--show-detail .layout__pane{display:none}.layout--show-detail .layout__content{display:block}}}@layer layouts{.layout--article .layout__content{display:grid;grid-template-columns:minmax(0,var(--layout-measure));justify-content:center;gap:var(--space-8)}.layout--article-wide .layout__content{grid-template-columns:minmax(0,var(--layout-max-width))}.layout__article{min-width:0}.layout--article .layout__aside{flex:none;padding:0}@media screen and (min-width:992px){.layout--article.layout--has-aside .layout__content{grid-template-columns:minmax(0,var(--layout-measure)) var(--layout-aside-width)}.layout--article-wide.layout--has-aside .layout__content{grid-template-columns:minmax(0,1fr) var(--layout-aside-width);max-width:var(--layout-max-width);margin-inline:auto}.layout--aside-start .layout__content{direction:rtl}.layout--aside-start .layout__content>*{direction:ltr}.layout--article .layout__aside{position:sticky;top:calc(var(--scroll-padding-top) + var(--space-4));align-self:start}}.layout--article .layout__footer{text-align:center}}@layer layouts{.layout--docs .layout__body>.sidebar{width:var(--layout-sidebar-width)}.layout--docs .layout__content{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-6);max-width:calc(var(--layout-measure) + var(--layout-aside-width) + var(--space-8))}.layout__toc-toggle{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--control-height-md);padding-inline:var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer}.layout__toc-toggle:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.layout__toc-title{font-family:var(--font-family-mono);font-size:var(--font-size-2xs);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-subtle);margin-bottom:var(--space-2)}@media screen and (max-width:1199px){.layout__toc{order:-1}.js .layout__toc-body{display:none;padding:var(--space-3) 0 0}.js .layout__toc-body.is-open{display:block}.layout__toc-title{display:none}}@media screen and (min-width:992px){.layout--docs .layout__body>.sidebar{position:sticky;top:var(--scroll-padding-top);align-self:flex-start;height:calc(100vh - var(--scroll-padding-top))}}@media screen and (min-width:1200px){.layout--docs .layout__content{grid-template-columns:minmax(0,var(--layout-measure)) var(--layout-aside-width)}.layout__toc{position:sticky;top:calc(var(--scroll-padding-top) + var(--space-4));align-self:start}.layout__toc-toggle{display:none}}}@layer layouts{.layout--auth{display:flex;align-items:center;justify-content:center;padding:var(--layout-gutter)}.layout__auth-panel{width:100%;max-width:24rem}.layout__auth-brand{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-6);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.layout__auth-narrative{display:none}@media screen and (min-width:992px){.layout--auth-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;padding:0}.layout--auth-split .layout__auth-narrative{display:flex;flex-direction:column;justify-content:center;gap:var(--space-6);padding:var(--space-10) var(--space-8);background:var(--color-surface-inverse);color:var(--color-text-inverse)}.layout--auth-split .layout__auth-form{display:flex;align-items:center;justify-content:center;padding:var(--space-10) var(--space-8)}}@media screen and (min-width:1400px){.layout--auth-split .layout__auth-narrative>*{max-width:32rem;margin-inline:auto;width:100%}}}@layer layouts{.layout--focus .layout__header{justify-content:center;padding:var(--space-4) var(--layout-gutter);background:transparent}.layout--focus .layout__content{width:100%;max-width:var(--layout-focus-width);margin-inline:auto;padding-block:var(--space-8)}.layout--focus-wide .layout__content{max-width:var(--layout-measure)}.layout--focus .layout__footer{border-top:none;text-align:center}}@layer components{.card{position:relative;display:flex;flex-direction:column;background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md)}.card--elevated{border-color:transparent;box-shadow:var(--shadow-md)}.card--flat{border-color:transparent;background:var(--color-surface-alt)}.card--horizontal{flex-direction:row}.card--horizontal>.card__media{flex:0 0 35%;aspect-ratio:auto;align-self:stretch}.card--horizontal>.card__content{min-width:0}.card--clickable{cursor:pointer;text-align:inherit;transition:box-shadow var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.card--clickable:hover,.card--clickable:focus-within{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card--clickable:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.card--selected{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.card__content{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.card__media{position:relative;overflow:hidden;aspect-ratio:16 / 9;background:var(--color-surface-alt)}.card__media>img,.card__media>video,.card__media>svg{display:block;width:100%;height:100%;object-fit:cover}.card__media:first-child{border-start-start-radius:inherit;border-start-end-radius:inherit}.card--horizontal>.card__media:first-child{border-start-end-radius:0;border-end-start-radius:inherit}.card__media--square{aspect-ratio:1 / 1}.card__media--tall{aspect-ratio:3 / 4}.card__media--banner{aspect-ratio:21 / 9}.card__media-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:var(--space-4);background:linear-gradient(to top,var(--color-media-scrim),transparent);color:var(--color-on-media)}.card__header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:var(--border-width) solid var(--color-border)}.card__avatar{flex:0 0 auto;width:2.5rem;height:2.5rem;border-radius:var(--radius-full);overflow:hidden}.card__avatar>img{width:100%;height:100%;object-fit:cover}.card__heading{flex:1 1 auto;min-width:0}.card__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.card__title-link{color:inherit;text-decoration:none}.card__title-link:after{content:"";position:absolute;inset:0;z-index:1}.card__title-link:hover,.card__title-link:focus-visible{text-decoration:underline}.card__stretch-link{position:absolute;inset:0;z-index:1}.card__subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted)}.card__actions{position:relative;z-index:2;display:flex;align-items:center;gap:var(--space-2);margin-inline-start:auto}.card__body{padding:var(--space-4);flex:1 1 auto;color:var(--color-text);font-size:var(--font-size-base)}.card__body>:not(:last-child){margin-bottom:var(--space-3)}.card__footer{position:relative;z-index:2;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4);border-top:var(--border-width) solid var(--color-border);justify-content:flex-end}.card__footer--split{justify-content:space-between}.card__meta{font-size:var(--font-size-sm);color:var(--color-text-muted)}.card--danger{border-color:var(--color-danger-soft-text)}}@layer components{.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-height-md);padding-inline:var(--space-4);border:var(--border-width) solid var(--color-primary);border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1;white-space:nowrap;flex-shrink:0;background:var(--color-primary);color:var(--color-primary-contrast);box-shadow:var(--shadow-inset-top),var(--shadow-sm);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.btn:hover{background:var(--color-primary-strong);border-color:var(--color-primary-strong)}.btn:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.btn:disabled,.btn[aria-disabled=true]{background:var(--color-disabled);border-color:transparent;color:var(--color-disabled-text);box-shadow:none;cursor:not-allowed}.btn--secondary{background:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-secondary-contrast)}.btn--secondary:hover{background:var(--color-secondary-strong, var(--color-secondary));border-color:var(--color-secondary-strong, var(--color-secondary))}.btn--outline{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text);box-shadow:var(--shadow-sm)}.btn--outline:hover{background:var(--color-surface-alt);border-color:var(--color-border-strong)}.btn--subtle{background:var(--color-surface-sunken);border-color:transparent;color:var(--color-text);box-shadow:none}.btn--subtle:hover{background:var(--color-border);border-color:transparent}.btn--ghost{background:transparent;border-color:transparent;color:var(--color-text-muted);box-shadow:none}.btn--ghost:hover{background:var(--color-surface-sunken);border-color:transparent;color:var(--color-text)}.btn--accent{background:var(--color-accent, var(--color-primary));border-color:var(--color-accent, var(--color-primary));color:var(--color-accent-contrast, var(--color-primary-contrast))}.btn--accent:hover{background:var(--color-accent-strong, var(--color-primary-strong));border-color:var(--color-accent-strong, var(--color-primary-strong))}.btn--danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-danger-contrast)}.btn--danger:hover{filter:brightness(.92)}.btn--sm{height:var(--control-height-sm);padding-inline:var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.btn--lg{height:var(--control-height-lg);padding-inline:var(--space-5);font-size:var(--font-size-base)}.btn--icon{width:var(--control-height-md);padding-inline:0}.btn--sm.btn--icon{width:var(--control-height-sm)}.btn--lg.btn--icon{width:var(--control-height-lg)}.btn--block{display:flex;width:100%}.btn--loading{position:relative;color:transparent;pointer-events:none}.btn--loading:after{content:"";position:absolute;width:1em;height:1em;border:var(--border-width-thick) solid var(--btn-loading-color, var(--color-primary-contrast));border-inline-end-color:transparent;border-radius:var(--radius-full);animation:btn-spin .6s linear infinite}.btn--outline,.btn--subtle,.btn--ghost{--btn-loading-color: var(--color-text)}.btn--secondary{--btn-loading-color: var(--color-secondary-contrast)}.btn--accent{--btn-loading-color: var(--color-accent-contrast)}.btn--danger{--btn-loading-color: var(--color-danger-contrast)}.btn-group{display:inline-flex;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.btn-group>.btn{box-shadow:none;border-radius:0}.btn-group>.btn:first-child{border-start-start-radius:var(--radius-md);border-end-start-radius:var(--radius-md)}.btn-group>.btn:last-child{border-start-end-radius:var(--radius-md);border-end-end-radius:var(--radius-md)}.btn-group>.btn+.btn{margin-inline-start:calc(var(--border-width) * -1)}.btn-group>.btn:focus-visible,.btn-group>.dropdown>.btn:focus-visible{position:relative;z-index:1}.btn-group>.dropdown>.btn{box-shadow:none;border-radius:0}.btn-group>.dropdown:last-child>.btn{border-start-end-radius:var(--radius-md);border-end-end-radius:var(--radius-md)}.btn-group>.btn+.dropdown{margin-inline-start:calc(var(--border-width) * -1)}@keyframes btn-spin{to{transform:rotate(360deg)}}}@layer components{.switch{display:inline-flex;align-items:flex-start;gap:var(--space-3);cursor:pointer}.switch__input{position:absolute;opacity:0;width:1px;height:1px}.switch__track{position:relative;flex:0 0 auto;width:38px;height:22px;margin-top:1px;background:var(--color-border-strong);border-radius:var(--radius-full);box-shadow:inset 0 1px 2px rgb(var(--shadow-color) / .18);transition:background var(--transition-fast)}.switch__thumb{position:absolute;top:2px;inset-inline-start:2px;width:18px;height:18px;background:var(--color-surface);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast)}.switch__input:checked~.switch__track{background:var(--color-primary)}.switch__input:checked~.switch__track .switch__thumb{transform:translate(16px)}.switch__input:focus-visible~.switch__track{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.switch__input:disabled~.switch__track{opacity:.5;cursor:not-allowed}.switch__text{display:flex;flex-direction:column;gap:1px}.switch__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.switch__hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}}@layer components{.choice{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.choice__input{width:1.125rem;height:1.125rem;accent-color:var(--color-primary);cursor:pointer}.choice__input:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.choice__input:disabled{cursor:not-allowed}.choice__input:disabled~.choice__label{opacity:.5;cursor:not-allowed}.choice__label{font-size:var(--font-size-base);color:var(--color-text)}.choice-group{display:flex;flex-direction:column;gap:var(--space-2)}.choice-group--inline{flex-direction:row;flex-wrap:wrap;gap:var(--space-4)}}@layer components{.input{display:block;width:100%;height:var(--control-height-md);padding-inline:var(--space-3);border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-family:inherit;font-size:var(--font-size-base);box-shadow:inset 0 1px 2px rgb(var(--shadow-color) / .04);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input::placeholder{color:var(--color-text-subtle)}.input:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px;border-color:var(--color-primary)}.input:disabled{background:var(--color-surface-sunken);border-color:var(--color-border);color:var(--color-disabled-text);box-shadow:none;cursor:not-allowed}.input--invalid{border-color:var(--color-danger)}.input--sm{height:var(--control-height-sm);padding-inline:var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.input--lg{height:var(--control-height-lg);padding-inline:var(--space-4);font-size:var(--font-size-lg)}.input--multiline{height:auto;padding-block:var(--space-2);line-height:var(--line-height-base);resize:vertical}.input-icon{position:relative;display:flex;align-items:center}.input-icon__glyph{position:absolute;inset-inline-start:var(--space-3);display:inline-flex;color:var(--color-text-subtle);pointer-events:none}.input-icon--end .input-icon__glyph{inset-inline-start:auto;inset-inline-end:var(--space-3)}.input-icon .input{padding-inline-start:var(--space-8)}.input-icon--end .input{padding-inline-start:var(--space-3);padding-inline-end:var(--space-8)}.input-float{position:relative}.input-float .input{height:var(--control-height-lg);padding-top:var(--space-4);padding-bottom:0}.input-float__label{position:absolute;inset-inline-start:var(--space-3);top:50%;transform:translateY(-50%);font-size:var(--font-size-base);color:var(--color-text-muted);pointer-events:none;transition:top var(--transition-fast),font-size var(--transition-fast),color var(--transition-fast)}.input-float .input:focus~.input-float__label,.input-float .input:not(:placeholder-shown)~.input-float__label{top:var(--space-3);font-size:var(--font-size-2xs);color:var(--color-text-subtle)}.input-group{display:flex;align-items:stretch;border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface);box-shadow:inset 0 1px 2px rgb(var(--shadow-color) / .04)}.input-group>:first-child{border-start-start-radius:inherit;border-end-start-radius:inherit}.input-group>:last-child{border-start-end-radius:inherit;border-end-end-radius:inherit}.input-group:focus-within{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px;border-color:var(--color-primary)}.input-group>.input,.input-group .select .select__native,.input-group .select .combobox__field{height:100%;border:none;border-radius:0;background:transparent;box-shadow:none}.input-group>.input{height:auto}.input-group .select{width:auto}.input-group__addon>.select{margin-inline:calc(var(--space-3) * -1)}.input-group .select .combobox__input{width:5ch;flex:0 0 auto;padding-inline-start:var(--space-3)}.input-group .select .combobox__list{inset-inline-end:auto;min-width:12rem;width:max-content;max-width:calc(100vw - 2 * var(--space-4));border-top:var(--border-width) solid var(--ring-color);border-radius:var(--radius-md)}.input-group>.input:focus-visible,.input-group .select .select__native:focus-visible,.input-group .select .combobox__field:focus-within{outline:none}.input-group__control{flex:1 1 auto;min-width:0}.input-group__addon{display:flex;align-items:center;flex:0 0 auto;padding-inline:var(--space-3);background:var(--color-surface-sunken);color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:nowrap}.input-group__addon:first-child{border-inline-end:var(--border-width) solid var(--color-border)}.input-group__addon:last-child{border-inline-start:var(--border-width) solid var(--color-border)}}@layer components{.textarea{resize:vertical;min-height:6rem}}@layer components{.select{position:relative;display:inline-block;width:100%}.select__native{appearance:none;width:100%;height:var(--control-height-md);padding-block:0;padding-inline:var(--space-3) calc(var(--space-3) * 2 + 15px);border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-base)}.select__native:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px;border-color:var(--color-primary)}.select__native:disabled{background:var(--color-surface-alt);color:var(--color-disabled-text);cursor:not-allowed}.js .select__native{display:none}html:not(.js) .select__ui{display:none}.select__ui .combobox__field{cursor:pointer}.select__ui .combobox__input{cursor:pointer;caret-color:transparent}.select__ui .combobox__input:disabled{cursor:not-allowed}.select--disabled .combobox__field{background:var(--color-surface-alt);color:var(--color-disabled-text)}.select--invalid .select__native,.select--invalid .combobox__field{border-color:var(--color-danger)}.select__ui .combobox__hints{display:none}}@layer components{.alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border-inline-start:var(--border-width-thick) solid var(--color-border-strong);background:var(--color-surface-sunken);color:var(--color-text)}.alert__icon{flex:0 0 auto;margin-top:1px}.alert__body{flex:1 1 auto;min-width:0}.alert__title{font-weight:var(--font-weight-semibold)}.alert__text{font-size:var(--font-size-sm);line-height:var(--line-height-base)}.alert__list{margin-top:var(--space-1);padding:0;list-style:none;display:flex;flex-direction:column;gap:3px;font-size:var(--font-size-sm)}.alert__field{display:flex;gap:var(--space-2)}.alert__field-name{font-family:var(--font-family-mono);font-size:var(--font-size-xs);opacity:.85}.alert__close{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;margin:-4px;background:none;border:none;border-radius:var(--radius-sm);padding:0;cursor:pointer;color:inherit;opacity:.55}.alert__close:hover{opacity:1}.alert__close:focus-visible{outline:var(--ring-width) solid currentColor;outline-offset:var(--ring-offset)}.alert--success{background:var(--color-success-soft);border-inline-start-color:var(--color-success);color:var(--color-success-soft-text)}.alert--warning{background:var(--color-warning-soft);border-inline-start-color:var(--color-warning);color:var(--color-warning-soft-text)}.alert--danger{background:var(--color-danger-soft);border-inline-start-color:var(--color-danger);color:var(--color-danger-soft-text)}.alert--info{background:var(--color-info-soft);border-inline-start-color:var(--color-info);color:var(--color-info-soft-text)}}@layer components{.form-field{display:flex;flex-direction:column;gap:var(--space-1)}.form-field__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.form-field__required{color:var(--color-danger);margin-left:var(--space-1)}.form-field__help{font-size:var(--font-size-xs);color:var(--color-text-muted)}.form-field__error{font-size:var(--font-size-xs);color:var(--color-danger)}.form-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-4)}.form-grid>*{grid-column:span 12}@media screen and (min-width:768px){.form-grid>.form-grid__col-6{grid-column:span 6}.form-grid>.form-grid__col-4{grid-column:span 4}.form-grid>.form-grid__col-3{grid-column:span 3}}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}}@layer components{.form{display:flex;flex-direction:column;gap:var(--space-4)}}@layer components{.menu__list,.menu__sublist{display:flex;flex-direction:column;gap:var(--space-1);list-style:none}.menu__sublist{padding-inline-start:var(--space-4);margin-top:var(--space-1)}.menu__link{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:none;border:none;color:var(--color-text);font:inherit;text-align:start;cursor:pointer}.menu__link:hover{background:var(--color-surface-alt)}.menu__link:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-2px}.menu__link--active{background:var(--color-surface-alt);color:var(--color-primary);font-weight:var(--font-weight-medium)}.menu__icon{flex:0 0 auto;width:1.1em;height:1.1em}.menu__caret{margin-inline-start:auto;flex:0 0 auto;transition:transform var(--transition-fast)}.menu__link[aria-expanded=true] .menu__caret{transform:rotate(90deg)}}@layer components{.navbar{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-bottom:var(--border-width) solid var(--color-border);position:sticky;top:0;z-index:var(--z-sticky)}.navbar__brand{display:flex;align-items:center;gap:var(--space-2);min-width:0;font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navbar__nav{display:flex;align-items:center;gap:var(--space-4);margin-inline-start:var(--space-4)}.navbar__link{color:var(--color-text-muted);font-weight:var(--font-weight-medium);padding-block:var(--space-2)}.navbar__link:hover{color:var(--color-primary)}.navbar__link:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.navbar__link--active{color:var(--color-primary)}.navbar__spacer{flex:1 1 auto}.navbar__actions{display:flex;align-items:center;gap:var(--space-3);margin-inline-start:auto;flex-shrink:0}.navbar__toggle{display:none;align-items:center;justify-content:center;min-width:var(--control-height-md);min-height:var(--control-height-md);background:none;border:none;border-radius:var(--radius-md);cursor:pointer;padding:var(--space-2);color:var(--color-text)}.navbar__toggle:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.navbar__toggle--sidebar{display:inline-flex}@media screen and (min-width:992px){.navbar__toggle--sidebar{display:none}}@media screen and (max-width:767px){.navbar__nav{position:absolute;top:100%;inset-inline:0;flex-direction:column;align-items:stretch;gap:0;margin-inline-start:0;background:var(--color-surface);border-bottom:var(--border-width) solid var(--color-border);padding:var(--space-2) var(--space-4)}.js .navbar__nav{display:none}.js .navbar__nav.is-open{display:flex}.navbar__link{padding-block:var(--space-3)}.navbar__toggle{display:inline-flex}}}@layer components{.sidebar{display:flex;flex-direction:column;gap:var(--space-4);width:16rem;flex:0 0 auto;padding:var(--space-4);background:var(--color-surface);color:var(--color-text);border-inline-end:var(--border-width) solid var(--color-border);overflow-y:auto}.sidebar__brand{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);padding:0 var(--space-2)}.sidebar__brand-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2rem;height:2rem;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-primary-contrast)}.sidebar__collapse-toggle{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:none;color:var(--color-text-muted);cursor:pointer}.sidebar__collapse-toggle:hover{background:var(--color-surface-alt)}.sidebar__collapse-toggle:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-2px}.sidebar__collapse-icon{transition:transform var(--transition-base)}@media screen and (min-width:992px){.sidebar{transition:width var(--transition-base)}.sidebar--collapsed{width:4.5rem}.sidebar--collapsed .sidebar__brand-label,.sidebar--collapsed .menu__link-label,.sidebar--collapsed .menu__caret,.sidebar--collapsed .menu__sublist,.sidebar--collapsed .sidebar__collapse-label{display:none}.sidebar--collapsed .menu__link{justify-content:center}.sidebar--collapsed .sidebar__collapse-icon{transform:rotate(180deg)}}@media screen and (max-width:991px){.js .sidebar{position:fixed;inset-block:0;inset-inline-start:0;z-index:var(--z-overlay);transform:translate(-100%);visibility:hidden;transition:transform var(--transition-base),visibility 0s var(--transition-base);box-shadow:var(--shadow-xl)}[dir=rtl] .js .sidebar{transform:translate(100%)}.js .sidebar.is-open{transform:translate(0);visibility:visible;transition:transform var(--transition-base)}}}@layer components{.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-4)}.grid>*{grid-column:span 12}@media screen and (min-width:768px){.grid>.col-1{grid-column:span 1}.grid>.col-2{grid-column:span 2}.grid>.col-3{grid-column:span 3}.grid>.col-4{grid-column:span 4}.grid>.col-5{grid-column:span 5}.grid>.col-6{grid-column:span 6}.grid>.col-7{grid-column:span 7}.grid>.col-8{grid-column:span 8}.grid>.col-9{grid-column:span 9}.grid>.col-10{grid-column:span 10}.grid>.col-11{grid-column:span 11}.grid>.col-12{grid-column:span 12}}}@layer components{.tabs__list{display:flex;gap:var(--space-1);box-shadow:inset 0 calc(var(--border-width) * -1) 0 var(--color-border);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.tabs__tab{padding:var(--space-2) var(--space-4);background:none;border:none;border-bottom:var(--border-width-thick) solid transparent;color:var(--color-text-muted);font-weight:var(--font-weight-medium);white-space:nowrap;cursor:pointer}.tabs__tab:hover{color:var(--color-text)}.tabs__tab:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-2px}.tabs__tab[aria-selected=true]{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tabs__panel{padding-top:var(--space-4)}}@layer components{.collapsible{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md)}.collapsible__trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:none;border-radius:inherit;font:inherit;font-weight:var(--font-weight-medium);text-align:left;cursor:pointer}.collapsible__trigger:hover{background:var(--color-surface-alt)}.collapsible__trigger:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-2px}.collapsible__icon{flex:0 0 auto;transition:transform var(--transition-fast)}.collapsible__trigger[aria-expanded=true] .collapsible__icon{transform:rotate(180deg)}.collapsible__panel{padding:var(--space-4);border-top:var(--border-width) solid var(--color-border)}.accordion>.collapsible{border-radius:0}.accordion>.collapsible+.collapsible{border-top:none}.accordion>.collapsible:first-child{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.accordion>.collapsible:last-child{border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.collapsible__heading{margin:0}}@layer components{.dropdown{position:relative;display:inline-block}.dropdown__trigger{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-width:24px;min-height:24px;border-radius:var(--radius-sm)}.dropdown__trigger:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.dropdown__panel{position:absolute;top:100%;inset-inline-start:0;margin-top:var(--space-1);width:max-content;min-width:10rem;max-width:min(24rem,calc(100vw - 2 * var(--space-4)));background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);padding:var(--space-2)}.dropdown__panel--end{inset-inline-start:auto;inset-inline-end:0}.dropdown__panel--fixed{position:fixed;inset-inline:auto;margin-top:0}}@layer components{.wizard__steps{display:flex;list-style:none;margin-bottom:var(--space-6)}.wizard__step{flex:1 1 0;display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm)}.wizard__step:not(:last-child):after{content:"";flex:1 1 auto;height:var(--border-width);background:var(--color-border);margin-inline:var(--space-2)}.wizard__step-index{flex:0 0 auto;width:1.75rem;height:1.75rem;border-radius:var(--radius-full);border:var(--border-width-thick) solid var(--color-border);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold)}.wizard__step-label{white-space:nowrap}.wizard__step--active{color:var(--color-text)}.wizard__step--active .wizard__step-index{border-color:var(--color-primary);color:var(--color-primary)}.wizard__step--done .wizard__step-index{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-contrast)}@media screen and (max-width:575px){.wizard__step-label{display:none}}}@layer components{.pagination{display:flex;align-items:center;gap:var(--space-1);list-style:none}.pagination__link{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding-inline:var(--space-2);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--font-size-sm)}.pagination__link:hover{background:var(--color-surface-alt)}.pagination__link:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-2px}.pagination__link[aria-current=page]{background:var(--color-primary);color:var(--color-primary-contrast)}.pagination__link--disabled{color:var(--color-disabled-text);pointer-events:none}.pagination__ellipsis{padding-inline:var(--space-2);color:var(--color-text-muted)}}@layer components{.modal{border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:0;width:100%;max-width:32rem;background:var(--color-surface);color:var(--color-text)}.modal::backdrop{background:var(--color-overlay)}.modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border-bottom:var(--border-width) solid var(--color-border)}.modal__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.modal__close{background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:var(--font-size-xl);line-height:1}.modal__close:hover{color:var(--color-text)}.modal__close:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.modal__body{padding:var(--space-4)}.modal__footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4);border-top:var(--border-width) solid var(--color-border)}}@layer components{.toast-region{position:fixed;bottom:var(--space-4);inset-inline-end:var(--space-4);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);max-width:min(24rem,calc(100vw - 2 * var(--space-4)));max-height:50vh;overflow:hidden;pointer-events:none}.toast-region>*{pointer-events:auto}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);box-shadow:var(--shadow-lg);animation:toast-in var(--transition-base)}.toast__icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-full);background:var(--color-surface-sunken);color:var(--color-text-muted)}.toast__body{flex:1 1 auto;min-width:0;font-size:var(--font-size-sm)}.toast__meta{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:1px}.toast__action{flex:0 0 auto;min-height:24px;background:none;border:none;border-radius:var(--radius-sm);padding:0 var(--space-1);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-accent, var(--color-primary));cursor:pointer}.toast__close{flex:0 0 auto;align-self:center;display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;margin:-4px;background:none;border:none;border-radius:var(--radius-sm);padding:0;color:var(--color-text-subtle);cursor:pointer}.toast__close:hover{color:var(--color-text)}.toast__close:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.toast--ink{align-items:center;background:var(--color-surface-inverse);border-color:transparent;color:var(--color-text-inverse)}.toast--ink .toast__meta,.toast--ink .toast__close{color:var(--color-text-inverse);color:color-mix(in oklab,var(--color-text-inverse) 60%,transparent)}.toast--ink .toast__action{color:var(--color-accent-inverse, var(--color-primary-contrast))}.toast--success .toast__icon{background:var(--color-success-soft);color:var(--color-success)}.toast--warning .toast__icon{background:var(--color-warning-soft);color:var(--color-warning)}.toast--danger .toast__icon{background:var(--color-danger-soft);color:var(--color-danger)}.toast--info .toast__icon{background:var(--color-info-soft);color:var(--color-info)}@keyframes toast-in{0%{transform:translateY(var(--space-2));opacity:0}to{transform:translateY(0);opacity:1}}}@layer components{.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);background:var(--color-surface-sunken);color:var(--color-text-muted);border:var(--border-width) solid transparent}.badge__dot{flex:0 0 auto;width:6px;height:6px;border-radius:var(--radius-full);background:currentColor}.badge--primary{background:var(--color-primary);color:var(--color-primary-contrast)}.badge--accent{background:var(--color-accent, var(--color-primary));color:var(--color-accent-contrast, var(--color-primary-contrast))}.badge--neutral{background:var(--color-surface-sunken);border-color:var(--color-border);color:var(--color-text-muted)}.badge--success{background:var(--color-success-soft);color:var(--color-success-soft-text)}.badge--warning{background:var(--color-warning-soft);color:var(--color-warning-soft-text)}.badge--danger{background:var(--color-danger-soft);color:var(--color-danger-soft-text)}.badge--info{background:var(--color-info-soft);color:var(--color-info-soft-text)}.badge--code{border-radius:var(--radius-sm);padding:1px var(--space-2);font-family:var(--font-family-mono);font-size:var(--font-size-2xs);color:var(--color-text-muted)}.chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--color-surface);border:var(--border-width) solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text)}.chip--removable{padding-inline-end:var(--space-1)}.chip__remove{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-block:-3px;padding:0;background:var(--color-surface-sunken);border:none;border-radius:var(--radius-full);cursor:pointer;color:var(--color-text-muted)}.chip__remove:hover{background:var(--color-danger-soft);color:var(--color-danger-soft-text)}.chip__remove:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px}}@layer components{.avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2.5rem;height:2.5rem;border-radius:var(--radius-full);background:var(--color-secondary);color:var(--color-secondary-contrast);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);overflow:hidden}.avatar>img{width:100%;height:100%;object-fit:cover}.avatar--sm{width:2rem;height:2rem;font-size:var(--font-size-xs)}.avatar--lg{width:3.5rem;height:3.5rem;font-size:var(--font-size-xl)}.avatar-group{display:flex}.avatar-group .avatar{margin-left:-.5rem;border:2px solid var(--color-surface)}.avatar-group .avatar:first-child{margin-left:0}}@layer components{.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);list-style:none}.breadcrumb__item{display:flex;align-items:center;gap:var(--space-2)}.breadcrumb__item:not(:last-child):after{content:"/";color:var(--color-border-strong)}.breadcrumb__link{color:var(--color-text-muted)}.breadcrumb__link:hover{color:var(--color-primary)}.breadcrumb__item[aria-current=page]{color:var(--color-text);font-weight:var(--font-weight-medium)}}@layer components{.tooltip{position:relative;display:inline-block}.tooltip__content{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-.25rem);background:var(--color-surface-inverse);color:var(--color-text-inverse);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition-fast);z-index:var(--z-popover)}.tooltip:hover .tooltip__content,.tooltip:focus-within .tooltip__content{opacity:1}}@layer components{.progress{appearance:none;display:block;width:100%;height:.5rem;border:none;border-radius:var(--radius-full);overflow:hidden;background:var(--color-surface-alt)}.progress::-webkit-progress-bar{background:var(--color-surface-alt)}.progress::-webkit-progress-value{background:var(--color-primary);border-radius:var(--radius-full)}.progress::-moz-progress-bar{background:var(--color-primary);border-radius:var(--radius-full)}.spinner{display:inline-block;width:1.5rem;height:1.5rem;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:spinner-spin .7s linear infinite}@keyframes spinner-spin{to{transform:rotate(360deg)}}}@layer components{:root{--apx-accent: var(--color-accent, var(--color-primary));--apx-fore: var(--color-text);--apx-grid: var(--color-border);--apx-surface: var(--color-surface);--apx-bg: transparent;--apx-series-1: var(--color-accent, var(--color-primary));--apx-series-2: var(--color-info);--apx-series-3: var(--color-success);--apx-series-4: var(--color-warning);--apx-series-5: var(--color-danger);--apx-series-6: var(--color-secondary, var(--color-text-muted))}.chart{position:relative;width:100%;min-width:0;color:var(--color-text)}.chart .apexcharts-tooltip,.chart .apexcharts-menu{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--color-text);font-family:var(--font-family-base)}.chart .apexcharts-tooltip-title{background:var(--color-surface-sunken, var(--color-surface-alt));border-bottom:var(--border-width) solid var(--color-border)}.chart .apexcharts-xaxistooltip,.chart .apexcharts-yaxistooltip{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text)}.chart .apexcharts-menu-item:hover{background:var(--color-surface-sunken, var(--color-surface-alt))}}@layer components{.error-page{padding-block:var(--space-16)}.error-page__meta{font-size:var(--font-size-xs);letter-spacing:.05em;color:var(--color-text-muted);text-transform:uppercase}.error-page h1{margin:var(--space-2) 0 var(--space-4)}.error-page__details{margin-top:var(--space-4);border-collapse:collapse;font-size:var(--font-size-sm)}.error-page__details th,.error-page__details td{padding:var(--space-1) var(--space-3);text-align:left;border-bottom:var(--border-width) solid var(--color-border)}.error-page__debug{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-inverse);color:var(--color-danger-soft);overflow:auto;font-size:var(--font-size-xs);font-family:var(--font-family-mono)}.error-page__actions{margin-top:var(--space-6)}.error-page__request-id{margin-top:var(--space-6);font-size:var(--font-size-xs);color:var(--color-text-muted)}}@layer components{.data-table{--data-table-header-height: 34px;--data-table-select-width: 48px;display:flex;flex-direction:column;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.data-table>:first-child{border-start-start-radius:inherit;border-start-end-radius:inherit}.data-table>:last-child{border-end-start-radius:inherit;border-end-end-radius:inherit}.data-table__form{display:flex;flex-direction:column;min-height:0}.data-table__form>:first-child{border-start-start-radius:inherit;border-start-end-radius:inherit}.data-table__form>:last-child{border-end-start-radius:inherit;border-end-end-radius:inherit}.data-table__toolbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--color-border-subtle)}.data-table__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.data-table__bulk{position:sticky;top:0;inset-inline-start:0;z-index:5;display:flex;align-items:center;gap:var(--space-2);box-sizing:border-box;height:var(--data-table-header-height);margin-block-end:calc(-1 * var(--data-table-header-height));width:100%;padding:0 var(--space-4) 0 calc(var(--data-table-select-width) + var(--space-4));overflow-x:auto;overflow-y:hidden;white-space:nowrap;background:var(--color-surface-inverse);color:var(--color-text-inverse);font-size:var(--font-size-sm)}.data-table__bulk[hidden]{display:none}.data-table__bulk-count{flex:none;font-weight:var(--font-weight-medium)}.data-table__bulk-sep{flex:none;width:var(--border-width);height:16px;background:var(--color-text-muted);background:color-mix(in oklab,var(--color-text-inverse) 20%,transparent)}.data-table__bulk .btn{flex:none;height:26px;padding-inline:var(--space-2);font-size:var(--font-size-xs);background:transparent;border-color:var(--color-text-muted);border-color:color-mix(in oklab,var(--color-text-inverse) 22%,transparent);color:var(--color-text-inverse);box-shadow:none}.data-table__bulk .btn:hover{background:#80808040;background:color-mix(in oklab,var(--color-text-inverse) 10%,transparent)}.data-table__bulk .btn--danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-danger-contrast)}.data-table__scroll{position:relative;overflow:auto;max-height:var(--data-table-max-height, none)}.data-table__scroll--sm{--data-table-max-height: 240px}.data-table__scroll--md{--data-table-max-height: 400px}.data-table__scroll--lg{--data-table-max-height: 600px}.data-table__table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--font-size-sm)}.data-table__table th{position:sticky;top:0;z-index:3;height:var(--data-table-header-height);box-sizing:border-box;padding-inline:var(--space-4);text-align:start;white-space:nowrap;background:var(--color-surface-alt);border-bottom:var(--border-width) solid var(--color-border);font-family:var(--font-family-mono);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-subtle)}.data-table__table td{height:34px;padding-inline:var(--space-4);white-space:nowrap;border-bottom:var(--border-width) solid var(--color-border-subtle);background:var(--color-surface)}.data-table__table tbody tr:hover td{background:var(--color-surface-alt)}.data-table__row--selected td{background:var(--color-surface-sunken, var(--color-surface-alt));background:color-mix(in oklab,var(--color-accent, var(--color-primary)) 5%,var(--color-surface))}.data-table__select{position:sticky;inset-inline-start:0;z-index:1;box-sizing:border-box;width:var(--data-table-select-width);min-width:var(--data-table-select-width);padding-inline:0 0;padding-inline-start:var(--space-4)}th.data-table__select{z-index:6}.data-table__select+.data-table__cell--pinned{inset-inline-start:var(--data-table-select-width)}.data-table__cell--pinned{position:sticky;inset-inline-start:0;z-index:1;border-inline-end:var(--border-width) solid var(--color-border-subtle)}th.data-table__cell--pinned{z-index:4}.data-table__mono{font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.data-table__num{text-align:end;font-variant-numeric:tabular-nums}.data-table__select input{width:16px;height:16px;margin:0;accent-color:var(--color-accent, var(--color-primary));cursor:pointer}.data-table__select input:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.data-table__actions{width:40px;text-align:center}td.data-table__actions{position:sticky;inset-inline-end:0;background:var(--color-surface)}td.data-table__select,td.data-table__cell--pinned{z-index:2}.data-table__row-actions{position:absolute;inset-block:0;inset-inline-end:0;z-index:1;display:flex;align-items:center;gap:var(--space-2);width:max-content;padding-inline:var(--space-3);overflow-x:auto;overflow-y:hidden;white-space:nowrap;background:var(--color-surface-inverse);color:var(--color-text-inverse);font-size:var(--font-size-sm)}.data-table__row-actions .btn{flex:none;height:26px;padding-inline:var(--space-2);font-size:var(--font-size-xs);background:transparent;border-color:var(--color-text-muted);border-color:color-mix(in oklab,var(--color-text-inverse) 22%,transparent);color:var(--color-text-inverse);box-shadow:none}.data-table__row-actions .btn:hover{background:var(--color-surface-alt);background:color-mix(in oklab,var(--color-text-inverse) 12%,transparent)}.data-table__row-actions .btn--danger{border-color:var(--color-danger);background:var(--color-danger);color:var(--color-danger-contrast)}.data-table__row-actions .btn--icon{border-color:transparent}@keyframes data-table-row-actions-in{0%{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0)}}@keyframes data-table-row-actions-out{0%{clip-path:inset(0)}to{clip-path:inset(0 0 0 100%)}}.data-table__row-actions:not([hidden]){animation:data-table-row-actions-in var(--transition-base)}.data-table__row-actions.is-closing{animation-name:data-table-row-actions-out;animation-fill-mode:forwards;pointer-events:none}@media(prefers-reduced-motion:reduce){.data-table__row-actions:not([hidden]),.data-table__row-actions.is-closing{animation:none}}.data-table__row-actions-sep{flex:none;width:var(--border-width);height:16px;background:var(--color-text-muted);background:color-mix(in oklab,var(--color-text-inverse) 20%,transparent)}.data-table__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-2) var(--space-4);border-top:var(--border-width) solid var(--color-border);background:var(--color-surface-alt);font-size:var(--font-size-xs);color:var(--color-text-muted)}.data-table__sort{display:inline-flex;align-items:center;gap:var(--space-1);min-height:24px;padding:0;border:none;border-radius:var(--radius-sm);background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}th[aria-sort] .data-table__sort{color:var(--color-text)}.data-table__sort:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.data-table__empty{padding:var(--space-8);text-align:center;color:var(--color-text-muted)}.data-table__empty>.empty{justify-content:center;margin-inline:auto}}@layer components{.combobox,.combobox__anchor{position:relative}.combobox--open>.form-field__help,.combobox[aria-expanded=true]>.form-field__help{visibility:hidden}.combobox__field{display:flex;align-items:center;height:var(--control-height-md);padding-inline:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface)}.combobox__field:focus-within{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px;border-color:var(--color-primary)}.combobox[aria-expanded=true] .combobox__field,.combobox--open .combobox__field{border-end-start-radius:0;border-end-end-radius:0;border-color:var(--ring-color);box-shadow:0 0 0 1px var(--ring-color)}.combobox--open .combobox__field:focus-within{outline:none;border-color:var(--ring-color)}.combobox--open .combobox__list{border-color:var(--ring-color);box-shadow:0 0 0 1px var(--ring-color),var(--shadow-lg)}.combobox__input{flex:1 1 auto;min-width:0;height:100%;padding-inline-start:var(--space-2);border:none;outline:none;background:transparent;font:inherit;font-size:var(--font-size-base);color:var(--color-text)}.combobox__input::placeholder{color:var(--color-text-subtle)}.combobox__caret{flex:0 0 auto;display:inline-flex;color:var(--color-text-muted);cursor:pointer}.combobox__list{position:absolute;inset-inline:0;top:100%;z-index:var(--z-dropdown);border:var(--border-width) solid var(--color-primary);border-top:none;border-end-start-radius:var(--radius-md);border-end-end-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-lg);overflow:hidden}.combobox__list[hidden]{display:none}.combobox__group{padding:var(--space-2) var(--space-3) var(--space-1);border-top:var(--border-width) solid var(--color-border-subtle);font-family:var(--font-family-mono);font-size:var(--font-size-2xs);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-subtle)}.combobox__group:first-child{border-top:none}.combobox__option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);cursor:pointer}.combobox__option:hover,.combobox__option[data-active]{background:var(--color-surface-sunken)}.combobox__option-label{flex:1 1 auto;min-width:0;font-size:var(--font-size-sm)}.combobox__match{font-weight:var(--font-weight-semibold);background:var(--color-warning-soft);background:color-mix(in oklab,var(--color-accent, var(--color-primary)) 22%,var(--color-surface));border-radius:2px}.combobox__option-meta{flex:0 0 auto;font-size:var(--font-size-2xs);color:var(--color-text-subtle)}.combobox__check{flex:0 0 auto;display:inline-flex;color:var(--color-text)}.combobox__empty{padding:var(--space-4) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted)}.combobox__hints{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-top:var(--border-width) solid var(--color-border-subtle);background:var(--color-surface-alt);font-size:var(--font-size-2xs);color:var(--color-text-subtle)}.combobox__count{margin-inline-start:auto;font-family:var(--font-family-mono)}.combobox--multi .combobox__field{height:auto;min-height:var(--control-height-md);flex-wrap:wrap;gap:var(--space-1);padding:var(--space-1) var(--space-2)}.combobox__token{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-1) 2px var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface-sunken);font-size:var(--font-size-sm)}.combobox__token-remove{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;margin-block:-6px;padding:0;background:none;border:none;color:var(--color-text-muted);cursor:pointer}.combobox__token-remove:hover{color:var(--color-danger)}.combobox__token-remove:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px}.combobox__option[aria-disabled=true]{color:var(--color-disabled-text);cursor:not-allowed}}@layer components{.datepicker{position:relative;display:flex;flex-direction:column}.datepicker--open:not(.datepicker--inline){z-index:var(--z-popover)}.datepicker--inline .datepicker__panel{position:static;z-index:auto;margin-top:var(--space-3)}.datepicker--end .datepicker__panel{inset-inline-start:auto;inset-inline-end:0}.datepicker__trigger:disabled{color:var(--color-disabled-text);background:var(--color-surface-alt);cursor:not-allowed}.datepicker__trigger{display:inline-flex;align-items:center;gap:var(--space-2);height:var(--control-height-md);padding-inline:var(--space-3);border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface);font:inherit;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;color:var(--color-text);cursor:pointer}.datepicker__trigger[aria-expanded=true]{border-color:var(--color-primary)}.datepicker__trigger-icon{display:inline-flex;color:var(--color-text-muted)}.datepicker__panel{position:absolute;top:calc(100% + var(--space-1));inset-inline-start:0;z-index:var(--z-popover);max-width:calc(100vw - 2 * var(--space-4));border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-lg);overflow:hidden;width:max-content}.datepicker__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:var(--border-width) solid var(--color-border-subtle)}.datepicker__nav-group{display:inline-flex;gap:var(--space-1)}.datepicker__nav{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer}.datepicker__nav:hover{background:var(--color-surface-sunken);color:var(--color-text)}.datepicker__nav:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px}.datepicker__month{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.datepicker__grid{padding:var(--space-2) var(--space-3)}.datepicker__weekdays,.datepicker__days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.datepicker__weekdays{margin-bottom:var(--space-1)}.datepicker__weekday{padding-block:3px;text-align:center;font-family:var(--font-family-mono);font-size:var(--font-size-2xs);color:var(--color-text-subtle)}.datepicker__day{display:flex;align-items:center;justify-content:center;height:30px;border:none;border-radius:var(--radius-sm);background:transparent;font:inherit;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;color:var(--color-text);cursor:pointer}.datepicker__day:hover{background:var(--color-surface-sunken)}.datepicker__day:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:-1px}.datepicker__day--outside{color:var(--color-text-subtle)}.datepicker__day--today{box-shadow:inset 0 0 0 1.5px var(--color-accent, var(--color-primary))}.datepicker__day--in-range{background:var(--color-surface-sunken, var(--color-surface-alt));background:color-mix(in oklab,var(--color-accent, var(--color-primary)) 8%,var(--color-surface));border-radius:0}.datepicker__day--start,.datepicker__day--end{background:var(--color-primary);color:var(--color-primary-contrast)}.datepicker__day--start{border-start-end-radius:0;border-end-end-radius:0}.datepicker__day--end{border-start-start-radius:0;border-end-start-radius:0}.datepicker__day--start.datepicker__day--end{border-radius:var(--radius-sm)}.datepicker__day:disabled{color:var(--color-disabled-text);cursor:not-allowed}.datepicker__footer{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap;padding:var(--space-2) var(--space-3);border-top:var(--border-width) solid var(--color-border-subtle);background:var(--color-surface-alt)}.datepicker__preset{height:28px;padding-inline:var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font:inherit;font-size:var(--font-size-2xs);color:var(--color-text-muted);cursor:pointer}.datepicker__preset:hover{border-color:var(--color-primary);color:var(--color-text)}.datepicker__apply{margin-inline-start:auto;height:28px;padding-inline:var(--space-3);border:none;border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-primary-contrast);font:inherit;font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);cursor:pointer}}@layer components{.command{position:fixed;inset:0;z-index:var(--z-modal);display:flex;justify-content:center;padding:min(12vh,var(--space-8)) var(--space-4) var(--space-4);background:var(--color-overlay);overflow-y:auto}.command__search:focus-within{box-shadow:inset 0 calc(var(--ring-width) * -1) 0 var(--ring-color)}.command__esc:focus-visible,.command__item:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:-2px}.command[hidden]{display:none}.command--inline{position:static;inset:auto;padding:0;background:none;display:block}.command__sheet{width:100%;max-width:34rem;align-self:flex-start;border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xl);overflow:hidden}.command--inline .command__sheet{max-width:none}.command__search{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--color-border-subtle)}.command__search-icon{flex:0 0 auto;display:inline-flex;color:var(--color-text-subtle)}.command__input{flex:1 1 auto;min-width:0;border:none;outline:none;background:transparent;font:inherit;font-size:var(--font-size-lg);color:var(--color-text)}.command__input::placeholder{color:var(--color-text-subtle)}.command__list{padding:var(--space-1);max-height:min(22rem,55vh);overflow-y:auto}.command__group{padding:var(--space-2) var(--space-2) var(--space-1);font-family:var(--font-family-mono);font-size:var(--font-size-2xs);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-subtle)}.command__item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2);border:none;border-radius:var(--radius-sm);background:transparent;font:inherit;text-align:left;color:var(--color-text);cursor:pointer}.command__item:hover{background:var(--color-surface-sunken)}.command__item[data-active]{background:var(--color-primary);color:var(--color-primary-contrast)}.command__item-icon{flex:0 0 auto;display:inline-flex;opacity:.75}.command__item-badge{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-text-muted);font-family:var(--font-family-mono);font-size:var(--font-size-2xs)}.command__item-label{flex:1 1 auto;min-width:0;font-size:var(--font-size-sm)}.command__match{font-weight:var(--font-weight-semibold)}.command__item-meta{flex:0 0 auto;font-size:var(--font-size-xs);color:var(--color-text-subtle)}.command__item[data-active] .command__item-meta,.command__item[data-active] .command__item-badge{color:var(--color-primary-contrast);color:color-mix(in oklab,var(--color-primary-contrast) 70%,transparent);background:transparent}.command__kbd{display:inline-flex;align-items:center;padding:1px var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface-sunken);font-family:var(--font-family-mono);font-size:var(--font-size-2xs);color:var(--color-text-muted)}.command__item[data-active] .command__kbd{background:#8080804d;background:color-mix(in oklab,var(--color-primary-contrast) 16%,transparent);color:var(--color-primary-contrast)}.command__esc{flex:0 0 auto;border:var(--border-width) solid transparent;cursor:pointer}.command__esc:hover{border-color:var(--color-border-strong);color:var(--color-text)}.command__empty{padding:var(--space-5) var(--space-2);text-align:center;font-size:var(--font-size-sm);color:var(--color-text-muted)}.command__footer{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4);border-top:var(--border-width) solid var(--color-border-subtle);background:var(--color-surface-alt);font-size:var(--font-size-2xs);color:var(--color-text-subtle)}.command__count{margin-inline-start:auto;font-family:var(--font-family-mono)}.command__trigger{color:var(--color-text-muted);font-weight:var(--font-weight-normal)}@media screen and (min-width:576px){.command__trigger{min-width:14rem;justify-content:flex-start}.command__trigger .command__kbd{margin-inline-start:auto}}}@layer components{.dropzone{display:flex;flex-direction:column;gap:var(--space-3)}.dropzone__area{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-alt);text-align:center;transition:border-color var(--transition-fast),background var(--transition-fast)}.dropzone__area:focus-within,.dropzone__area--over{border-color:var(--color-accent, var(--color-primary));background:var(--color-surface);background:color-mix(in oklab,var(--color-accent, var(--color-primary)) 5%,var(--color-surface))}.dropzone__input{position:absolute;inset:0;opacity:0;cursor:pointer}.dropzone__icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-md);background:var(--color-surface);border:var(--border-width) solid var(--color-border);color:var(--color-text-muted)}.dropzone__area--over .dropzone__icon,.dropzone__area:focus-within .dropzone__icon{color:var(--color-accent, var(--color-primary))}.dropzone__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.dropzone__browse{color:var(--color-accent, var(--color-primary));text-decoration:underline;text-underline-offset:.18em}.dropzone__hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}.dropzone__files{display:flex;flex-direction:column;gap:var(--space-2)}.dropzone__file{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md)}.dropzone__file--error{border-color:var(--color-danger-soft-text);border-color:color-mix(in oklab,var(--color-danger) 25%,var(--color-border));background:var(--color-danger-soft);background:color-mix(in oklab,var(--color-danger) 3%,var(--color-surface))}.dropzone__file-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-text-muted);font-family:var(--font-family-mono);font-size:9px;text-transform:uppercase}.dropzone__file--done .dropzone__file-icon{background:var(--color-success-soft);color:var(--color-success)}.dropzone__file--error .dropzone__file-icon{background:var(--color-danger-soft);color:var(--color-danger)}.dropzone__file-body{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-width:0}.dropzone__file-row{display:flex;align-items:baseline;gap:var(--space-2)}.dropzone__file-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropzone__file-size{margin-inline-start:auto;font-size:var(--font-size-2xs);color:var(--color-text-subtle);font-variant-numeric:tabular-nums}.dropzone__file-error{font-size:var(--font-size-2xs);color:var(--color-danger)}.dropzone__bar{appearance:none;display:block;width:100%;height:4px;border:none;border-radius:var(--radius-full);background:var(--color-border-subtle);overflow:hidden}.dropzone__bar::-webkit-progress-bar{background:var(--color-border-subtle)}.dropzone__bar::-webkit-progress-value{background:var(--color-primary);border-radius:var(--radius-full)}.dropzone__bar::-moz-progress-bar{background:var(--color-primary);border-radius:var(--radius-full)}.dropzone__remove{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;border-radius:var(--radius-sm);padding:0;background:none;border:none;color:var(--color-text-subtle);cursor:pointer}.dropzone__remove:hover{color:var(--color-danger)}.dropzone__remove:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:2px}}@layer components{.slider{display:flex;flex-direction:column;gap:var(--space-2)}.slider__track,.slider__fill,.slider__ticks,.slider__thumb{display:none}.js .slider__track,.js .slider__fill,.js .slider__ticks,.js .slider__thumb{display:block}.js .slider__input{opacity:0}.slider__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.slider__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.slider__value{font-family:var(--font-family-mono);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.slider__control{position:relative;height:20px;display:flex;align-items:center}.slider__input{position:absolute;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.slider__track{position:absolute;inset-inline:0;height:5px;border-radius:var(--radius-full);background:var(--color-border-subtle);pointer-events:none}.slider__fill{position:absolute;inset-inline-start:0;width:var(--slider-pct, 0%);height:5px;border-radius:var(--radius-full);background:var(--color-primary);pointer-events:none}.slider__thumb{position:absolute;inset-inline-start:var(--slider-pct, 0%);margin-inline-start:-8.5px;width:17px;height:17px;border-radius:var(--radius-full);background:var(--color-surface);border:1.5px solid var(--color-primary);box-shadow:var(--shadow-sm);pointer-events:none}.slider__input:focus-visible~.slider__thumb{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.slider__scale{display:flex;justify-content:space-between;font-family:var(--font-family-mono);font-size:var(--font-size-2xs);color:var(--color-text-subtle)}.slider--range .slider__fill{inset-inline-start:var(--slider-from, 0%);width:calc(var(--slider-to, 100%) - var(--slider-from, 0%));border-radius:0}.slider__thumb--from{inset-inline-start:var(--slider-from, 0%)}.slider__thumb--to{inset-inline-start:var(--slider-to, 100%)}.slider--stepped .slider__fill{background:var(--color-accent, var(--color-primary))}.slider--stepped .slider__thumb{background:var(--color-accent, var(--color-primary));border-color:var(--color-accent, var(--color-primary))}.slider__ticks{position:absolute;inset-inline:0;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.slider__tick{width:3px;height:3px;border-radius:var(--radius-full);background:var(--color-surface)}.slider__scale-item--active{color:var(--color-accent, var(--color-primary));font-weight:var(--font-weight-medium)}}@layer components{.segmented{position:relative;display:inline-flex;gap:2px;padding:3px;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-sunken)}.js .segmented:before{content:"";position:absolute;top:3px;bottom:3px;inset-inline-start:3px;width:var(--segmented-w, 0px);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-sm);transform:translate(var(--segmented-x, 0px));transition:transform var(--transition-base),width var(--transition-base);pointer-events:none}.js .segmented:not([data-segmented-ready]):before{display:none}@media(prefers-reduced-motion:reduce){.js .segmented:before{transition:none}}.segmented__item{position:relative;display:inline-flex}.segmented__input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.segmented__label{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:28px;padding-inline:var(--space-4);border-radius:var(--radius-sm);background:transparent;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);white-space:nowrap;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.segmented__input:checked+.segmented__label{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.js .segmented[data-segmented-ready] .segmented__input:checked+.segmented__label{background:transparent;box-shadow:none}.segmented__item{z-index:1}.segmented__input:focus-visible+.segmented__label{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px}.segmented__input:disabled+.segmented__label{color:var(--color-disabled-text);cursor:not-allowed}.segmented--sm .segmented__label{height:24px;padding-inline:var(--space-3);font-size:var(--font-size-2xs)}.segmented--icon .segmented__label{width:28px;padding-inline:0}.segmented--block{display:flex}.segmented--block .segmented__item,.segmented--block .segmented__label{flex:1 1 0}}@layer components{.popover{position:relative;display:inline-block}.popover__panel{position:absolute;top:calc(100% + var(--space-2));inset-inline-start:50%;transform:translate(-50%);z-index:var(--z-popover);width:max-content;max-width:min(18rem,calc(100vw - 2 * var(--space-4)));border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-lg)}.popover__panel[hidden]{display:none}.popover__arrow{position:absolute;top:-5px;inset-inline-start:50%;transform:translate(-50%) rotate(45deg);width:9px;height:9px;background:var(--color-surface);border-inline-start:var(--border-width) solid var(--color-border);border-top:var(--border-width) solid var(--color-border)}.popover--start .popover__panel{inset-inline-start:0;transform:none}.popover--start .popover__arrow{inset-inline-start:var(--space-4);transform:rotate(45deg)}.popover--end .popover__panel{inset-inline-start:auto;inset-inline-end:0;transform:none}.popover--end .popover__arrow{inset-inline-start:auto;inset-inline-end:var(--space-4);transform:rotate(45deg)}.popover__header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-2)}.popover__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.popover__subtitle{font-size:var(--font-size-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popover__body{padding:0 var(--space-3) var(--space-3);font-size:var(--font-size-sm);line-height:var(--line-height-base)}.popover__stats{display:flex;gap:var(--space-4);padding:0 var(--space-3) var(--space-3)}.popover__stat{display:flex;flex-direction:column}.popover__stat-value{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.popover__stat-label{font-size:var(--font-size-2xs);color:var(--color-text-subtle)}.popover__footer{display:flex;gap:var(--space-2);padding:var(--space-3);border-top:var(--border-width) solid var(--color-border-subtle)}.popover__footer .btn{flex:1 1 0}}@layer components{.timeline{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.timeline__item{display:flex;gap:var(--space-3)}.timeline__rail{display:flex;flex-direction:column;align-items:center;flex:0 0 auto}.timeline__marker{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-full);background:var(--color-surface-sunken);color:var(--color-text-muted)}.timeline__line{flex:1 1 auto;width:1.5px;margin-block:var(--space-1);background:var(--color-border)}.timeline__item:last-child .timeline__line{display:none}.timeline__body{display:flex;flex-direction:column;gap:1px;padding-bottom:var(--space-4)}.timeline__item:last-child .timeline__body{padding-bottom:0}.timeline__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.timeline__meta{font-size:var(--font-size-xs);color:var(--color-text-muted)}.timeline__item--done .timeline__marker{background:var(--color-success-soft);color:var(--color-success)}.timeline__item--current .timeline__marker{background:var(--color-warning-soft);color:var(--color-warning)}.timeline__item--pending .timeline__marker{background:var(--color-surface-sunken);border:1.5px dashed var(--color-border-strong)}.timeline__item--pending .timeline__line{background:none;border-inline-start:1.5px dashed var(--color-border)}.timeline__item--pending .timeline__title{color:var(--color-text-subtle)}}@layer components{.empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-5);border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface-alt);text-align:center}.empty__icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);background:var(--color-surface);border:var(--border-width) solid var(--color-border);box-shadow:var(--shadow-sm);color:var(--color-text-muted)}.empty__title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight)}.empty__text{max-width:34ch;font-size:var(--font-size-sm);line-height:var(--line-height-base);color:var(--color-text-muted);text-wrap:pretty}.empty__actions{display:flex;gap:var(--space-2);margin-top:var(--space-1)}.empty--inline{flex-direction:row;align-items:center;gap:var(--space-3);padding:var(--space-4);border-style:dashed;border-color:var(--color-border);background:var(--color-surface);text-align:start}.empty--inline .empty__icon{width:30px;height:30px;border:none;border-radius:var(--radius-sm);background:var(--color-surface-sunken);box-shadow:none;color:var(--color-text-subtle)}.empty--inline .empty__body{display:flex;flex-direction:column;gap:1px;flex:1 1 auto;min-width:0}.empty--inline .empty__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.empty--inline .empty__text{max-width:none;font-size:var(--font-size-xs)}.empty--inline .empty__actions{margin-top:0}.empty--error{border-style:solid;border-color:var(--color-danger-soft-text);border-color:color-mix(in oklab,var(--color-danger) 25%,var(--color-border));background:var(--color-danger-soft);background:color-mix(in oklab,var(--color-danger) 3%,var(--color-surface))}.empty--error .empty__icon{background:var(--color-danger-soft);color:var(--color-danger)}.empty__code{font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-text-muted)}.empty--page{min-height:60vh;justify-content:center;border:none;background:none}.empty--page .empty__title{font-size:var(--font-size-2xl)}}@layer components{.skeleton{position:relative;display:block;overflow:hidden;border-radius:var(--radius-full);background:var(--color-border-subtle)}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--color-surface-alt),transparent);background:linear-gradient(90deg,transparent,color-mix(in oklab,var(--color-border-subtle) 45%,var(--color-surface)),transparent);animation:skeleton-shimmer 1.3s linear infinite}.skeleton--w-xs{width:48px}.skeleton--w-sm{width:72px}.skeleton--w-md{width:104px}.skeleton--w-lg{width:144px}.skeleton--w-xl{width:200px}.skeleton--w-half{width:50%}.skeleton--w-full{width:100%}.skeleton--text{height:10px}.skeleton--title{height:12px;width:60%}.skeleton--block{height:104px;border-radius:var(--radius-sm)}.skeleton--avatar{width:40px;height:40px;flex:0 0 auto}.skeleton--circle{border-radius:var(--radius-full);aspect-ratio:1}.skeleton-stack{display:flex;flex-direction:column;gap:var(--space-2)}.skeleton-row{display:flex;align-items:center;gap:var(--space-3)}.skeleton-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-md)}.skeleton-table{border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-md);overflow:hidden}.skeleton-table__head,.skeleton-table__row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4)}.skeleton-table__head{background:var(--color-surface-alt);border-bottom:var(--border-width) solid var(--color-border-subtle)}.skeleton-table__head .skeleton{background:var(--color-border);height:8px}.skeleton-table__head .skeleton:after{display:none}.skeleton-table__row+.skeleton-table__row{border-top:var(--border-width) solid var(--color-border-subtle)}.skeleton[aria-hidden=true]{pointer-events:none}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.skeleton:after{display:none}}[data-busy]{position:relative;pointer-events:none}[data-busy]:after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;background:var(--color-surface);opacity:.55}[data-busy]:before{content:"";position:absolute;inset:0;z-index:2;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--color-surface-alt),transparent);background:linear-gradient(90deg,transparent,color-mix(in oklab,var(--color-border-subtle) 45%,var(--color-surface)),transparent);animation:skeleton-shimmer 1.3s linear infinite}@media(prefers-reduced-motion:reduce){[data-busy]:before{display:none}}}@layer components{.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-6)}.page-header__heading{min-width:0}.page-header__title{font-size:var(--font-size-3xl);letter-spacing:var(--letter-spacing-tighter);line-height:var(--line-height-tight)}.page-header__subtitle{margin-top:var(--space-1);color:var(--color-text-muted)}.page-header__actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}}@layer components{.stat{display:flex;flex-direction:column;gap:var(--space-1)}.stat__icon{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;margin-bottom:var(--space-2);border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--color-text-muted)}.stat--primary .stat__icon{background:var(--color-surface-sunken);color:var(--color-accent, var(--color-primary))}.stat--success .stat__icon{background:var(--color-success-soft);color:var(--color-success-soft-text)}.stat--warning .stat__icon{background:var(--color-warning-soft);color:var(--color-warning-soft-text)}.stat--danger .stat__icon{background:var(--color-danger-soft);color:var(--color-danger-soft-text)}.stat--info .stat__icon{background:var(--color-info-soft);color:var(--color-info-soft-text)}.stat__label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.stat__value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight);font-variant-numeric:tabular-nums}.stat__trend{margin-top:var(--space-1)}}@layer components{.toolbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4)}.toolbar__end{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-inline-start:auto}.toolbar .input-icon{flex:1 1 12rem;max-width:20rem}.toolbar .select{width:auto;min-width:11rem}.toolbar .datepicker{width:auto}.toolbar .datepicker__trigger{width:auto;min-width:15rem}.data-table__toolbar>.toolbar{display:contents}@media screen and (max-width:575px){.toolbar .input-icon,.toolbar .datepicker__trigger,.toolbar .select{flex-basis:100%;max-width:none;min-width:0;width:100%}.toolbar__end{margin-inline-start:0;width:100%}}}@layer components{.otp{display:flex;flex-direction:column;gap:var(--space-2)}.otp__value{height:var(--control-height-lg);padding-inline:var(--space-3);border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface);font-family:var(--font-family-mono);font-size:var(--font-size-xl);letter-spacing:.3em;color:var(--color-text)}.otp__value:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px;border-color:var(--color-primary)}.otp__cells{display:none;align-items:center;gap:var(--space-2)}.js .otp__cells{display:flex}.js .otp__value{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.otp__cell{width:var(--control-height-lg);height:calc(var(--control-height-lg) + 4px);padding:0;border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface);text-align:center;font-family:var(--font-family-mono);font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--color-text);caret-color:var(--color-accent, var(--color-primary));transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.otp__cell:focus{outline:none;border-color:var(--color-accent, var(--color-primary));box-shadow:0 0 0 var(--ring-width) var(--ring-color)}.otp__cell[data-filled]{border-color:var(--color-border-strong);background:var(--color-surface-alt)}.otp__cell:disabled{background:var(--color-disabled);color:var(--color-disabled-text);cursor:not-allowed}.otp__sep{width:8px;height:var(--border-width-thick);border-radius:var(--radius-full);background:var(--color-border-strong)}.otp--invalid .otp__cell,.otp--invalid .otp__value{border-color:var(--color-danger)}.otp--invalid .otp__cell:focus{box-shadow:0 0 0 var(--ring-width) var(--color-danger)}@media screen and (max-width:575px){.otp__cells{gap:var(--space-1)}.otp__cell{width:clamp(2rem,10vw,var(--control-height-lg));font-size:var(--font-size-lg)}}}@layer components{.password{display:flex;flex-direction:column;gap:var(--space-2)}.password__field{position:relative}html.js .password__field .password__input{padding-inline-end:calc(var(--space-4) + 3.5em)}.password__reveal{position:absolute;inset-block:0;inset-inline-end:var(--space-2);margin-block:auto;height:26px;padding-inline:var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer}.password__reveal:hover{background:var(--color-surface-alt);color:var(--color-text)}.password__reveal:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.password__strength{display:flex;flex-direction:column;gap:var(--space-1)}.password__bar{display:flex;gap:var(--space-1)}.password__bar i{flex:1;height:4px;border-radius:var(--radius-full, 999px);background:var(--color-border);transition:background var(--transition-fast)}.password__strength-label{margin:0;font-size:var(--font-size-xs);color:var(--color-text-muted)}[data-strength-level="1"] .password__bar i:nth-child(-n+1){background:var(--color-danger)}[data-strength-level="2"] .password__bar i:nth-child(-n+2){background:var(--color-warning)}[data-strength-level="3"] .password__bar i:nth-child(-n+3){background:var(--color-accent, var(--color-primary))}[data-strength-level="4"] .password__bar i{background:var(--color-success)}[data-strength-level="1"] .password__strength-label{color:var(--color-danger)}[data-strength-level="4"] .password__strength-label{color:var(--color-success)}@media(prefers-reduced-motion:reduce){.password__bar i{transition:none}}}@layer components{.editor{display:flex;flex-direction:column;border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.editor:focus-within{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px;border-color:var(--color-primary)}.editor--invalid{border-color:var(--color-danger)}.editor--disabled{background:var(--color-surface-alt)}.editor__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:var(--space-1) var(--space-2);border-bottom:var(--border-width) solid var(--color-border-subtle);background:var(--color-surface-sunken, var(--color-surface-alt))}.editor__tool,.editor__view{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding-inline:var(--space-2);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font:inherit;font-size:var(--font-size-sm);cursor:pointer}.editor__tool:hover,.editor__view:hover{background:var(--color-surface);color:var(--color-text)}.editor__tool[aria-pressed=true],.editor__view[aria-pressed=true]{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.editor__tool:focus-visible,.editor__view:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:-2px}.editor__tool:disabled{color:var(--color-disabled-text);cursor:not-allowed}.editor__spacer{flex:1 1 auto}.editor__views{display:inline-flex;gap:2px}.editor .editor__source,.editor .editor__surface{border:none;border-radius:0;box-shadow:none;outline:none;resize:vertical}.editor__surface{min-height:8rem;padding:var(--space-3);overflow:auto}.editor__surface:empty:before{content:attr(data-placeholder);color:var(--color-text-subtle);pointer-events:none}.editor__preview{min-height:8rem;padding:var(--space-3)}.editor__preview[hidden]{display:none}html:not(.js) .editor__toolbar,html:not(.js) .editor__surface{display:none}.js .editor--html .editor__source,.js .editor[data-editor-view=preview] .editor__source,.js .editor[data-editor-view=preview] .editor__surface{display:none}.editor__preview-note{margin:0 0 var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted)}.editor__preview-raw{margin:0;white-space:pre-wrap;font-family:var(--font-family-mono);font-size:var(--font-size-sm)}}
|
package/dist/ui.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/*! @tundralibs/ui — MIT — https://github.com/TundraSoft/ui */
|
|
2
|
-
(()=>{const b=new WeakMap;function o(n){const t=n.getAttribute("data-target");if(!t)return n;try{return document.querySelector(t)}catch{return null}}function a(n){if(!n||n.nodeType!==1)return;n.removeAttribute("aria-busy"),delete n.dataset.busy;const t=b.get(n);t&&clearTimeout(t)}function e(n){const t=o(n);!t||t.hasAttribute("data-load")||(t.setAttribute("aria-busy","true"),t.dataset.busy="",b.set(t,setTimeout(()=>a(t),15e3)))}document.addEventListener("click",n=>{if(n.button!==0||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey)return;const t=n.target.closest?.("[data-action]");if(!t||t.tagName==="FORM")return;const i=n.target.closest("a[href]");i&&i!==t&&t.contains(i)||e(t)}),document.addEventListener("submit",n=>{const t=n.target;t?.matches?.("form[data-action]")&&e(t)}),document.addEventListener("rapid:swapped",n=>a(n.target)),document.addEventListener("rapid:error",n=>{a(n.target),document.querySelectorAll("[data-busy]").forEach(a)})})(),(()=>{const y="ui-sidebar-collapsed";try{localStorage.getItem(y)==="1"&&document.querySelectorAll(".sidebar").forEach(b=>{b.classList.add("sidebar--collapsed")})}catch{}document.addEventListener("click",b=>{const o=b.target.closest?.("[data-collapse]");if(!o)return;const a=o.getAttribute("data-collapse");if(!a||a==="#")return;const e=document.querySelector(a);if(!e)return;const n=e.classList.toggle("sidebar--collapsed");o.setAttribute("aria-expanded",String(!n));try{localStorage.setItem(y,n?"1":"0")}catch{}})})(),document.addEventListener("click",y=>{const b=y.target.closest("[data-dismiss]");b&&b.closest("[data-dismissible]")?.remove()}),document.documentElement.classList.add("js"),(()=>{function y(o){const a=o.querySelector("table");return a?[...a.querySelectorAll("tbody tr")]:[...o.querySelectorAll("[data-filter-item]")]}function b(o){const e=(o.querySelector("[data-table-search]")?.value||"").trim().toLowerCase(),n=[...o.querySelectorAll("[data-table-filter]")].filter(d=>!(d.type==="radio"||d.type==="checkbox")||d.checked).map(d=>d.value).filter(Boolean).map(d=>d.toLowerCase());let t=0;y(o).forEach(d=>{const m=d.textContent.toLowerCase(),u=(!e||m.includes(e))&&n.every(c=>m.includes(c));d.hidden=!u,u&&t++});const i=o.querySelector("[data-filter-empty]");i&&(i.hidden=t>0)}document.addEventListener("input",o=>{if(!o.target.matches("[data-table-search]"))return;const a=o.target.closest("[data-filter-scope]");a&&b(a)}),document.addEventListener("change",o=>{if(!o.target.matches("[data-table-filter]"))return;const a=o.target.closest("[data-filter-scope]");a&&b(a)})})(),(()=>{const y="ui-theme",b=document.documentElement;try{const o=localStorage.getItem(y);(o==="dark"||o==="light")&&(b.dataset.theme=o)}catch{}document.addEventListener("click",o=>{if(!o.target.closest("[data-theme-toggle]"))return;const e=matchMedia("(prefers-color-scheme: dark)").matches,t=(b.dataset.theme==="dark"||b.dataset.theme!=="light"&&e?"dark":"light")==="dark"?"light":"dark";b.dataset.theme=t;try{localStorage.setItem(y,t)}catch{}})})(),(()=>{const y=o=>o.hasAttribute("data-toggle-class");document.addEventListener("click",o=>{const a=o.target.closest?.("[data-toggle]");if(!a)return;const e=a.getAttribute("data-toggle"),n=e&&e!=="#"&&document.querySelector(e);if(!n)return;const t=a.getAttribute("aria-expanded")==="true";a.setAttribute("aria-expanded",String(!t)),y(a)||n.toggleAttribute("hidden",t),n.classList.toggle("is-open",!t)}),document.addEventListener("click",o=>{const a=o.target.closest?.("[data-toggle-close]");if(!a)return;const e=a.getAttribute("data-toggle-close"),n=e?document.querySelector(e):a.closest("[data-toggle-panel]");n&&b(n)}),document.addEventListener("keydown",o=>{o.key!=="Escape"||o.defaultPrevented||document.querySelectorAll("[data-toggle-class][aria-expanded='true']").forEach(a=>{const e=document.querySelector(a.getAttribute("data-toggle")??"");e&&(b(e),a.focus(),o.preventDefault())})});function b(o){o.classList.remove("is-open"),document.querySelectorAll('[data-toggle][aria-expanded="true"]').forEach(a=>{const e=a.getAttribute("data-toggle");e&&document.querySelector(e)===o&&(a.setAttribute("aria-expanded","false"),y(a)||o.setAttribute("hidden",""))})}})(),document.addEventListener("change",y=>{const b=y.target.closest?.("[data-view-target]");if(!b||b.type==="radio"&&!b.checked)return;const o=document.querySelector(b.getAttribute("data-view-target")??"");o&&o.setAttribute("data-view",b.value)}),(()=>{const y="[data-chart]",b=new Set,o=globalThis.matchMedia?.("(prefers-color-scheme: dark)");function a(){const m=document.documentElement.dataset.theme;return m==="dark"||m==="light"?m:o?.matches?"dark":"light"}function e(){const m=getComputedStyle(document.documentElement).getPropertyValue("--font-family-base").trim();return{theme:{mode:a(),tokens:!0},chart:m?{fontFamily:m,background:"transparent"}:{background:"transparent"}}}function n(m){if(m.dataset.chartInitialized||typeof globalThis.ApexCharts>"u")return;const u=JSON.parse(m.dataset.chart||"{}"),c=e(),h={...u,theme:{...c.theme,...u.theme||{}},chart:{...c.chart,...u.chart||{}}},_=new globalThis.ApexCharts(m,h);m.dataset.chartInitialized="true",m.chart=_,b.add(m),_.render()}function t(m){m.chart&&(m.chart.destroy(),delete m.chart,delete m.dataset.chartInitialized,b.delete(m))}function i(){for(const m of b){if(!m.isConnected){t(m);continue}m.chart.refreshTokens?.(),m.chart.updateOptions(e(),!1,!0)}}const d=()=>document.querySelectorAll(y).forEach(n);d(),addEventListener("load",d),document.addEventListener("rapid:swapped",d),new MutationObserver(m=>{for(const u of m){for(const c of u.addedNodes)c.nodeType===1&&(c.matches?.(y)&&n(c),c.querySelectorAll?.(y).forEach(n));for(const c of u.removedNodes)c.nodeType===1&&(c.matches?.(y)&&t(c),c.querySelectorAll?.(y).forEach(t))}}).observe(document.documentElement,{childList:!0,subtree:!0}),new MutationObserver(i).observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),o?.addEventListener?.("change",i)})(),document.addEventListener("click",y=>{const b=y.target.closest("[data-toggle]");if(!b)return;const o=b.closest("[data-accordion-group]");o&&o.querySelectorAll('[data-toggle][aria-expanded="true"]').forEach(a=>{if(a===b)return;const e=a.getAttribute("data-toggle"),n=e&&document.querySelector(e);a.setAttribute("aria-expanded","false"),n?.setAttribute("hidden",""),n?.classList.remove("is-open")})}),(()=>{const y="data-active",b='<svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>',o=r=>r.querySelector("input[role='combobox']"),a=r=>Array.from(r.querySelectorAll('[role="option"]')).filter(f=>!f.hidden);function e(r){return a(r).findIndex(f=>f.hasAttribute(y))}function n(r){r.querySelectorAll(`[${y}]`).forEach(f=>f.removeAttribute(y)),o(r)?.removeAttribute("aria-activedescendant")}function t(r,f){const g=a(r);if(!g.length)return;const A=(f+g.length)%g.length;n(r),g[A].setAttribute(y,"");const s=o(r);s&&g[A].id&&s.setAttribute("aria-activedescendant",g[A].id);const p=g[A].closest(".combobox__list");if(!p)return;const v=g[A].offsetTop;v<p.scrollTop&&(p.scrollTop=v);const E=v+g[A].offsetHeight;E>p.scrollTop+p.clientHeight&&(p.scrollTop=E-p.clientHeight)}const i=r=>r.classList.contains("combobox--open");function d(r,f){const g=r.querySelector(".combobox__list"),A=o(r);g&&(g.hidden=!f),A&&A.setAttribute("aria-expanded",f?"true":"false"),r.classList.toggle("combobox--open",!!f),f||n(r)}function m(r){const f=o(r),g=r.querySelector(".combobox__list");if(!f||!g)return;const A=f.value.trim().toLowerCase();let s=0;r.querySelectorAll('[role="option"]').forEach(E=>{const S=E.querySelector(".combobox__option-label")?.textContent??E.textContent,x=!A||S.toLowerCase().includes(A);E.hidden=!x,x&&s++}),n(r),r.querySelectorAll(".combobox__group").forEach(E=>{let S=E.nextElementSibling,x=!1;for(;S&&!S.classList.contains("combobox__group")&&!S.classList.contains("combobox__hints");){if(S.matches('[role="option"]')&&!S.hidden){x=!0;break}S=S.nextElementSibling}E.hidden=!x});const p=r.querySelector(".combobox__count");p&&(p.textContent=s===1?"1 match":`${s} matches`);let v=g.querySelector(".combobox__empty");v||(v=document.createElement("div"),v.className="combobox__empty",v.textContent="No matches.",g.insertBefore(v,g.querySelector(".combobox__hints"))),v.hidden=s>0}const u=new WeakMap;function c(r){const f=o(r),g=f?.getAttribute("data-combobox-action"),A=f?.getAttribute("data-combobox-target");if(g&&A&&globalThis.rapid?.swap){clearTimeout(u.get(r)),u.set(r,setTimeout(()=>{const s=`${g}${g.includes("?")?"&":"?"}q=${encodeURIComponent(f.value.trim())}`;globalThis.rapid.swap(s,A).then(()=>n(r))},150));return}m(r)}function h(r,f){const g=o(r),A=r.querySelector("[data-combobox-value]"),s=(f.querySelector(".combobox__option-label")?.textContent??f.textContent).trim();g&&(g.value=s),A&&(A.value=f.getAttribute("data-value")??s),r.querySelectorAll('[role="option"]').forEach(p=>p.setAttribute("aria-selected",String(p===f))),d(r,!1),r.dispatchEvent(new CustomEvent("combobox:pick",{bubbles:!0,detail:{value:A?.value??s,label:s}}))}function _(r,f){const g=r.querySelector(".combobox__field"),A=o(r),s=f.getAttribute("data-value")??"",p=(f.querySelector(".combobox__option-label")?.textContent??f.textContent).trim(),v=r.getAttribute("data-combobox-name")??"";if(!g||!A||Array.from(g.querySelectorAll(".combobox__token input")).some(w=>w.value===s))return;const E=document.createElement("span");E.className="combobox__token",E.append(p);const S=document.createElement("button");S.type="button",S.className="combobox__token-remove",S.setAttribute("aria-label",`Remove ${p}`),S.setAttribute("data-combobox-remove",s),S.innerHTML=b;const x=document.createElement("input");x.type="hidden",x.name=v,x.value=s,E.append(S,x),g.insertBefore(E,A),f.setAttribute("aria-selected","true"),A.value="",c(r),A.focus()}function l(r,f){r.querySelectorAll(".combobox__token").forEach(g=>{g.querySelector("input")?.value===f&&g.remove()}),r.querySelectorAll(`[role="option"][data-value="${CSS.escape(f)}"]`).forEach(g=>g.setAttribute("aria-selected","false"))}document.addEventListener("keydown",r=>{const f=r.target.closest?.("[data-combobox]");if(f){if(r.key==="ArrowDown"||r.key==="ArrowUp")r.preventDefault(),d(f,!0),t(f,e(f)+(r.key==="ArrowDown"?1:-1));else if(r.key==="Enter"){const g=e(f),A=a(f);g>=0&&A[g]&&(r.preventDefault(),A[g].click())}else if(r.key==="Escape"){if(!i(f))return;r.preventDefault(),r.stopPropagation(),d(f,!1)}else if(r.key==="Backspace"&&f.classList.contains("combobox--multi")&&r.target.matches("input[role='combobox']")&&!r.target.value){const g=f.querySelector(".combobox__field .combobox__token:last-of-type input");g&&l(f,g.value)}}}),document.addEventListener("input",r=>{const f=r.target.closest?.("[data-combobox]");if(!f||!r.target.matches("input[role='combobox']"))return;const g=f.querySelector("[data-combobox-value]");g&&(g.value=""),c(f),d(f,!0)}),document.addEventListener("focusin",r=>{const f=r.target.closest?.("[data-combobox]");f&&r.target.matches("input[role='combobox']")&&d(f,!0)}),document.addEventListener("click",r=>{const f=r.target.closest?.("[data-combobox] .combobox__field");if(f&&!r.target.closest("input, button")){const s=f.closest("[data-combobox]"),p=o(s);p&&!p.disabled&&(i(s)?d(s,!1):(p.focus(),d(s,!0)));return}const g=r.target.closest?.("[data-combobox] [role='option']");if(g){if(g.getAttribute("aria-disabled")==="true")return;const s=g.closest("[data-combobox]");s.classList.contains("combobox--multi")?_(s,g):h(s,g);return}const A=r.target.closest?.("[data-combobox-remove]");if(A){const s=A.closest("[data-combobox]");s&&l(s,A.getAttribute("data-combobox-remove")??"");return}document.querySelectorAll("[data-combobox].combobox--open").forEach(s=>{r.target.closest?.("[data-combobox]")!==s&&d(s,!1)})})})(),(()=>{const y="data-active",b=new WeakMap,o=l=>l.querySelector(".command__input"),a=l=>Array.from(l.querySelectorAll('[role="option"]')).filter(r=>!r.hidden);function e(l){return a(l).findIndex(r=>r.hasAttribute(y))}function n(l){l.querySelectorAll(`[${y}]`).forEach(r=>r.removeAttribute(y)),o(l)?.removeAttribute("aria-activedescendant")}function t(l,r){const f=a(l);if(!f.length)return;const g=(r+f.length)%f.length;n(l),f[g].setAttribute(y,"");const A=o(l);A&&f[g].id&&A.setAttribute("aria-activedescendant",f[g].id);const s=f[g].closest(".command__list");if(!s)return;const p=f[g].offsetTop;p<s.scrollTop&&(s.scrollTop=p);const v=p+f[g].offsetHeight;v>s.scrollTop+s.clientHeight&&(s.scrollTop=v-s.clientHeight)}function i(l){const r=o(l),f=l.querySelector(".command__list");if(!r||!f)return;const g=r.value.trim().toLowerCase();let A=0;l.querySelectorAll('[role="option"]').forEach(v=>{const E=v.querySelector(".command__item-label")?.textContent??v.textContent,S=!g||E.toLowerCase().includes(g);v.hidden=!S,S&&A++}),n(l),l.querySelectorAll(".command__group").forEach(v=>{let E=v.nextElementSibling,S=!1;for(;E&&!E.classList.contains("command__group");){if(E.matches('[role="option"]')&&!E.hidden){S=!0;break}E=E.nextElementSibling}v.hidden=!S});const s=l.querySelector(".command__count");s&&(s.textContent=A===1?"1 result":`${A} results`);let p=f.querySelector(".command__empty");p||(p=document.createElement("div"),p.className="command__empty",p.textContent="Nothing matches that.",f.append(p)),p.hidden=A>0,A&&t(l,0)}const d=new WeakMap;function m(l){const r=o(l),f=r?.getAttribute("data-command-action"),g=r?.getAttribute("data-command-target");if(f&&g&&globalThis.rapid?.swap){clearTimeout(d.get(l)),d.set(l,setTimeout(()=>{const A=`${f}${f.includes("?")?"&":"?"}q=${encodeURIComponent(r.value.trim())}`;globalThis.rapid.swap(A,g).then(()=>{n(l),a(l).length&&t(l,0)})},150));return}i(l)}const u=l=>!l.classList.contains("command--inline");function c(l){if(!u(l))return;l.hidden=!0;const r=b.get(l);b.delete(l),r?.isConnected&&r.focus()}function h(l){const r=o(l);r&&r.value?(r.value="",r.dispatchEvent(new Event("input",{bubbles:!0}))):c(l)}function _(l,r){b.set(l,r??document.activeElement),l.hidden=!1,o(l)?.focus()}document.addEventListener("keydown",l=>{if(l.key==="k"&&(l.metaKey||l.ctrlKey)){const f=document.querySelector("[data-command]:not(.command--inline)");if(!f)return;l.preventDefault(),_(f);return}const r=l.target.closest?.("[data-command]");if(r){if(l.key==="ArrowDown"||l.key==="ArrowUp")l.preventDefault(),t(r,e(r)+(l.key==="ArrowDown"?1:-1));else if(l.key==="Enter"){const f=e(r),g=a(r);f>=0&&g[f]&&(l.preventDefault(),g[f].click())}else if(l.key==="Escape"){if(!u(r)&&!o(r)?.value)return;l.preventDefault(),l.stopPropagation(),h(r)}else if(l.key==="Tab"&&u(r)){const f=Array.from(r.querySelectorAll("input, button, a[href], [tabindex]:not([tabindex='-1'])")).filter(s=>!s.hidden&&s.offsetParent!==null);if(!f.length)return;const g=f[0],A=f[f.length-1];l.shiftKey&&document.activeElement===g?(l.preventDefault(),A.focus()):!l.shiftKey&&document.activeElement===A&&(l.preventDefault(),g.focus())}}}),document.addEventListener("input",l=>{const r=l.target.closest?.("[data-command]");r&&l.target.matches(".command__input")&&m(r)}),document.addEventListener("click",l=>{const r=l.target.closest?.("[data-command-open]");if(r){const s=r.getAttribute("data-command-open"),p=s?document.querySelector(s):document.querySelector("[data-command]:not(.command--inline)");p&&(l.preventDefault(),_(p,r));return}const f=l.target.closest?.("[data-command-dismiss]");if(f){const s=f.closest("[data-command]");s&&h(s);return}const g=l.target.closest?.("[data-command] [role='option']");if(g){const s=g.closest("[data-command]");s&&u(s)&&c(s);return}const A=l.target.closest?.("[data-command]:not(.command--inline)");A&&!l.target.closest(".command__sheet")&&c(A)})})(),(()=>{const y=new Map;function b(u){if(!u.id)return;const c=new Set;u.querySelectorAll("[data-select-row]:checked").forEach(h=>c.add(h.value)),y.set(u.id,c)}function o(u){const c=u.id&&y.get(u.id);c?.size&&u.querySelectorAll("[data-select-row]").forEach(h=>{c.has(h.value)&&e(h,!0)})}function a(u){const c=u.querySelector("[data-bulk-bar]"),h=u.querySelectorAll("[data-select-row]"),_=u.querySelectorAll("[data-select-row]:checked").length;if(c){c.hidden=_===0;const r=c.querySelector("[data-bulk-count]");r&&(r.textContent=_===1?"1 row selected":`${_} rows selected`)}const l=u.querySelector("[data-select-all]");l&&(l.checked=_>0&&_===h.length,l.indeterminate=_>0&&_<h.length)}function e(u,c){u.checked=c,u.closest("tr")?.classList.toggle("data-table__row--selected",c)}document.addEventListener("change",u=>{const c=u.target.closest?.(".data-table");if(c){if(u.target.matches("[data-select-all]"))c.querySelectorAll("[data-select-row]").forEach(h=>e(h,u.target.checked));else if(u.target.matches("[data-select-row]"))e(u.target,u.target.checked);else return;a(c),b(c)}}),document.addEventListener("click",u=>{const c=u.target.closest?.("[data-bulk-clear]");if(!c)return;const h=c.closest(".data-table");h&&(h.querySelectorAll("[data-select-row]").forEach(_=>e(_,!1)),a(h),b(h))});const n=()=>document.querySelectorAll(".data-table__row-actions:not([hidden])"),t=u=>document.querySelector(`[data-row-actions="#${CSS.escape(u.id)}"]`);function i(u){u.classList.remove("is-closing"),u.hidden=!0,u.style.removeProperty("max-width")}function d(u,c){const h=t(u);h?.setAttribute("aria-expanded","false"),c&&h?.focus(),!(u.hidden||u.classList.contains("is-closing"))&&(u.classList.add("is-closing"),getComputedStyle(u).animationName==="none"?i(u):u.addEventListener("animationend",()=>i(u),{once:!0}))}document.addEventListener("click",u=>{const c=u.target.closest?.("[data-row-actions]"),h=u.target.closest?.("[data-row-actions-close]");if(h){const _=h.closest(".data-table__row-actions");_&&d(_,!0);return}if(c){const _=document.querySelector(c.getAttribute("data-row-actions"));if(!_)return;_.classList.contains("is-closing")&&i(_);const l=_.hidden;if(n().forEach(r=>d(r,!1)),l){const r=_.closest(".data-table__scroll");if(r){const f=r.getBoundingClientRect().left,g=[..._.closest("tr").querySelectorAll("td.data-table__select, td.data-table__cell--pinned")].map(A=>A.getBoundingClientRect().right-f);_.style.maxWidth=`${r.clientWidth-Math.max(0,...g)}px`}_.hidden=!1,c.setAttribute("aria-expanded","true"),_.querySelector("a, button")?.focus()}return}n().forEach(_=>{_.contains(u.target)||d(_,!1)})}),document.addEventListener("keydown",u=>{if(u.key!=="Escape"||u.defaultPrevented)return;const c=u.target.closest?.(".data-table__row-actions");c&&(d(c,!0),u.preventDefault(),u.stopPropagation())});function m(u){document.querySelectorAll(".data-table").forEach(c=>{u&&o(c),a(c),b(c)})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>m(!1)):m(!1),document.addEventListener("rapid:swapped",u=>{const c=String(u.detail?.method??"get").toLowerCase();m(c==="get")})})(),(()=>{const y=["January","February","March","April","May","June","July","August","September","October","November","December"],b=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],o=c=>String(c).padStart(2,"0"),a=(c,h,_)=>`${c}-${o(h+1)}-${o(_)}`,e=c=>{const h=/^(\d{4})-(\d{2})-(\d{2})$/.exec(c??"");return h?`${Number(h[3])} ${b[Number(h[2])-1]} ${h[1]}`:""},n=()=>{const c=new Date;return a(c.getFullYear(),c.getMonth(),c.getDate())};function t(c,h,_){const l=c.querySelector(".datepicker__panel"),r=c.querySelector("[data-datepicker-trigger]");l&&(l.hidden=!h),c.classList.toggle("datepicker--open",!!h),r&&(r.setAttribute("aria-expanded",h?"true":"false"),!h&&_&&r.focus())}function i(c){return{range:c.hasAttribute("data-datepicker-range"),min:c.getAttribute("data-datepicker-min")||"",max:c.getAttribute("data-datepicker-max")||"",today:c.getAttribute("data-datepicker-today")||n(),start:c.querySelector("[data-datepicker-start]")?.value||"",end:c.querySelector("[data-datepicker-end]")?.value||""}}function d(c,h,_){const l=i(c),r=c.querySelector(".datepicker__days"),f=c.querySelector(".datepicker__month");if(!r)return;r.replaceChildren(),f&&(f.textContent=`${y[_]} ${h}`),c.setAttribute("data-datepicker-view",`${h}-${_}`);const g=new Date(h,_+1,0).getDate(),A=(new Date(h,_,1).getDay()+6)%7,s=new Date(h,_,0).getDate(),p=Math.ceil((A+g)/7)*7;for(let v=0;v<p;v++){const E=v-A+1;let S=h,x=_,w=E;E<1?(x=_-1,w=s+E,x<0&&(x=11,S--)):E>g&&(x=_+1,w=E-g,x>11&&(x=0,S++));const q=a(S,x,w),k=document.createElement("button");k.type="button",k.className="datepicker__day",(E<1||E>g)&&k.classList.add("datepicker__day--outside"),q===l.today&&(k.classList.add("datepicker__day--today"),k.setAttribute("aria-current","date")),l.start&&l.end&&q>l.start&&q<l.end&&k.classList.add("datepicker__day--in-range"),q===l.start&&k.classList.add("datepicker__day--start"),q===l.end&&k.classList.add("datepicker__day--end"),(q===l.start||q===l.end)&&k.setAttribute("aria-pressed","true"),(l.min&&q<l.min||l.max&&q>l.max)&&(k.disabled=!0),k.setAttribute("data-day",q),k.setAttribute("aria-label",`${w} ${y[x]} ${S}`),k.textContent=String(w),r.append(k)}}function m(c){const h=c.getAttribute("data-datepicker-view");if(h){const[r,f]=h.split("-").map(Number);return[r,f]}const _=i(c),l=_.start||_.today;return[Number(l.slice(0,4)),Number(l.slice(5,7))-1]}function u(c,h){const _=i(c),l=c.querySelector("[data-datepicker-start]"),r=c.querySelector("[data-datepicker-end]"),f=c.querySelector("[data-datepicker-label]");let g=h,A="";_.range&&_.start&&!_.end&&h>=_.start&&(g=_.start,A=h),l&&(l.value=g),r&&(r.value=A),f&&(f.textContent=_.range?`${e(g)||"Start date"} \u2013 ${e(A)||"End date"}`:e(g)),l?.dispatchEvent(new Event("change",{bubbles:!0}));const[s,p]=m(c);d(c,s,p),(!_.range||A)&&t(c,!1,!0)}document.addEventListener("click",c=>{const h=c.target.closest?.("[data-datepicker-trigger]");if(h){const l=h.closest("[data-datepicker]"),r=l?.querySelector(".datepicker__panel");r&&t(l,r.hidden);return}const _=c.target.closest?.("[data-datepicker]");if(_&&!_.hasAttribute("data-datepicker-server")){const l=c.target.closest("button[data-day]");if(l&&!l.disabled){u(_,l.getAttribute("data-day"));return}const r=c.target.closest("button[data-month]");if(r){const[f,g]=r.getAttribute("data-month").split("-").map(Number);d(_,f,g);const A={"prev-year":[f-1,g],prev:g===0?[f-1,11]:[f,g-1],next:g===11?[f+1,0]:[f,g+1],"next-year":[f+1,g]};_.querySelectorAll("button[data-month][data-nav]").forEach(s=>{const p=A[s.getAttribute("data-nav")];p&&s.setAttribute("data-month",`${p[0]}-${p[1]}`)});return}}document.querySelectorAll("[data-datepicker]:not(.datepicker--inline) .datepicker__panel:not([hidden])").forEach(l=>{const r=l.closest("[data-datepicker]");r!==_&&t(r,!1)})}),document.addEventListener("keydown",c=>{if(c.key!=="Escape"||c.defaultPrevented)return;const h=c.target.closest?.("[data-datepicker]"),_=h?.querySelector(".datepicker__panel");!_||_.hidden||h.classList.contains("datepicker--inline")||(c.preventDefault(),t(h,!1,!0))})})(),(()=>{const y=()=>document.querySelectorAll(".dropdown__panel.is-open"),b=i=>document.querySelector(`[data-toggle="#${CSS.escape(i.id)}"]`),o=".data-table__scroll, [data-dropdown-clip]";function a(i,d){if(!d?.closest(o))return;const m=d.getBoundingClientRect();i.classList.add("dropdown__panel--fixed");const u=i.offsetWidth;let h=i.classList.contains("dropdown__panel--end")?m.right-u:m.left;h=Math.max(8,Math.min(h,innerWidth-u-8));let _=m.bottom+4;_+i.offsetHeight>innerHeight-8&&(_=Math.max(8,m.top-i.offsetHeight-4)),i.style.left=`${h}px`,i.style.top=`${_}px`}function e(i,d){i.setAttribute("hidden",""),i.classList.remove("is-open","dropdown__panel--fixed"),i.style.removeProperty("left"),i.style.removeProperty("top"),d?.setAttribute("aria-expanded","false")}document.addEventListener("click",i=>{y().forEach(d=>{const m=b(d);if(m?.contains(i.target)){d.classList.contains("dropdown__panel--fixed")||a(d,m);return}if(d.contains(i.target)){const u=i.target.closest("a[href], button, [data-action]");if(!u||u.hasAttribute("data-toggle"))return}e(d,m)})}),document.addEventListener("keydown",i=>{if(i.key!=="Escape"||i.defaultPrevented)return;const d=i.target.closest?.(".dropdown"),m=d?d.querySelectorAll(".dropdown__panel.is-open"):y();let u=!1;m.forEach(c=>{const h=b(c);e(c,h),h?.focus(),u=!0}),u&&i.preventDefault()});const n=i=>{const d=i.closest(o)?.getBoundingClientRect(),m=i.getBoundingClientRect();return!d||m.bottom>d.top&&m.top<d.bottom&&m.right>d.left&&m.left<d.right},t=()=>{document.querySelectorAll(".dropdown__panel--fixed.is-open").forEach(i=>{const d=b(i);d&&n(d)?a(i,d):e(i,d)})};addEventListener("scroll",t,{capture:!0,passive:!0}),addEventListener("resize",t,{passive:!0})})(),(()=>{for(const e of["dragenter","dragover"])document.addEventListener(e,n=>{const t=n.target.closest?.(".dropzone__area");t&&(n.preventDefault(),t.classList.add("dropzone__area--over"))});for(const e of["dragleave","drop"])document.addEventListener(e,n=>{n.target.closest?.(".dropzone__area")?.classList.remove("dropzone__area--over")});document.addEventListener("click",e=>{const n=e.target.closest?.("[data-dropzone-remove]");n&&n.closest(".dropzone__file")?.remove()});const y=e=>e<1024?`${e} B`:e<1024*1024?`${Math.round(e/1024)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`;function b(e){const n=document.createElement("div");n.className="dropzone__file dropzone__file--pending";const t=document.createElement("span");t.className="dropzone__file-icon",t.textContent=(e.name.split(".").pop()||"").slice(0,4).toLowerCase();const i=document.createElement("span");i.className="dropzone__file-body";const d=document.createElement("span");d.className="dropzone__file-row";const m=document.createElement("span");m.className="dropzone__file-name",m.textContent=e.name;const u=document.createElement("span");u.className="dropzone__file-size",u.textContent=y(e.size),d.append(m,u);const c=document.createElement("progress");return c.className="dropzone__bar",c.max=100,c.setAttribute("aria-label",`Uploading ${e.name}`),i.append(d,c),n.append(t,i),n}const o=new Map;document.addEventListener("submit",e=>{const n=e.target;if(!n?.matches?.("form[data-action]"))return;const t=n.querySelector("[data-dropzone]"),i=t?.querySelector("input[type=file]");if(!t||!i?.files?.length)return;let d=t.querySelector(".dropzone__files");d||(d=document.createElement("div"),d.className="dropzone__files",t.append(d));const m=[...i.files].map(u=>{const c=b(u);return d.append(c),c});o.set(n.getAttribute("data-action"),{zone:t,rows:m})}),document.addEventListener("rapid:progress",e=>{const n=o.get(e.detail?.url);if(!n)return;const{loaded:t,total:i}=e.detail;for(const d of n.rows){const m=d.querySelector("progress");m&&(i>0?m.value=Math.min(100,Math.round(t/i*100)):m.removeAttribute("value"))}});const a=(e,n)=>{const t=e.detail?.url,i=t?o.get(t):void 0;if(i&&(o.delete(t),!!n))for(const d of i.rows){if(!d.isConnected)continue;d.classList.remove("dropzone__file--pending"),d.classList.add("dropzone__file--error"),d.querySelector("progress")?.remove();const m=document.createElement("span");m.className="dropzone__file-error",m.textContent="Upload failed",d.querySelector(".dropzone__file-body")?.append(m)}};document.addEventListener("rapid:swapped",e=>a(e,!1)),document.addEventListener("rapid:error",e=>a(e,!0))})(),(()=>{const y={bold:["**","**"],italic:["_","_"],strike:["~~","~~"],code:["`","`"]},b={heading:"## ",quote:"> ",ul:"- ",ol:"1. "},o={heading:"h2",quote:"blockquote",code:"pre"},a={bold:"bold",italic:"italic",underline:"underline",strike:"strikeThrough"},e={ul:"insertUnorderedList",ol:"insertOrderedList"},n=s=>s.querySelector(".editor__source"),t=s=>s.querySelector("[data-editor-surface]"),i=s=>s.getAttribute("data-editor-mode")==="html";function d(s,p,v,E,S,x){s.value=s.value.slice(0,p)+E+s.value.slice(v),s.setSelectionRange(p+S,p+x),s.focus(),s.dispatchEvent(new Event("input",{bubbles:!0}))}function m(s){const p=s.value.lastIndexOf(`
|
|
3
|
-
`,
|
|
4
|
-
`,Math.max(
|
|
5
|
-
`?
|
|
6
|
-
`),$=D?"```\n":L,
|
|
2
|
+
(()=>{const h=new WeakMap;function a(e){const t=e.getAttribute("data-target");if(!t)return e;try{return document.querySelector(t)}catch{return null}}function i(e){if(!e||e.nodeType!==1)return;e.removeAttribute("aria-busy"),delete e.dataset.busy;const t=h.get(e);t&&clearTimeout(t)}function o(e){const t=a(e);!t||t.hasAttribute("data-load")||(t.setAttribute("aria-busy","true"),t.dataset.busy="",h.set(t,setTimeout(()=>i(t),15e3)))}document.addEventListener("click",e=>{if(e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;const t=e.target.closest?.("[data-action]");if(!t||t.tagName==="FORM")return;const c=e.target.closest("a[href]");c&&c!==t&&t.contains(c)||o(t)}),document.addEventListener("submit",e=>{const t=e.target;t?.matches?.("form[data-action]")&&o(t)}),document.addEventListener("rapid:swapped",e=>i(e.target)),document.addEventListener("rapid:error",e=>{i(e.target),document.querySelectorAll("[data-busy]").forEach(i)})})(),(()=>{const v="ui-sidebar-collapsed";try{localStorage.getItem(v)==="1"&&document.querySelectorAll(".sidebar").forEach(h=>{h.classList.add("sidebar--collapsed")})}catch{}document.addEventListener("click",h=>{const a=h.target.closest?.("[data-collapse]");if(!a)return;const i=a.getAttribute("data-collapse");if(!i||i==="#")return;const o=document.querySelector(i);if(!o)return;const e=o.classList.toggle("sidebar--collapsed");a.setAttribute("aria-expanded",String(!e));try{localStorage.setItem(v,e?"1":"0")}catch{}})})(),document.addEventListener("click",v=>{const h=v.target.closest("[data-dismiss]");h&&h.closest("[data-dismissible]")?.remove()}),document.documentElement.classList.add("js"),(()=>{function v(a){const i=a.querySelector("table");return i?[...i.querySelectorAll("tbody tr")]:[...a.querySelectorAll("[data-filter-item]")]}function h(a){const o=(a.querySelector("[data-table-search]")?.value||"").trim().toLowerCase(),e=[...a.querySelectorAll("[data-table-filter]")].filter(u=>!(u.type==="radio"||u.type==="checkbox")||u.checked).map(u=>u.value).filter(Boolean).map(u=>u.toLowerCase());let t=0;v(a).forEach(u=>{const n=u.textContent.toLowerCase(),l=(!o||n.includes(o))&&e.every(s=>n.includes(s));u.hidden=!l,l&&t++});const c=a.querySelector("[data-filter-empty]");c&&(c.hidden=t>0)}document.addEventListener("input",a=>{if(!a.target.matches("[data-table-search]"))return;const i=a.target.closest("[data-filter-scope]");i&&h(i)}),document.addEventListener("change",a=>{if(!a.target.matches("[data-table-filter]"))return;const i=a.target.closest("[data-filter-scope]");i&&h(i)})})(),(()=>{const v="ui-theme",h=document.documentElement;try{const a=localStorage.getItem(v);(a==="dark"||a==="light")&&(h.dataset.theme=a)}catch{}document.addEventListener("click",a=>{if(!a.target.closest("[data-theme-toggle]"))return;const o=matchMedia("(prefers-color-scheme: dark)").matches,t=(h.dataset.theme==="dark"||h.dataset.theme!=="light"&&o?"dark":"light")==="dark"?"light":"dark";h.dataset.theme=t;try{localStorage.setItem(v,t)}catch{}})})(),(()=>{const v=a=>a.hasAttribute("data-toggle-class");document.addEventListener("click",a=>{const i=a.target.closest?.("[data-toggle]");if(!i)return;const o=i.getAttribute("data-toggle"),e=o&&o!=="#"&&document.querySelector(o);if(!e)return;const t=i.getAttribute("aria-expanded")==="true";i.setAttribute("aria-expanded",String(!t)),v(i)||e.toggleAttribute("hidden",t),e.classList.toggle("is-open",!t)}),document.addEventListener("click",a=>{const i=a.target.closest?.("[data-toggle-close]");if(!i)return;const o=i.getAttribute("data-toggle-close"),e=o?document.querySelector(o):i.closest("[data-toggle-panel]");e&&h(e)}),document.addEventListener("keydown",a=>{a.key!=="Escape"||a.defaultPrevented||document.querySelectorAll("[data-toggle-class][aria-expanded='true']").forEach(i=>{const o=document.querySelector(i.getAttribute("data-toggle")??"");o&&(h(o),i.focus(),a.preventDefault())})});function h(a){a.classList.remove("is-open"),document.querySelectorAll('[data-toggle][aria-expanded="true"]').forEach(i=>{const o=i.getAttribute("data-toggle");o&&document.querySelector(o)===a&&(i.setAttribute("aria-expanded","false"),v(i)||a.setAttribute("hidden",""))})}})(),document.addEventListener("change",v=>{const h=v.target.closest?.("[data-view-target]");if(!h||h.type==="radio"&&!h.checked)return;const a=document.querySelector(h.getAttribute("data-view-target")??"");a&&a.setAttribute("data-view",h.value)}),(()=>{const v="[data-chart]",h=new Set,a=globalThis.matchMedia?.("(prefers-color-scheme: dark)");function i(){const n=document.documentElement.dataset.theme;return n==="dark"||n==="light"?n:a?.matches?"dark":"light"}function o(){const n=getComputedStyle(document.documentElement).getPropertyValue("--font-family-base").trim();return{theme:{mode:i(),tokens:!0},chart:n?{fontFamily:n,background:"transparent"}:{background:"transparent"}}}function e(n){if(n.dataset.chartInitialized||typeof globalThis.ApexCharts>"u")return;const l=JSON.parse(n.dataset.chart||"{}"),s=o(),p={...l,theme:{...s.theme,...l.theme||{}},chart:{...s.chart,...l.chart||{}}},b=new globalThis.ApexCharts(n,p);n.dataset.chartInitialized="true",n.chart=b,h.add(n),b.render()}function t(n){n.chart&&(n.chart.destroy(),delete n.chart,delete n.dataset.chartInitialized,h.delete(n))}function c(){for(const n of h){if(!n.isConnected){t(n);continue}n.chart.refreshTokens?.(),n.chart.updateOptions(o(),!1,!0)}}const u=()=>document.querySelectorAll(v).forEach(e);u(),addEventListener("load",u),document.addEventListener("rapid:swapped",u),new MutationObserver(n=>{for(const l of n){for(const s of l.addedNodes)s.nodeType===1&&(s.matches?.(v)&&e(s),s.querySelectorAll?.(v).forEach(e));for(const s of l.removedNodes)s.nodeType===1&&(s.matches?.(v)&&t(s),s.querySelectorAll?.(v).forEach(t))}}).observe(document.documentElement,{childList:!0,subtree:!0}),new MutationObserver(c).observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),a?.addEventListener?.("change",c)})(),document.addEventListener("click",v=>{const h=v.target.closest("[data-toggle]");if(!h)return;const a=h.closest("[data-accordion-group]");a&&a.querySelectorAll('[data-toggle][aria-expanded="true"]').forEach(i=>{if(i===h)return;const o=i.getAttribute("data-toggle"),e=o&&document.querySelector(o);i.setAttribute("aria-expanded","false"),e?.setAttribute("hidden",""),e?.classList.remove("is-open")})}),(()=>{const v="data-active",h='<svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>',a=r=>r.querySelector("input[role='combobox']"),i=r=>Array.from(r.querySelectorAll('[role="option"]')).filter(m=>!m.hidden);function o(r){return i(r).findIndex(m=>m.hasAttribute(v))}function e(r){r.querySelectorAll(`[${v}]`).forEach(m=>m.removeAttribute(v)),a(r)?.removeAttribute("aria-activedescendant")}function t(r,m){const y=i(r);if(!y.length)return;const E=(m+y.length)%y.length;e(r),y[E].setAttribute(v,"");const d=a(r);d&&y[E].id&&d.setAttribute("aria-activedescendant",y[E].id);const g=y[E].closest(".combobox__list");if(!g)return;const _=y[E].offsetTop;_<g.scrollTop&&(g.scrollTop=_);const A=_+y[E].offsetHeight;A>g.scrollTop+g.clientHeight&&(g.scrollTop=A-g.clientHeight)}const c=r=>r.classList.contains("combobox--open");function u(r,m){const y=r.querySelector(".combobox__list"),E=a(r);y&&(y.hidden=!m),E&&E.setAttribute("aria-expanded",m?"true":"false"),r.classList.toggle("combobox--open",!!m),m||e(r)}function n(r){const m=a(r),y=r.querySelector(".combobox__list");if(!m||!y)return;const E=m.value.trim().toLowerCase();let d=0;r.querySelectorAll('[role="option"]').forEach(A=>{const S=A.querySelector(".combobox__option-label")?.textContent??A.textContent,w=!E||S.toLowerCase().includes(E);A.hidden=!w,w&&d++}),e(r),r.querySelectorAll(".combobox__group").forEach(A=>{let S=A.nextElementSibling,w=!1;for(;S&&!S.classList.contains("combobox__group")&&!S.classList.contains("combobox__hints");){if(S.matches('[role="option"]')&&!S.hidden){w=!0;break}S=S.nextElementSibling}A.hidden=!w});const g=r.querySelector(".combobox__count");g&&(g.textContent=d===1?"1 match":`${d} matches`);let _=y.querySelector(".combobox__empty");_||(_=document.createElement("div"),_.className="combobox__empty",_.textContent="No matches.",y.insertBefore(_,y.querySelector(".combobox__hints"))),_.hidden=d>0}const l=new WeakMap;function s(r){const m=a(r),y=m?.getAttribute("data-combobox-action"),E=m?.getAttribute("data-combobox-target");if(y&&E&&globalThis.rapid?.swap){clearTimeout(l.get(r)),l.set(r,setTimeout(()=>{const d=`${y}${y.includes("?")?"&":"?"}q=${encodeURIComponent(m.value.trim())}`;globalThis.rapid.swap(d,E).then(()=>e(r))},150));return}n(r)}function p(r,m){const y=a(r),E=r.querySelector("[data-combobox-value]"),d=(m.querySelector(".combobox__option-label")?.textContent??m.textContent).trim();y&&(y.value=d),E&&(E.value=m.getAttribute("data-value")??d),r.querySelectorAll('[role="option"]').forEach(g=>g.setAttribute("aria-selected",String(g===m))),u(r,!1),r.dispatchEvent(new CustomEvent("combobox:pick",{bubbles:!0,detail:{value:E?.value??d,label:d}}))}function b(r,m){const y=r.querySelector(".combobox__field"),E=a(r),d=m.getAttribute("data-value")??"",g=(m.querySelector(".combobox__option-label")?.textContent??m.textContent).trim(),_=r.getAttribute("data-combobox-name")??"";if(!y||!E||Array.from(y.querySelectorAll(".combobox__token input")).some(k=>k.value===d))return;const A=document.createElement("span");A.className="combobox__token",A.append(g);const S=document.createElement("button");S.type="button",S.className="combobox__token-remove",S.setAttribute("aria-label",`Remove ${g}`),S.setAttribute("data-combobox-remove",d),S.innerHTML=h;const w=document.createElement("input");w.type="hidden",w.name=_,w.value=d,A.append(S,w),y.insertBefore(A,E),m.setAttribute("aria-selected","true"),E.value="",s(r),E.focus()}function f(r,m){r.querySelectorAll(".combobox__token").forEach(y=>{y.querySelector("input")?.value===m&&y.remove()}),r.querySelectorAll(`[role="option"][data-value="${CSS.escape(m)}"]`).forEach(y=>y.setAttribute("aria-selected","false"))}document.addEventListener("keydown",r=>{const m=r.target.closest?.("[data-combobox]");if(m){if(r.key==="ArrowDown"||r.key==="ArrowUp")r.preventDefault(),u(m,!0),t(m,o(m)+(r.key==="ArrowDown"?1:-1));else if(r.key==="Enter"){const y=o(m),E=i(m);y>=0&&E[y]&&(r.preventDefault(),E[y].click())}else if(r.key==="Escape"){if(!c(m))return;r.preventDefault(),r.stopPropagation(),u(m,!1)}else if(r.key==="Backspace"&&m.classList.contains("combobox--multi")&&r.target.matches("input[role='combobox']")&&!r.target.value){const y=m.querySelector(".combobox__field .combobox__token:last-of-type input");y&&f(m,y.value)}}}),document.addEventListener("input",r=>{const m=r.target.closest?.("[data-combobox]");if(!m||!r.target.matches("input[role='combobox']"))return;const y=m.querySelector("[data-combobox-value]");y&&(y.value=""),s(m),u(m,!0)}),document.addEventListener("focusin",r=>{const m=r.target.closest?.("[data-combobox]");m&&r.target.matches("input[role='combobox']")&&u(m,!0)}),document.addEventListener("click",r=>{const m=r.target.closest?.("[data-combobox] .combobox__field");if(m&&!r.target.closest("input, button")){const d=m.closest("[data-combobox]"),g=a(d);g&&!g.disabled&&(c(d)?u(d,!1):(g.focus(),u(d,!0)));return}const y=r.target.closest?.("[data-combobox] [role='option']");if(y){if(y.getAttribute("aria-disabled")==="true")return;const d=y.closest("[data-combobox]");d.classList.contains("combobox--multi")?b(d,y):p(d,y);return}const E=r.target.closest?.("[data-combobox-remove]");if(E){const d=E.closest("[data-combobox]");d&&f(d,E.getAttribute("data-combobox-remove")??"");return}document.querySelectorAll("[data-combobox].combobox--open").forEach(d=>{r.target.closest?.("[data-combobox]")!==d&&u(d,!1)})})})(),(()=>{const v="data-active",h=new WeakMap,a=f=>f.querySelector(".command__input"),i=f=>Array.from(f.querySelectorAll('[role="option"]')).filter(r=>!r.hidden);function o(f){return i(f).findIndex(r=>r.hasAttribute(v))}function e(f){f.querySelectorAll(`[${v}]`).forEach(r=>r.removeAttribute(v)),a(f)?.removeAttribute("aria-activedescendant")}function t(f,r){const m=i(f);if(!m.length)return;const y=(r+m.length)%m.length;e(f),m[y].setAttribute(v,"");const E=a(f);E&&m[y].id&&E.setAttribute("aria-activedescendant",m[y].id);const d=m[y].closest(".command__list");if(!d)return;const g=m[y].offsetTop;g<d.scrollTop&&(d.scrollTop=g);const _=g+m[y].offsetHeight;_>d.scrollTop+d.clientHeight&&(d.scrollTop=_-d.clientHeight)}function c(f){const r=a(f),m=f.querySelector(".command__list");if(!r||!m)return;const y=r.value.trim().toLowerCase();let E=0;f.querySelectorAll('[role="option"]').forEach(_=>{const A=_.querySelector(".command__item-label")?.textContent??_.textContent,S=!y||A.toLowerCase().includes(y);_.hidden=!S,S&&E++}),e(f),f.querySelectorAll(".command__group").forEach(_=>{let A=_.nextElementSibling,S=!1;for(;A&&!A.classList.contains("command__group");){if(A.matches('[role="option"]')&&!A.hidden){S=!0;break}A=A.nextElementSibling}_.hidden=!S});const d=f.querySelector(".command__count");d&&(d.textContent=E===1?"1 result":`${E} results`);let g=m.querySelector(".command__empty");g||(g=document.createElement("div"),g.className="command__empty",g.textContent="Nothing matches that.",m.append(g)),g.hidden=E>0,E&&t(f,0)}const u=new WeakMap;function n(f){const r=a(f),m=r?.getAttribute("data-command-action"),y=r?.getAttribute("data-command-target");if(m&&y&&globalThis.rapid?.swap){clearTimeout(u.get(f)),u.set(f,setTimeout(()=>{const E=`${m}${m.includes("?")?"&":"?"}q=${encodeURIComponent(r.value.trim())}`;globalThis.rapid.swap(E,y).then(()=>{e(f),i(f).length&&t(f,0)})},150));return}c(f)}const l=f=>!f.classList.contains("command--inline");function s(f){if(!l(f))return;f.hidden=!0;const r=h.get(f);h.delete(f),r?.isConnected&&r.focus()}function p(f){const r=a(f);r&&r.value?(r.value="",r.dispatchEvent(new Event("input",{bubbles:!0}))):s(f)}function b(f,r){h.set(f,r??document.activeElement),f.hidden=!1,a(f)?.focus()}document.addEventListener("keydown",f=>{if(f.key==="k"&&(f.metaKey||f.ctrlKey)){const m=document.querySelector("[data-command]:not(.command--inline)");if(!m)return;f.preventDefault(),b(m);return}const r=f.target.closest?.("[data-command]");if(r){if(f.key==="ArrowDown"||f.key==="ArrowUp")f.preventDefault(),t(r,o(r)+(f.key==="ArrowDown"?1:-1));else if(f.key==="Enter"){const m=o(r),y=i(r);m>=0&&y[m]&&(f.preventDefault(),y[m].click())}else if(f.key==="Escape"){if(!l(r)&&!a(r)?.value)return;f.preventDefault(),f.stopPropagation(),p(r)}else if(f.key==="Tab"&&l(r)){const m=Array.from(r.querySelectorAll("input, button, a[href], [tabindex]:not([tabindex='-1'])")).filter(d=>!d.hidden&&d.offsetParent!==null);if(!m.length)return;const y=m[0],E=m[m.length-1];f.shiftKey&&document.activeElement===y?(f.preventDefault(),E.focus()):!f.shiftKey&&document.activeElement===E&&(f.preventDefault(),y.focus())}}}),document.addEventListener("input",f=>{const r=f.target.closest?.("[data-command]");r&&f.target.matches(".command__input")&&n(r)}),document.addEventListener("click",f=>{const r=f.target.closest?.("[data-command-open]");if(r){const d=r.getAttribute("data-command-open"),g=d?document.querySelector(d):document.querySelector("[data-command]:not(.command--inline)");g&&(f.preventDefault(),b(g,r));return}const m=f.target.closest?.("[data-command-dismiss]");if(m){const d=m.closest("[data-command]");d&&p(d);return}const y=f.target.closest?.("[data-command] [role='option']");if(y){const d=y.closest("[data-command]");d&&l(d)&&s(d);return}const E=f.target.closest?.("[data-command]:not(.command--inline)");E&&!f.target.closest(".command__sheet")&&s(E)})})(),(()=>{const v=new Map;function h(l){if(!l.id)return;const s=new Set;l.querySelectorAll("[data-select-row]:checked").forEach(p=>s.add(p.value)),v.set(l.id,s)}function a(l){const s=l.id&&v.get(l.id);s?.size&&l.querySelectorAll("[data-select-row]").forEach(p=>{s.has(p.value)&&o(p,!0)})}function i(l){const s=l.querySelector("[data-bulk-bar]"),p=l.querySelectorAll("[data-select-row]"),b=l.querySelectorAll("[data-select-row]:checked").length;if(s){s.hidden=b===0;const r=s.querySelector("[data-bulk-count]");r&&(r.textContent=b===1?"1 row selected":`${b} rows selected`)}const f=l.querySelector("[data-select-all]");f&&(f.checked=b>0&&b===p.length,f.indeterminate=b>0&&b<p.length)}function o(l,s){l.checked=s,l.closest("tr")?.classList.toggle("data-table__row--selected",s)}document.addEventListener("change",l=>{const s=l.target.closest?.(".data-table");if(s){if(l.target.matches("[data-select-all]"))s.querySelectorAll("[data-select-row]").forEach(p=>o(p,l.target.checked));else if(l.target.matches("[data-select-row]"))o(l.target,l.target.checked);else return;i(s),h(s)}}),document.addEventListener("click",l=>{const s=l.target.closest?.("[data-bulk-clear]");if(!s)return;const p=s.closest(".data-table");p&&(p.querySelectorAll("[data-select-row]").forEach(b=>o(b,!1)),i(p),h(p))});const e=()=>document.querySelectorAll(".data-table__row-actions:not([hidden])"),t=l=>document.querySelector(`[data-row-actions="#${CSS.escape(l.id)}"]`);function c(l){l.classList.remove("is-closing"),l.hidden=!0,l.style.removeProperty("max-width")}function u(l,s){const p=t(l);p?.setAttribute("aria-expanded","false"),s&&p?.focus(),!(l.hidden||l.classList.contains("is-closing"))&&(l.classList.add("is-closing"),getComputedStyle(l).animationName==="none"?c(l):l.addEventListener("animationend",()=>c(l),{once:!0}))}document.addEventListener("click",l=>{const s=l.target.closest?.("[data-row-actions]"),p=l.target.closest?.("[data-row-actions-close]");if(p){const b=p.closest(".data-table__row-actions");b&&u(b,!0);return}if(s){const b=document.querySelector(s.getAttribute("data-row-actions"));if(!b)return;b.classList.contains("is-closing")&&c(b);const f=b.hidden;if(e().forEach(r=>u(r,!1)),f){const r=b.closest(".data-table__scroll");if(r){const m=r.getBoundingClientRect().left,y=[...b.closest("tr").querySelectorAll("td.data-table__select, td.data-table__cell--pinned")].map(E=>E.getBoundingClientRect().right-m);b.style.maxWidth=`${r.clientWidth-Math.max(0,...y)}px`}b.hidden=!1,s.setAttribute("aria-expanded","true"),b.querySelector("a, button")?.focus()}return}e().forEach(b=>{b.contains(l.target)||u(b,!1)})}),document.addEventListener("keydown",l=>{if(l.key!=="Escape"||l.defaultPrevented)return;const s=l.target.closest?.(".data-table__row-actions");s&&(u(s,!0),l.preventDefault(),l.stopPropagation())});function n(l){document.querySelectorAll(".data-table").forEach(s=>{l&&a(s),i(s),h(s)})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>n(!1)):n(!1),document.addEventListener("rapid:swapped",l=>{const s=String(l.detail?.method??"get").toLowerCase();n(s==="get")})})(),(()=>{const v=["January","February","March","April","May","June","July","August","September","October","November","December"],h=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],a=s=>String(s).padStart(2,"0"),i=(s,p,b)=>`${s}-${a(p+1)}-${a(b)}`,o=s=>{const p=/^(\d{4})-(\d{2})-(\d{2})$/.exec(s??"");return p?`${Number(p[3])} ${h[Number(p[2])-1]} ${p[1]}`:""},e=()=>{const s=new Date;return i(s.getFullYear(),s.getMonth(),s.getDate())};function t(s,p,b){const f=s.querySelector(".datepicker__panel"),r=s.querySelector("[data-datepicker-trigger]");f&&(f.hidden=!p),s.classList.toggle("datepicker--open",!!p),r&&(r.setAttribute("aria-expanded",p?"true":"false"),!p&&b&&r.focus())}function c(s){return{range:s.hasAttribute("data-datepicker-range"),min:s.getAttribute("data-datepicker-min")||"",max:s.getAttribute("data-datepicker-max")||"",today:s.getAttribute("data-datepicker-today")||e(),start:s.querySelector("[data-datepicker-start]")?.value||"",end:s.querySelector("[data-datepicker-end]")?.value||""}}function u(s,p,b){const f=c(s),r=s.querySelector(".datepicker__days"),m=s.querySelector(".datepicker__month");if(!r)return;r.replaceChildren(),m&&(m.textContent=`${v[b]} ${p}`),s.setAttribute("data-datepicker-view",`${p}-${b}`);const y=new Date(p,b+1,0).getDate(),E=(new Date(p,b,1).getDay()+6)%7,d=new Date(p,b,0).getDate(),g=Math.ceil((E+y)/7)*7;for(let _=0;_<g;_++){const A=_-E+1;let S=p,w=b,k=A;A<1?(w=b-1,k=d+A,w<0&&(w=11,S--)):A>y&&(w=b+1,k=A-y,w>11&&(w=0,S++));const q=i(S,w,k),x=document.createElement("button");x.type="button",x.className="datepicker__day",(A<1||A>y)&&x.classList.add("datepicker__day--outside"),q===f.today&&(x.classList.add("datepicker__day--today"),x.setAttribute("aria-current","date")),f.start&&f.end&&q>f.start&&q<f.end&&x.classList.add("datepicker__day--in-range"),q===f.start&&x.classList.add("datepicker__day--start"),q===f.end&&x.classList.add("datepicker__day--end"),(q===f.start||q===f.end)&&x.setAttribute("aria-pressed","true"),(f.min&&q<f.min||f.max&&q>f.max)&&(x.disabled=!0),x.setAttribute("data-day",q),x.setAttribute("aria-label",`${k} ${v[w]} ${S}`),x.textContent=String(k),r.append(x)}}function n(s){const p=s.getAttribute("data-datepicker-view");if(p){const[r,m]=p.split("-").map(Number);return[r,m]}const b=c(s),f=b.start||b.today;return[Number(f.slice(0,4)),Number(f.slice(5,7))-1]}function l(s,p){const b=c(s),f=s.querySelector("[data-datepicker-start]"),r=s.querySelector("[data-datepicker-end]"),m=s.querySelector("[data-datepicker-label]");let y=p,E="";b.range&&b.start&&!b.end&&p>=b.start&&(y=b.start,E=p),f&&(f.value=y),r&&(r.value=E),m&&(m.textContent=b.range?`${o(y)||"Start date"} \u2013 ${o(E)||"End date"}`:o(y)),f?.dispatchEvent(new Event("change",{bubbles:!0}));const[d,g]=n(s);u(s,d,g),(!b.range||E)&&t(s,!1,!0)}document.addEventListener("click",s=>{const p=s.target.closest?.("[data-datepicker-trigger]");if(p){const f=p.closest("[data-datepicker]"),r=f?.querySelector(".datepicker__panel");r&&t(f,r.hidden);return}const b=s.target.closest?.("[data-datepicker]");if(b&&!b.hasAttribute("data-datepicker-server")){const f=s.target.closest("button[data-day]");if(f&&!f.disabled){l(b,f.getAttribute("data-day"));return}const r=s.target.closest("button[data-month]");if(r){const[m,y]=r.getAttribute("data-month").split("-").map(Number);u(b,m,y);const E={"prev-year":[m-1,y],prev:y===0?[m-1,11]:[m,y-1],next:y===11?[m+1,0]:[m,y+1],"next-year":[m+1,y]};b.querySelectorAll("button[data-month][data-nav]").forEach(d=>{const g=E[d.getAttribute("data-nav")];g&&d.setAttribute("data-month",`${g[0]}-${g[1]}`)});return}}document.querySelectorAll("[data-datepicker]:not(.datepicker--inline) .datepicker__panel:not([hidden])").forEach(f=>{const r=f.closest("[data-datepicker]");r!==b&&t(r,!1)})}),document.addEventListener("keydown",s=>{if(s.key!=="Escape"||s.defaultPrevented)return;const p=s.target.closest?.("[data-datepicker]"),b=p?.querySelector(".datepicker__panel");!b||b.hidden||p.classList.contains("datepicker--inline")||(s.preventDefault(),t(p,!1,!0))})})(),(()=>{const v=()=>document.querySelectorAll(".dropdown__panel.is-open"),h=c=>document.querySelector(`[data-toggle="#${CSS.escape(c.id)}"]`),a=".data-table__scroll, [data-dropdown-clip]";function i(c,u){if(!u?.closest(a))return;const n=u.getBoundingClientRect();c.classList.add("dropdown__panel--fixed");const l=c.offsetWidth;let p=c.classList.contains("dropdown__panel--end")?n.right-l:n.left;p=Math.max(8,Math.min(p,innerWidth-l-8));let b=n.bottom+4;b+c.offsetHeight>innerHeight-8&&(b=Math.max(8,n.top-c.offsetHeight-4)),c.style.left=`${p}px`,c.style.top=`${b}px`}function o(c,u){c.setAttribute("hidden",""),c.classList.remove("is-open","dropdown__panel--fixed"),c.style.removeProperty("left"),c.style.removeProperty("top"),u?.setAttribute("aria-expanded","false")}document.addEventListener("click",c=>{v().forEach(u=>{const n=h(u);if(n?.contains(c.target)){u.classList.contains("dropdown__panel--fixed")||i(u,n);return}if(u.contains(c.target)){const l=c.target.closest("a[href], button, [data-action]");if(!l||l.hasAttribute("data-toggle"))return}o(u,n)})}),document.addEventListener("keydown",c=>{if(c.key!=="Escape"||c.defaultPrevented)return;const u=c.target.closest?.(".dropdown"),n=u?u.querySelectorAll(".dropdown__panel.is-open"):v();let l=!1;n.forEach(s=>{const p=h(s);o(s,p),p?.focus(),l=!0}),l&&c.preventDefault()});const e=c=>{const u=c.closest(a)?.getBoundingClientRect(),n=c.getBoundingClientRect();return!u||n.bottom>u.top&&n.top<u.bottom&&n.right>u.left&&n.left<u.right},t=()=>{document.querySelectorAll(".dropdown__panel--fixed.is-open").forEach(c=>{const u=h(c);u&&e(u)?i(c,u):o(c,u)})};addEventListener("scroll",t,{capture:!0,passive:!0}),addEventListener("resize",t,{passive:!0})})(),(()=>{for(const o of["dragenter","dragover"])document.addEventListener(o,e=>{const t=e.target.closest?.(".dropzone__area");t&&(e.preventDefault(),t.classList.add("dropzone__area--over"))});for(const o of["dragleave","drop"])document.addEventListener(o,e=>{e.target.closest?.(".dropzone__area")?.classList.remove("dropzone__area--over")});document.addEventListener("click",o=>{const e=o.target.closest?.("[data-dropzone-remove]");e&&e.closest(".dropzone__file")?.remove()});const v=o=>o<1024?`${o} B`:o<1024*1024?`${Math.round(o/1024)} KB`:`${(o/(1024*1024)).toFixed(1)} MB`;function h(o){const e=document.createElement("div");e.className="dropzone__file dropzone__file--pending";const t=document.createElement("span");t.className="dropzone__file-icon",t.textContent=(o.name.split(".").pop()||"").slice(0,4).toLowerCase();const c=document.createElement("span");c.className="dropzone__file-body";const u=document.createElement("span");u.className="dropzone__file-row";const n=document.createElement("span");n.className="dropzone__file-name",n.textContent=o.name;const l=document.createElement("span");l.className="dropzone__file-size",l.textContent=v(o.size),u.append(n,l);const s=document.createElement("progress");return s.className="dropzone__bar",s.max=100,s.setAttribute("aria-label",`Uploading ${o.name}`),c.append(u,s),e.append(t,c),e}const a=new Map;document.addEventListener("submit",o=>{const e=o.target;if(!e?.matches?.("form[data-action]"))return;const t=e.querySelector("[data-dropzone]"),c=t?.querySelector("input[type=file]");if(!t||!c?.files?.length)return;let u=t.querySelector(".dropzone__files");u||(u=document.createElement("div"),u.className="dropzone__files",t.append(u));const n=[...c.files].map(l=>{const s=h(l);return u.append(s),s});a.set(e.getAttribute("data-action"),{zone:t,rows:n})}),document.addEventListener("rapid:progress",o=>{const e=a.get(o.detail?.url);if(!e)return;const{loaded:t,total:c}=o.detail;for(const u of e.rows){const n=u.querySelector("progress");n&&(c>0?n.value=Math.min(100,Math.round(t/c*100)):n.removeAttribute("value"))}});const i=(o,e)=>{const t=o.detail?.url,c=t?a.get(t):void 0;if(c&&(a.delete(t),!!e))for(const u of c.rows){if(!u.isConnected)continue;u.classList.remove("dropzone__file--pending"),u.classList.add("dropzone__file--error"),u.querySelector("progress")?.remove();const n=document.createElement("span");n.className="dropzone__file-error",n.textContent="Upload failed",u.querySelector(".dropzone__file-body")?.append(n)}};document.addEventListener("rapid:swapped",o=>i(o,!1)),document.addEventListener("rapid:error",o=>i(o,!0))})(),(()=>{const v={bold:["**","**"],italic:["_","_"],strike:["~~","~~"],code:["`","`"]},h={heading:"## ",quote:"> ",ul:"- ",ol:"1. "},a={heading:"h2",quote:"blockquote",code:"pre"},i={bold:"bold",italic:"italic",underline:"underline",strike:"strikeThrough"},o={ul:"insertUnorderedList",ol:"insertOrderedList"},e=d=>d.querySelector(".editor__source"),t=d=>d.querySelector("[data-editor-surface]"),c=d=>d.getAttribute("data-editor-mode")==="html";function u(d,g,_,A,S,w){d.value=d.value.slice(0,g)+A+d.value.slice(_),d.setSelectionRange(g+S,g+w),d.focus(),d.dispatchEvent(new Event("input",{bubbles:!0}))}function n(d){const g=d.value.lastIndexOf(`
|
|
3
|
+
`,d.selectionStart-1)+1,_=d.value.indexOf(`
|
|
4
|
+
`,Math.max(d.selectionEnd,g)),A=d.selectionEnd>d.selectionStart&&d.value[d.selectionEnd-1]===`
|
|
5
|
+
`?d.selectionEnd-1:_===-1?d.value.length:_;return[g,A]}const l=/^(#{1,6} |> |- |\* |\d+\. )+/;function s(d,g){const _=d.selectionStart,A=d.selectionEnd,S=d.value.slice(_,A);if(v[g]){const[L,C]=v[g],D=g==="code"&&S.includes(`
|
|
6
|
+
`),$=D?"```\n":L,M=D?"\n```":C;if(S.startsWith($)&&S.endsWith(M)&&S.length>=$.length+M.length){const N=S.slice($.length,S.length-M.length);u(d,_,A,N,0,N.length);return}if(d.value.slice(_-$.length,_)===$&&d.value.slice(A,A+M.length)===M){u(d,_-$.length,A+M.length,S,0,S.length);return}const O=S||g;u(d,_,A,$+O+M,$.length,$.length+O.length);return}if(g==="link"||g==="image"){const C=`${g==="image"?"!":""}[${S||(g==="image"?"alt text":"text")}](url)`;u(d,_,A,C,C.length-4,C.length-1);return}if(g==="hr"){const C=`${_===0||d.value[_-1]===`
|
|
7
7
|
`?"":`
|
|
8
8
|
`}
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
`;d
|
|
12
|
-
`);if(
|
|
13
|
-
`).replace(/!\[(.*?)\]\(\S+?\)/g,"$1").replace(/\[(.+?)\]\(\S+?\)/g,"$1").replace(/(\*\*|__|~~|`)(.+?)\1/g,"$2").replace(/(^|[^\w])_(.+?)_(?=[^\w]|$)/g,"$1$2");d
|
|
14
|
-
`);d(s,x,w,M,0,M.length)}function h(s,p){const v=s.querySelector("[data-editor-preview-panel]"),E=n(s);if(s.querySelectorAll("[data-editor-view]").forEach(x=>{x.setAttribute("aria-pressed",String(x.getAttribute("data-editor-view")===(p?"preview":"write")))}),!p){s.removeAttribute("data-editor-view"),v&&(v.hidden=!0),E?.focus();return}if(s.setAttribute("data-editor-view","preview"),!v)return;v.hidden=!1;const S=s.getAttribute("data-editor-preview");if(S&&globalThis.rapid?.swap)v.setAttribute("aria-busy","true"),globalThis.rapid.swap(S,v,{method:"post",body:new URLSearchParams({text:E?.value??""}).toString()}).finally(()=>v.removeAttribute("aria-busy"));else{v.replaceChildren();const x=document.createElement("p");x.className="editor__preview-note",x.textContent="No preview route on this page \u2014 showing the Markdown source.";const w=document.createElement("pre");w.className="editor__preview-raw",w.textContent=E?.value??"",v.append(x,w)}}function _(s){const p=n(s),v=t(s);p&&v&&(p.value=v.innerHTML)}const l=()=>String(document.queryCommandValue("formatBlock")||"").toLowerCase().replace(/[<>]/g,"");function r(s,p){const v=t(s);if(!(!v||v.getAttribute("contenteditable")!=="true")){if(v.focus(),a[p])document.execCommand(a[p]);else if(e[p])document.execCommand(e[p]);else if(o[p])document.execCommand("formatBlock",!1,l()===o[p]?"<p>":`<${o[p]}>`);else if(p==="link"){const E=globalThis.prompt?.("Link URL","https://");E&&document.execCommand("createLink",!1,E)}else if(p==="image"){const E=globalThis.prompt?.("Image URL","https://");E&&document.execCommand("insertImage",!1,E)}else p==="hr"?document.execCommand("insertHorizontalRule"):p==="clear"&&(document.execCommand("removeFormat"),document.execCommand("unlink"),document.queryCommandState("insertUnorderedList")&&document.execCommand("insertUnorderedList"),document.queryCommandState("insertOrderedList")&&document.execCommand("insertOrderedList"),l()!=="p"&&l()!=="div"&&document.execCommand("formatBlock",!1,"<p>"));_(s),f(s)}}function f(s){if(!i(s))return;const p=l();s.querySelectorAll("[data-editor-cmd]").forEach(v=>{const E=v.getAttribute("data-editor-cmd");let S=!1;a[E]||e[E]?S=document.queryCommandState(a[E]??e[E]):o[E]&&(S=p===o[E]),v.setAttribute("aria-pressed",String(S))})}function g(s){if(s.dataset.editorReady)return;s.dataset.editorReady="true";const p=n(s),v=t(s);v&&p&&(v.innerHTML=p.value,v.setAttribute("contenteditable",p.disabled?"false":"true"),document.execCommand("defaultParagraphSeparator",!1,"p"))}const A=()=>document.querySelectorAll("[data-editor]").forEach(g);document.readyState==="loading"?document.addEventListener("DOMContentLoaded",A):A(),document.addEventListener("rapid:swapped",A),document.addEventListener("click",s=>{const p=s.target.closest?.("[data-editor-cmd]");if(p){const E=p.closest("[data-editor]"),S=p.getAttribute("data-editor-cmd");if(i(E))r(E,S);else{const x=n(E);x&&!x.disabled&&c(x,S)}return}const v=s.target.closest?.("[data-editor-view]");v&&h(v.closest("[data-editor]"),v.getAttribute("data-editor-view")==="preview")}),document.addEventListener("input",s=>{const p=s.target.closest?.("[data-editor-surface]");p&&_(p.closest("[data-editor]"))}),document.addEventListener("selectionchange",()=>{const s=document.activeElement?.closest?.("[data-editor]");s&&f(s)}),document.addEventListener("keydown",s=>{if(!(s.metaKey||s.ctrlKey)||s.altKey)return;const p=s.target.closest?.("[data-editor]");if(!p)return;const v={b:"bold",i:"italic",u:"underline",k:"link"}[s.key.toLowerCase()];!v||v==="underline"&&!i(p)||(s.preventDefault(),i(p)?r(p,v):c(n(p),v))})})(),(()=>{function y(){const b=location.href;let o=null;if(document.querySelectorAll(".menu__link[href]").forEach(e=>{if(!e.getAttribute("href")?.includes("#"))return;new URL(e.getAttribute("href"),location.href).href===b&&(o=e)}),!o)return;o.closest(".menu__list")?.querySelectorAll(".menu__link").forEach(e=>{e!==o&&e.getAttribute("href")?.includes("#")&&(e.classList.remove("menu__link--active"),e.removeAttribute("aria-current"))}),o.classList.add("menu__link--active"),o.setAttribute("aria-current","page");const a=o.closest(".menu__sublist");a&&(a.hidden=!1,a.classList.add("is-open"),document.querySelector(`[data-toggle="#${CSS.escape(a.id)}"]`)?.setAttribute("aria-expanded","true"))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",y):y(),addEventListener("hashchange",y),document.addEventListener("rapid:swapped",y)})(),(()=>{let y=!1;document.addEventListener("pointerdown",b=>{y=b.target instanceof HTMLDialogElement&&b.target.open}),document.addEventListener("click",b=>{const o=b.target.closest?.("[data-modal-open]");if(o){const e=document.querySelector(o.getAttribute("data-modal-open")??"");e instanceof HTMLDialogElement&&!e.open&&e.showModal();return}const a=b.target.closest?.("[data-modal-close]");if(a){a.closest("dialog")?.close();return}y&&b.target instanceof HTMLDialogElement&&b.target.open&&b.target.close(),y=!1})})(),(()=>{const y=t=>Array.from(t.querySelectorAll(".otp__cell")),b=t=>t.querySelector(".otp__value");function o(t,i){const d=t.getAttribute("data-otp-mode")!=="alphanumeric";return(i||"").replace(d?/[^0-9]/g:/[^0-9a-zA-Z]/g,"")}function a(t,{fromCarrier:i=!1}={}){const d=y(t),m=b(t);if(!d.length||!m)return;if(i){const h=o(t,m.value).slice(0,d.length);d.forEach((_,l)=>_.value=h[l]??"")}const u=d.map(h=>h.value).join("");m.value=u,m.setAttribute("tabindex","-1"),m.setAttribute("aria-hidden","true"),d.forEach(h=>h.toggleAttribute("data-filled",h.value!==""));const c=d.findIndex(h=>!h.value);d.forEach((h,_)=>h.setAttribute("tabindex",_===(c<0?0:c)?"0":"-1")),u.length===d.length&&!t.hasAttribute("data-otp-completed")?(t.setAttribute("data-otp-completed",""),t.dispatchEvent(new CustomEvent("otp:complete",{bubbles:!0,detail:{value:u}})),t.hasAttribute("data-otp-submit")&&t.closest("form")?.requestSubmit()):u.length<d.length&&t.removeAttribute("data-otp-completed")}function e(t,i,d){const m=y(t),u=o(t,d);if(!u){m[i].value="",a(t);return}let c=i;for(const h of u){if(c>=m.length)break;m[c].value=h,c++}a(t),m[Math.min(c,m.length-1)].focus()}document.addEventListener("input",t=>{const i=t.target.closest?.(".otp__cell");if(!i)return;const d=i.closest("[data-otp]"),m=y(d);e(d,m.indexOf(i),i.value)}),document.addEventListener("paste",t=>{const i=t.target.closest?.(".otp__cell");if(!i)return;t.preventDefault();const d=i.closest("[data-otp]");e(d,y(d).indexOf(i),t.clipboardData?.getData("text")??"")}),document.addEventListener("keydown",t=>{const i=t.target.closest?.(".otp__cell");if(!i)return;const d=i.closest("[data-otp]"),m=y(d),u=m.indexOf(i);t.key==="Backspace"?(t.preventDefault(),i.value?i.value="":u>0&&(m[u-1].value="",m[u-1].focus()),a(d)):t.key==="Delete"?(t.preventDefault(),i.value="",a(d)):t.key==="ArrowLeft"&&u>0?(t.preventDefault(),m[u-1].focus()):t.key==="ArrowRight"&&u<m.length-1&&(t.preventDefault(),m[u+1].focus())}),document.addEventListener("focusin",t=>{const i=t.target.closest?.(".otp__cell");i&&i.select()});function n(){document.querySelectorAll("[data-otp]").forEach(t=>a(t,{fromCarrier:!0}))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",n):n(),document.addEventListener("rapid:swapped",n)})(),(()=>{function y(o,a){const e=o.querySelector(".popover__panel"),n=o.querySelector("[data-popover-trigger]");e&&(e.hidden=!a),n&&n.setAttribute("aria-expanded",a?"true":"false")}const b=()=>document.querySelectorAll("[data-popover] .popover__panel:not([hidden])");document.addEventListener("click",o=>{const a=o.target.closest?.("[data-popover-trigger]");if(a){const n=a.closest("[data-popover]"),t=n?.querySelector(".popover__panel");t&&y(n,t.hidden);return}const e=o.target.closest?.("[data-popover]");b().forEach(n=>{const t=n.closest("[data-popover]");t!==e&&y(t,!1)})}),document.addEventListener("keydown",o=>{if(o.key!=="Escape"||o.defaultPrevented)return;const a=o.target.closest?.("[data-popover]"),e=a?[a]:Array.from(b()).map(t=>t.closest("[data-popover]"));let n=!1;e.forEach(t=>{const i=t.querySelector(".popover__panel");!i||i.hidden||(y(t,!1),t.querySelector("[data-popover-trigger]")?.focus(),n=!0)}),n&&o.preventDefault()})})(),(()=>{function y(o){const e=o.querySelector(".segmented__input:checked")?.nextElementSibling;if(!e){o.style.setProperty("--segmented-w","0px");return}const n=o.getBoundingClientRect(),t=e.getBoundingClientRect(),i=getComputedStyle(o).direction==="rtl",d=i?n.right-o.clientLeft-3-t.right:t.left-n.left-o.clientLeft-3;o.style.setProperty("--segmented-x",`${i?-d:d}px`),o.style.setProperty("--segmented-w",`${t.width}px`),o.setAttribute("data-segmented-ready","")}const b=()=>document.querySelectorAll("[data-segmented]").forEach(y);document.readyState==="loading"?document.addEventListener("DOMContentLoaded",b):b(),addEventListener("load",b),addEventListener("resize",b),document.addEventListener("rapid:swapped",b),document.addEventListener("change",o=>{const a=o.target.closest?.("[data-segmented]");a&&y(a)})})(),(()=>{function y(a){const e=a.querySelector("[data-select-ui]");return e?{root:e,input:e.querySelector("input[role='combobox']"),hidden:e.querySelector("[data-combobox-value]"),options:Array.from(e.querySelectorAll("[role='option']"))}:null}document.addEventListener("combobox:pick",a=>{const n=a.target.closest?.("[data-select]")?.querySelector(".select__native");if(!n)return;const t=a.detail?.value??"";n.value!==t&&(n.value=t,n.dispatchEvent(new Event("change",{bubbles:!0})),n.dispatchEvent(new Event("input",{bubbles:!0})))}),document.addEventListener("change",a=>{if(!a.target.matches?.(".select__native"))return;const e=a.target.closest("[data-select]"),n=y(e);if(!n)return;const t=a.target.value,i=n.options.find(m=>m.getAttribute("data-value")===t),d=i?(i.querySelector(".combobox__option-label")?.textContent??i.textContent).trim():"";n.hidden&&(n.hidden.value=t),n.input&&n.input.value!==d&&(n.input.value=d),n.options.forEach(m=>m.setAttribute("aria-selected",String(m===i)))});let b="",o=0;document.addEventListener("keydown",a=>{const e=a.target;if(!e.matches?.("[data-select-ui] input[role='combobox']")||a.key.length!==1||a.metaKey||a.ctrlKey||a.altKey)return;const n=Date.now();b=n-o>600?a.key:b+a.key,o=n;const t=e.closest("[data-select]"),d=y(t)?.options.find(m=>m.getAttribute("aria-disabled")!=="true"&&(m.querySelector(".combobox__option-label")?.textContent??m.textContent).trim().toLowerCase().startsWith(b.toLowerCase()));d&&d.click(),a.preventDefault()})})(),(()=>{function y(a){const e=a.closest("[data-slider]");if(!e)return null;const n=Number(a.min||0),t=Number(a.max||100),i=t===n?0:(Number(a.value)-n)/(t-n)*100;return e.style.setProperty("--slider-pct",`${i.toFixed(2)}%`),e}function b(a,e){const n=a.querySelector("[data-slider-output]");if(!n)return;const t=Number(e.value),i=a.getAttribute("data-slider-labels");if(i){const u=Number(e.step||1),c=Math.round((t-Number(e.min||0))/u);let h=[];try{h=JSON.parse(i)}catch{}n.textContent=h[c]??e.value,a.querySelectorAll(".slider__scale-item").forEach((_,l)=>{_.classList.toggle("slider__scale-item--active",l===c)});return}const d=a.getAttribute("data-slider-unit"),m=a.getAttribute("data-slider-unit-one")||d;n.textContent=d?`${e.value} ${t===1?m:d}`:e.value}function o(){document.querySelectorAll("[data-slider] .slider__input").forEach(y)}document.addEventListener("input",a=>{if(!a.target.matches?.("[data-slider] .slider__input"))return;const e=y(a.target);e&&b(e,a.target)}),document.readyState==="loading"?document.addEventListener("DOMContentLoaded",o):o(),document.addEventListener("rapid:swapped",o)})(),(()=>{document.addEventListener("click",o=>{const a=o.target.closest?.(".tabs__tab");a&&b(a)}),document.addEventListener("keydown",o=>{if(!["ArrowRight","ArrowLeft","Home","End"].includes(o.key))return;const e=o.target.closest?.(".tabs__tab");if(!e)return;const n=[...e.parentElement.querySelectorAll(".tabs__tab")],t=n.indexOf(e);let i;o.key==="Home"?i=n[0]:o.key==="End"?i=n[n.length-1]:o.key==="ArrowRight"?i=n[(t+1)%n.length]:i=n[(t-1+n.length)%n.length],o.preventDefault(),i.focus(),b(i)});function y(){if(location.hash.length<2)return;const o=document.querySelector(`.tabs__tab#${CSS.escape(location.hash.slice(1))}`);if(!o)return;b(o);const a=()=>{document.activeElement===o&&o.blur()};a(),setTimeout(a,50)}y(),addEventListener("load",y),addEventListener("hashchange",y),document.addEventListener("rapid:swapped",y);function b(o){const a=o.closest(".tabs");a&&(a.querySelectorAll(":scope > .tabs__list > .tabs__tab").forEach(e=>{const n=e===o;e.setAttribute("aria-selected",String(n)),e.setAttribute("tabindex",n?"0":"-1")}),a.querySelectorAll(":scope > .tabs__panel").forEach(e=>{e.toggleAttribute("hidden",e.id!==o.getAttribute("aria-controls"))}))}})(),(()=>{const y=new WeakMap;function b(e){const n=Number(e.dataset.toastAutodismiss);!n||y.has(e)||y.set(e,setTimeout(()=>e.remove(),n))}function o(e){const n=Number(e.dataset.toastMax)||4,t=e.querySelectorAll(":scope > .toast");for(let i=0;i<t.length-n;i++)t[i].remove()}function a(e){e.querySelectorAll?.(".toast[data-toast-autodismiss]").forEach(b),e.matches?.(".toast[data-toast-autodismiss]")&&b(e),e.querySelectorAll?.(".toast-region").forEach(o),e.closest?.(".toast-region")&&o(e.closest(".toast-region"))}a(document),new MutationObserver(e=>{for(const n of e)for(const t of n.addedNodes)t.nodeType===1&&a(t)}).observe(document.documentElement,{childList:!0,subtree:!0}),document.addEventListener("click",e=>{const n=e.target.closest?.("[data-toast-open]");if(!n)return;const t=document.querySelector(n.getAttribute("data-toast-open")??""),i=document.querySelector(n.getAttribute("data-toast-region")??"#toast-region");!t?.content||!i||i.append(t.content.cloneNode(!0))})})();
|
|
11
|
+
`;u(d,_,A,C,C.length,C.length);return}const[w,k]=n(d),q=d.value.slice(w,k).split(`
|
|
12
|
+
`);if(g==="clear"){const L=q.map(C=>C.replace(l,"")).join(`
|
|
13
|
+
`).replace(/!\[(.*?)\]\(\S+?\)/g,"$1").replace(/\[(.+?)\]\(\S+?\)/g,"$1").replace(/(\*\*|__|~~|`)(.+?)\1/g,"$2").replace(/(^|[^\w])_(.+?)_(?=[^\w]|$)/g,"$1$2");u(d,w,k,L,0,L.length);return}const x=h[g];if(!x)return;const I=L=>g==="ol"?/^\d+\. /.test(L):L.startsWith(x),z=q.every(L=>L.trim()===""||I(L)),T=q.map((L,C)=>{const D=L.replace(l,"");return z?D:L.trim()===""?L:(g==="ol"?`${C+1}. `:x)+D}).join(`
|
|
14
|
+
`);u(d,w,k,T,0,T.length)}function p(d,g){const _=d.querySelector("[data-editor-preview-panel]"),A=e(d);if(d.querySelectorAll("[data-editor-view]").forEach(w=>{w.setAttribute("aria-pressed",String(w.getAttribute("data-editor-view")===(g?"preview":"write")))}),!g){d.removeAttribute("data-editor-view"),_&&(_.hidden=!0),A?.focus();return}if(d.setAttribute("data-editor-view","preview"),!_)return;_.hidden=!1;const S=d.getAttribute("data-editor-preview");if(S&&globalThis.rapid?.swap)_.setAttribute("aria-busy","true"),globalThis.rapid.swap(S,_,{method:"post",body:new URLSearchParams({text:A?.value??""}).toString()}).finally(()=>_.removeAttribute("aria-busy"));else{_.replaceChildren();const w=document.createElement("p");w.className="editor__preview-note",w.textContent="No preview route on this page \u2014 showing the Markdown source.";const k=document.createElement("pre");k.className="editor__preview-raw",k.textContent=A?.value??"",_.append(w,k)}}function b(d){const g=e(d),_=t(d);g&&_&&(g.value=_.innerHTML)}const f=()=>String(document.queryCommandValue("formatBlock")||"").toLowerCase().replace(/[<>]/g,"");function r(d,g){const _=t(d);if(!(!_||_.getAttribute("contenteditable")!=="true")){if(_.focus(),i[g])document.execCommand(i[g]);else if(o[g])document.execCommand(o[g]);else if(a[g])document.execCommand("formatBlock",!1,f()===a[g]?"<p>":`<${a[g]}>`);else if(g==="link"){const A=globalThis.prompt?.("Link URL","https://");A&&document.execCommand("createLink",!1,A)}else if(g==="image"){const A=globalThis.prompt?.("Image URL","https://");A&&document.execCommand("insertImage",!1,A)}else g==="hr"?document.execCommand("insertHorizontalRule"):g==="clear"&&(document.execCommand("removeFormat"),document.execCommand("unlink"),document.queryCommandState("insertUnorderedList")&&document.execCommand("insertUnorderedList"),document.queryCommandState("insertOrderedList")&&document.execCommand("insertOrderedList"),f()!=="p"&&f()!=="div"&&document.execCommand("formatBlock",!1,"<p>"));b(d),m(d)}}function m(d){if(!c(d))return;const g=f();d.querySelectorAll("[data-editor-cmd]").forEach(_=>{const A=_.getAttribute("data-editor-cmd");let S=!1;i[A]||o[A]?S=document.queryCommandState(i[A]??o[A]):a[A]&&(S=g===a[A]),_.setAttribute("aria-pressed",String(S))})}function y(d){if(d.dataset.editorReady)return;d.dataset.editorReady="true";const g=e(d),_=t(d);_&&g&&(_.innerHTML=g.value,_.setAttribute("contenteditable",g.disabled?"false":"true"),document.execCommand("defaultParagraphSeparator",!1,"p"))}const E=()=>document.querySelectorAll("[data-editor]").forEach(y);document.readyState==="loading"?document.addEventListener("DOMContentLoaded",E):E(),document.addEventListener("rapid:swapped",E),document.addEventListener("click",d=>{const g=d.target.closest?.("[data-editor-cmd]");if(g){const A=g.closest("[data-editor]"),S=g.getAttribute("data-editor-cmd");if(c(A))r(A,S);else{const w=e(A);w&&!w.disabled&&s(w,S)}return}const _=d.target.closest?.("[data-editor-view]");_&&p(_.closest("[data-editor]"),_.getAttribute("data-editor-view")==="preview")}),document.addEventListener("input",d=>{const g=d.target.closest?.("[data-editor-surface]");g&&b(g.closest("[data-editor]"))}),document.addEventListener("selectionchange",()=>{const d=document.activeElement?.closest?.("[data-editor]");d&&m(d)}),document.addEventListener("keydown",d=>{if(!(d.metaKey||d.ctrlKey)||d.altKey)return;const g=d.target.closest?.("[data-editor]");if(!g)return;const _={b:"bold",i:"italic",u:"underline",k:"link"}[d.key.toLowerCase()];!_||_==="underline"&&!c(g)||(d.preventDefault(),c(g)?r(g,_):s(e(g),_))})})(),(()=>{const v="input:not([type=hidden]):not([type=submit]):not([type=button]):not([type=reset]), textarea, select",h=[["valueMissing","required"],["typeMismatch","type"],["badInput","type"],["patternMismatch","pattern"],["tooShort","min-length"],["tooLong","max-length"],["rangeUnderflow","min"],["rangeOverflow","max"],["stepMismatch","step"]],a=n=>n.closest?.("form[data-validate]"),i=n=>n.type==="checkbox"||n.type==="radio"||n.offsetParent!==null;function o(n){const l=n.getAttribute("data-match");if(l){const p=document.querySelector(l),b=p&&n.value!==""&&n.value!==p.value;n.setCustomValidity(b?n.getAttribute("data-msg-match")||"Does not match":"")}const s=n.validity;if(s.valid)return"";if(s.customError)return n.validationMessage;for(const[p,b]of h)if(s[p])return n.getAttribute(`data-msg-${b}`)||n.getAttribute("data-msg")||n.validationMessage;return n.validationMessage}const e=n=>n.id?`${n.id}-error`:"";function t(n,l){const s=n.closest(".form-field")??n.parentElement,p=n.classList[0]||"input";let b=s.querySelector(":scope > .form-field__error");const f=s.querySelector(":scope > .form-field__help");if(l){b||(b=document.createElement("p"),b.className="form-field__error",b.setAttribute("role","alert"),e(n)&&(b.id=e(n)),(f??s).insertAdjacentElement(f?"beforebegin":"beforeend",b)),b.textContent=l,f&&(f.hidden=!0),n.setAttribute("aria-invalid","true"),n.classList.add(`${p}--invalid`);const r=(n.getAttribute("aria-describedby")||"").split(/\s+/).filter(Boolean);b.id&&!r.includes(b.id)&&n.setAttribute("aria-describedby",[...r,b.id].join(" ")),n.dataset.validated="invalid"}else{b?.remove(),f&&(f.hidden=!1),n.removeAttribute("aria-invalid"),n.classList.remove(`${p}--invalid`);const r=(n.getAttribute("aria-describedby")||"").split(/\s+/).filter(m=>m&&m!==e(n));r.length?n.setAttribute("aria-describedby",r.join(" ")):n.removeAttribute("aria-describedby"),n.dataset.validated="valid"}}const c=n=>{if(!i(n)||n.disabled)return!0;const l=o(n);return t(n,l),!l};document.addEventListener("focusout",n=>{const l=n.target;!l?.matches?.(v)||!a(l)||(l.dataset.touched="",c(l))}),document.addEventListener("input",n=>{const l=n.target;if(!l?.matches?.(v))return;const s=a(l);s&&((l.dataset.touched!==void 0||l.dataset.validated||l.getAttribute("aria-invalid")==="true")&&(l.dataset.touched="",c(l)),l.id&&s.querySelectorAll(`[data-match="#${CSS.escape(l.id)}"]`).forEach(p=>{p.dataset.touched!==void 0&&c(p)}))}),document.addEventListener("change",n=>{const l=n.target;l?.matches?.(v)&&a(l)&&l.dataset.touched!==void 0&&c(l)}),document.addEventListener("submit",n=>{const l=n.target;if(!l?.matches?.("form[data-validate]"))return;let s=null;for(const p of l.querySelectorAll(v))p.dataset.touched="",!c(p)&&!s&&(s=p);s&&(n.preventDefault(),n.stopImmediatePropagation(),s.scrollIntoView({block:"center"}),s.focus())},!0);function u(){document.querySelectorAll("form[data-validate]").forEach(n=>n.setAttribute("novalidate",""))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",u):u(),document.addEventListener("rapid:swapped",u)})(),(()=>{function v(){const h=location.href;let a=null;if(document.querySelectorAll(".menu__link[href]").forEach(o=>{if(!o.getAttribute("href")?.includes("#"))return;new URL(o.getAttribute("href"),location.href).href===h&&(a=o)}),!a)return;a.closest(".menu__list")?.querySelectorAll(".menu__link").forEach(o=>{o!==a&&o.getAttribute("href")?.includes("#")&&(o.classList.remove("menu__link--active"),o.removeAttribute("aria-current"))}),a.classList.add("menu__link--active"),a.setAttribute("aria-current","page");const i=a.closest(".menu__sublist");i&&(i.hidden=!1,i.classList.add("is-open"),document.querySelector(`[data-toggle="#${CSS.escape(i.id)}"]`)?.setAttribute("aria-expanded","true"))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",v):v(),addEventListener("hashchange",v),document.addEventListener("rapid:swapped",v)})(),(()=>{let v=!1;document.addEventListener("pointerdown",h=>{v=h.target instanceof HTMLDialogElement&&h.target.open}),document.addEventListener("click",h=>{const a=h.target.closest?.("[data-modal-open]");if(a){const o=document.querySelector(a.getAttribute("data-modal-open")??"");o instanceof HTMLDialogElement&&!o.open&&o.showModal();return}const i=h.target.closest?.("[data-modal-close]");if(i){i.closest("dialog")?.close();return}v&&h.target instanceof HTMLDialogElement&&h.target.open&&h.target.close(),v=!1})})(),(()=>{const v=t=>Array.from(t.querySelectorAll(".otp__cell")),h=t=>t.querySelector(".otp__value");function a(t,c){const u=t.getAttribute("data-otp-mode")!=="alphanumeric";return(c||"").replace(u?/[^0-9]/g:/[^0-9a-zA-Z]/g,"")}function i(t,{fromCarrier:c=!1}={}){const u=v(t),n=h(t);if(!u.length||!n)return;if(c){const p=a(t,n.value).slice(0,u.length);u.forEach((b,f)=>b.value=p[f]??"")}const l=u.map(p=>p.value).join("");n.value=l,n.setAttribute("tabindex","-1"),n.setAttribute("aria-hidden","true"),u.forEach(p=>p.toggleAttribute("data-filled",p.value!==""));const s=u.findIndex(p=>!p.value);u.forEach((p,b)=>p.setAttribute("tabindex",b===(s<0?0:s)?"0":"-1")),l.length===u.length&&!t.hasAttribute("data-otp-completed")?(t.setAttribute("data-otp-completed",""),t.dispatchEvent(new CustomEvent("otp:complete",{bubbles:!0,detail:{value:l}})),t.hasAttribute("data-otp-submit")&&t.closest("form")?.requestSubmit()):l.length<u.length&&t.removeAttribute("data-otp-completed")}function o(t,c,u){const n=v(t),l=a(t,u);if(!l){n[c].value="",i(t);return}let s=c;for(const p of l){if(s>=n.length)break;n[s].value=p,s++}i(t),n[Math.min(s,n.length-1)].focus()}document.addEventListener("input",t=>{const c=t.target.closest?.(".otp__cell");if(!c)return;const u=c.closest("[data-otp]"),n=v(u);o(u,n.indexOf(c),c.value)}),document.addEventListener("paste",t=>{const c=t.target.closest?.(".otp__cell");if(!c)return;t.preventDefault();const u=c.closest("[data-otp]");o(u,v(u).indexOf(c),t.clipboardData?.getData("text")??"")}),document.addEventListener("keydown",t=>{const c=t.target.closest?.(".otp__cell");if(!c)return;const u=c.closest("[data-otp]"),n=v(u),l=n.indexOf(c);t.key==="Backspace"?(t.preventDefault(),c.value?c.value="":l>0&&(n[l-1].value="",n[l-1].focus()),i(u)):t.key==="Delete"?(t.preventDefault(),c.value="",i(u)):t.key==="ArrowLeft"&&l>0?(t.preventDefault(),n[l-1].focus()):t.key==="ArrowRight"&&l<n.length-1&&(t.preventDefault(),n[l+1].focus())}),document.addEventListener("focusin",t=>{const c=t.target.closest?.(".otp__cell");c&&c.select()});function e(){document.querySelectorAll("[data-otp]").forEach(t=>i(t,{fromCarrier:!0}))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e):e(),document.addEventListener("rapid:swapped",e)})(),(()=>{const v=new Set(["password","password1","passw0rd","123456","1234567","12345678","123456789","1234567890","qwerty","qwerty123","abc123","111111","123123","000000","letmein","welcome","admin","iloveyou","monkey","dragon","login","princess","football","master","sunshine","shadow","superman","michael","baseball","trustno1"]),h=/(?:0123|1234|2345|3456|4567|5678|6789|abcd|bcde|cdef|defg|qwer|wert|asdf|sdfg|zxcv|xcvb)/i;function a(e,t){if(!e)return 0;const c=e.toLowerCase();if(v.has(c)||/^(.)\1+$/.test(e))return 1;const u=[/[a-z]/,/[A-Z]/,/[0-9]/,/[^A-Za-z0-9]/].filter(l=>l.test(e)).length;let n=0;return e.length>=t&&n++,e.length>=12&&n++,u>=3&&n++,(u===4||e.length>=16)&&n++,(h.test(c)||/(.)\1{2,}/.test(e))&&n--,Math.max(1,Math.min(4,n))}function i(e){const t=e.closest("[data-password]");if(!t)return;const c=t.querySelector("[data-password-strength]"),u=Number(e.getAttribute("minlength"))||8,n=a(e.value,u);if(t.dataset.strengthLevel=String(n),c){c.hidden=n===0;const s=c.querySelector("[data-password-label]");if(s){const p=(s.getAttribute("data-levels")||"Too weak|Weak|Good|Strong").split("|");s.textContent=n?p[n-1]:""}}const l=Number(e.getAttribute("data-strength-min"));if(l){const s=n>0&&n<l;e.setCustomValidity(s?e.getAttribute("data-msg-strength")||"Choose a stronger password":"")}}document.addEventListener("input",e=>{const t=e.target;t?.matches?.("[data-password] .password__input")&&i(t)},!0),document.addEventListener("click",e=>{const t=e.target.closest?.("[data-password-reveal]");if(!t)return;const c=document.getElementById(t.getAttribute("aria-controls"));if(!c)return;const u=c.type==="password";c.type=u?"text":"password",t.setAttribute("aria-pressed",String(u)),t.textContent=u?t.getAttribute("data-label-hide")||"Hide":t.getAttribute("data-label-show")||"Show",c.focus()});function o(){document.querySelectorAll("[data-password] .password__input").forEach(e=>{e.value&&i(e)})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",o):o(),document.addEventListener("rapid:swapped",o)})(),(()=>{function v(a,i){const o=a.querySelector(".popover__panel"),e=a.querySelector("[data-popover-trigger]");o&&(o.hidden=!i),e&&e.setAttribute("aria-expanded",i?"true":"false")}const h=()=>document.querySelectorAll("[data-popover] .popover__panel:not([hidden])");document.addEventListener("click",a=>{const i=a.target.closest?.("[data-popover-trigger]");if(i){const e=i.closest("[data-popover]"),t=e?.querySelector(".popover__panel");t&&v(e,t.hidden);return}const o=a.target.closest?.("[data-popover]");h().forEach(e=>{const t=e.closest("[data-popover]");t!==o&&v(t,!1)})}),document.addEventListener("keydown",a=>{if(a.key!=="Escape"||a.defaultPrevented)return;const i=a.target.closest?.("[data-popover]"),o=i?[i]:Array.from(h()).map(t=>t.closest("[data-popover]"));let e=!1;o.forEach(t=>{const c=t.querySelector(".popover__panel");!c||c.hidden||(v(t,!1),t.querySelector("[data-popover-trigger]")?.focus(),e=!0)}),e&&a.preventDefault()})})(),(()=>{function v(a){const o=a.querySelector(".segmented__input:checked")?.nextElementSibling;if(!o){a.style.setProperty("--segmented-w","0px");return}const e=a.getBoundingClientRect(),t=o.getBoundingClientRect(),c=getComputedStyle(a).direction==="rtl",u=c?e.right-a.clientLeft-3-t.right:t.left-e.left-a.clientLeft-3;a.style.setProperty("--segmented-x",`${c?-u:u}px`),a.style.setProperty("--segmented-w",`${t.width}px`),a.setAttribute("data-segmented-ready","")}const h=()=>document.querySelectorAll("[data-segmented]").forEach(v);document.readyState==="loading"?document.addEventListener("DOMContentLoaded",h):h(),addEventListener("load",h),addEventListener("resize",h),document.addEventListener("rapid:swapped",h),document.addEventListener("change",a=>{const i=a.target.closest?.("[data-segmented]");i&&v(i)})})(),(()=>{function v(i){const o=i.querySelector("[data-select-ui]");return o?{root:o,input:o.querySelector("input[role='combobox']"),hidden:o.querySelector("[data-combobox-value]"),options:Array.from(o.querySelectorAll("[role='option']"))}:null}document.addEventListener("combobox:pick",i=>{const e=i.target.closest?.("[data-select]")?.querySelector(".select__native");if(!e)return;const t=i.detail?.value??"";e.value!==t&&(e.value=t,e.dispatchEvent(new Event("change",{bubbles:!0})),e.dispatchEvent(new Event("input",{bubbles:!0})))}),document.addEventListener("change",i=>{if(!i.target.matches?.(".select__native"))return;const o=i.target.closest("[data-select]"),e=v(o);if(!e)return;const t=i.target.value,c=e.options.find(n=>n.getAttribute("data-value")===t),u=c?(c.querySelector(".combobox__option-label")?.textContent??c.textContent).trim():"";e.hidden&&(e.hidden.value=t),e.input&&e.input.value!==u&&(e.input.value=u),e.options.forEach(n=>n.setAttribute("aria-selected",String(n===c)))});let h="",a=0;document.addEventListener("keydown",i=>{const o=i.target;if(!o.matches?.("[data-select-ui] input[role='combobox']")||i.key.length!==1||i.metaKey||i.ctrlKey||i.altKey)return;const e=Date.now();h=e-a>600?i.key:h+i.key,a=e;const t=o.closest("[data-select]"),u=v(t)?.options.find(n=>n.getAttribute("aria-disabled")!=="true"&&(n.querySelector(".combobox__option-label")?.textContent??n.textContent).trim().toLowerCase().startsWith(h.toLowerCase()));u&&u.click(),i.preventDefault()})})(),(()=>{function v(i){const o=i.closest("[data-slider]");if(!o)return null;const e=Number(i.min||0),t=Number(i.max||100),c=t===e?0:(Number(i.value)-e)/(t-e)*100;return o.style.setProperty("--slider-pct",`${c.toFixed(2)}%`),o}function h(i,o){const e=i.querySelector("[data-slider-output]");if(!e)return;const t=Number(o.value),c=i.getAttribute("data-slider-labels");if(c){const l=Number(o.step||1),s=Math.round((t-Number(o.min||0))/l);let p=[];try{p=JSON.parse(c)}catch{}e.textContent=p[s]??o.value,i.querySelectorAll(".slider__scale-item").forEach((b,f)=>{b.classList.toggle("slider__scale-item--active",f===s)});return}const u=i.getAttribute("data-slider-unit"),n=i.getAttribute("data-slider-unit-one")||u;e.textContent=u?`${o.value} ${t===1?n:u}`:o.value}function a(){document.querySelectorAll("[data-slider] .slider__input").forEach(v)}document.addEventListener("input",i=>{if(!i.target.matches?.("[data-slider] .slider__input"))return;const o=v(i.target);o&&h(o,i.target)}),document.readyState==="loading"?document.addEventListener("DOMContentLoaded",a):a(),document.addEventListener("rapid:swapped",a)})(),(()=>{document.addEventListener("click",a=>{const i=a.target.closest?.(".tabs__tab");i&&h(i)}),document.addEventListener("keydown",a=>{if(!["ArrowRight","ArrowLeft","Home","End"].includes(a.key))return;const o=a.target.closest?.(".tabs__tab");if(!o)return;const e=[...o.parentElement.querySelectorAll(".tabs__tab")],t=e.indexOf(o);let c;a.key==="Home"?c=e[0]:a.key==="End"?c=e[e.length-1]:a.key==="ArrowRight"?c=e[(t+1)%e.length]:c=e[(t-1+e.length)%e.length],a.preventDefault(),c.focus(),h(c)});function v(){if(location.hash.length<2)return;const a=document.querySelector(`.tabs__tab#${CSS.escape(location.hash.slice(1))}`);if(!a)return;h(a);const i=()=>{document.activeElement===a&&a.blur()};i(),setTimeout(i,50)}v(),addEventListener("load",v),addEventListener("hashchange",v),document.addEventListener("rapid:swapped",v);function h(a){const i=a.closest(".tabs");i&&(i.querySelectorAll(":scope > .tabs__list > .tabs__tab").forEach(o=>{const e=o===a;o.setAttribute("aria-selected",String(e)),o.setAttribute("tabindex",e?"0":"-1")}),i.querySelectorAll(":scope > .tabs__panel").forEach(o=>{o.toggleAttribute("hidden",o.id!==a.getAttribute("aria-controls"))}))}})(),(()=>{const v=new WeakMap;function h(o){const e=Number(o.dataset.toastAutodismiss);!e||v.has(o)||v.set(o,setTimeout(()=>o.remove(),e))}function a(o){const e=Number(o.dataset.toastMax)||4,t=o.querySelectorAll(":scope > .toast");for(let c=0;c<t.length-e;c++)t[c].remove()}function i(o){o.querySelectorAll?.(".toast[data-toast-autodismiss]").forEach(h),o.matches?.(".toast[data-toast-autodismiss]")&&h(o),o.querySelectorAll?.(".toast-region").forEach(a),o.closest?.(".toast-region")&&a(o.closest(".toast-region"))}i(document),new MutationObserver(o=>{for(const e of o)for(const t of e.addedNodes)t.nodeType===1&&i(t)}).observe(document.documentElement,{childList:!0,subtree:!0}),document.addEventListener("click",o=>{const e=o.target.closest?.("[data-toast-open]");if(!e)return;const t=document.querySelector(e.getAttribute("data-toast-open")??""),c=document.querySelector(e.getAttribute("data-toast-region")??"#toast-region");!t?.content||!c||c.append(t.content.cloneNode(!0))})})();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tundralibs/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "HTML + CSS + JS component and layout library; first-class UI layer for rAPId. The npm package carries the compiled dist/ bundle (served by jsDelivr); the TypeScript templates are published to JSR.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ui",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
},
|
|
65
65
|
"devDependencies": {
|
|
66
66
|
"@tundralibs/compat": "npm:@jsr/tundralibs__compat@^2.7.2",
|
|
67
|
-
"@tundralibs/rapid": "npm:@jsr/tundralibs__rapid@^0.7.
|
|
67
|
+
"@tundralibs/rapid": "npm:@jsr/tundralibs__rapid@^0.7.1",
|
|
68
68
|
"esbuild": "0.25.12",
|
|
69
69
|
"postcss": "^8.5.0",
|
|
70
70
|
"postcss-import": "^16.1.0",
|