@crewlethq/artifact-kit 0.123.0 → 0.124.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/dist/kit.css CHANGED
@@ -3,4 +3,4 @@
3
3
  :root{--crewlet-brand-accent: var(--brand-primary-on-dark, var(--brand-primary));--crewlet-brand-ink: color-mix(in oklab, var(--crewlet-brand-accent) 55%, white);--crewlet-brand-soft: color-mix(in srgb, var(--crewlet-brand-accent) 16%, transparent);--crewlet-brand-ground: var(--brand-dark-ground);--crewlet-brand-text: initial;--crewlet-brand-hover: color-mix(in oklab, var(--crewlet-brand-accent) 90%, black);--crewlet-brand-active: color-mix(in oklab, var(--crewlet-brand-accent) 80%, black);--crewlet-brand-deep: color-mix(in oklab, var(--crewlet-brand-accent) 70%, black);--crewlet-brand-soft-strong: color-mix(in srgb, var(--crewlet-brand-accent) 32%, transparent);--crewlet-brand-selected: color-mix(in srgb, var(--crewlet-brand-accent) 60%, transparent);--crewlet-brand-glow: 0 4px 24px color-mix(in srgb, var(--crewlet-brand-accent) 30%, transparent);--crewlet-brand-link: color-mix(in oklab, var(--crewlet-brand-ink) 65%, var(--color-text-secondary));--crewlet-brand-on-accent: color( from var(--crewlet-brand-accent) srgb-linear calc((0.179 - (0.2126 * r + 0.7152 * g + 0.0722 * b)) * 100000) calc((0.179 - (0.2126 * r + 0.7152 * g + 0.0722 * b)) * 100000) calc((0.179 - (0.2126 * r + 0.7152 * g + 0.0722 * b)) * 100000) );--crewlet-brand-gradient: linear-gradient( 90deg, var(--brand-primary) 0%, var(--brand-secondary, color-mix(in oklab, var(--brand-primary) 70%, black)) 100% );--color-brand-accent: var(--crewlet-brand-accent, var(--crewlet-theme-color-brand-accent));--color-brand-accent-hover: var(--crewlet-brand-hover, var(--crewlet-theme-color-brand-accent-hover));--color-brand-accent-active: var(--crewlet-brand-active, var(--crewlet-theme-color-brand-accent-active));--color-brand-accent-ink: var(--crewlet-brand-ink, var(--crewlet-theme-color-brand-accent-ink));--color-brand-accent-soft: var(--crewlet-brand-soft, var(--crewlet-theme-color-brand-accent-soft));--color-brand-accent-soft-strong: var(--crewlet-brand-soft-strong, var(--crewlet-theme-color-brand-accent-soft-strong));--color-brand-accent-deep: var(--crewlet-brand-deep, var(--crewlet-theme-color-brand-accent-deep));--color-brand-mark: var(--brand-primary, var(--crewlet-theme-color-brand-mark));--color-brand-highlight: var(--brand-secondary, var(--crewlet-theme-color-brand-highlight));--color-brand-gradient: var(--crewlet-brand-gradient, var(--crewlet-theme-color-brand-gradient));--color-border-selected: var(--crewlet-brand-selected, var(--crewlet-theme-color-border-selected));--color-text-on-accent: var(--crewlet-brand-on-accent, var(--crewlet-theme-color-text-on-accent));--color-text-link-quiet: var(--crewlet-brand-link, var(--crewlet-theme-color-text-link-quiet));--color-text-primary: var(--crewlet-brand-text, var(--crewlet-theme-color-text-primary));--color-surface-frame: var(--crewlet-brand-ground, var(--crewlet-theme-color-surface-frame));--color-surface-background: var(--crewlet-brand-ground, var(--crewlet-theme-color-surface-background));--shadow-glow: var(--crewlet-brand-glow, var(--crewlet-theme-shadow-glow));--font-family-sans: var(--brand-font-body, var(--crewlet-theme-font-family-sans));--font-family-display: var(--brand-font-heading, var(--brand-font-body, var(--crewlet-theme-font-family-display)));}@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){--crewlet-brand-accent: var(--brand-primary);--crewlet-brand-ink: color-mix(in oklab, var(--crewlet-brand-accent) 70%, black);--crewlet-brand-soft: color-mix(in srgb, var(--crewlet-brand-accent) 12.5%, transparent);--crewlet-brand-ground: var(--brand-light-ground);--crewlet-brand-text: var(--brand-text);}}:root[data-theme="light"]{--crewlet-brand-accent: var(--brand-primary);--crewlet-brand-ink: color-mix(in oklab, var(--crewlet-brand-accent) 70%, black);--crewlet-brand-soft: color-mix(in srgb, var(--crewlet-brand-accent) 12.5%, transparent);--crewlet-brand-ground: var(--brand-light-ground);--crewlet-brand-text: var(--brand-text);}
4
4
  .crewlet-logo{--crewlet-logo-src: var(--brand-logo-on-dark, var(--brand-logo-primary));--crewlet-logo-ratio: var(--brand-logo-on-dark-ratio, var(--brand-logo-primary-ratio));display:inline-block;flex:none;vertical-align:middle;block-size:calc(var(--crewlet-logo-size, 2rem) + 0px * var(--crewlet-logo-ratio));inline-size:calc(var(--crewlet-logo-size, 2rem) * var(--crewlet-logo-ratio));background:var(--crewlet-logo-src) center / contain no-repeat}@media(prefers-color-scheme:light){:where(:root:not([data-theme=dark])) .crewlet-logo{--crewlet-logo-src: var(--brand-logo-primary);--crewlet-logo-ratio: var(--brand-logo-primary-ratio)}}:where(:root[data-theme=light]) .crewlet-logo{--crewlet-logo-src: var(--brand-logo-primary);--crewlet-logo-ratio: var(--brand-logo-primary-ratio)}.crewlet-logo[data-variant=on-dark]{--crewlet-logo-src: var(--brand-logo-on-dark);--crewlet-logo-ratio: var(--brand-logo-on-dark-ratio)}.crewlet-logo[data-variant=mark]{--crewlet-logo-src: var(--brand-logo-mark);--crewlet-logo-ratio: var(--brand-logo-mark-ratio)}.crewlet-logo[data-size=sm]{--crewlet-logo-size: 1.5rem}.crewlet-logo[data-size=lg]{--crewlet-logo-size: 3rem}.crewlet-logo[data-size=xl]{--crewlet-logo-size: 4rem}
5
5
 
6
- crewlet-sheet{display:block;min-width:0}crewlet-column{display:none}.crewlet-kit-sheet{display:flex;flex-direction:column;gap:var(--spacing-2);min-width:0}.crewlet-kit-sheet__presence{display:flex;justify-content:flex-end}.crewlet-kit-sheet__presence>.crewlet-presence-stack{margin:var(--crewlet-presence-stack-reach)}.crewlet-callout{--crewlet-callout-fill: var(--color-surface-inset);--crewlet-callout-ink: var(--color-text-secondary);--crewlet-callout-line: transparent;display:grid;grid-template-columns:auto minmax(0,1fr);grid-auto-columns:auto;align-items:start;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--crewlet-callout-line);border-radius:var(--radius-md);background:var(--crewlet-callout-fill);color:var(--crewlet-callout-ink);font-family:var(--font-family-sans);font-size:var(--font-size-compact);line-height:var(--font-line-height-normal)}.crewlet-callout:has(>.crewlet-callout__action){--crewlet-callout-lead: max(0px, calc((var(--size-control-sm) - 1lh) / 2));container:crewlet-callout / inline-size}.crewlet-callout__icon{display:inline-flex;margin-top:calc(2px + var(--crewlet-callout-lead, 0px))}.crewlet-callout__content{min-width:0;padding-block:var(--crewlet-callout-lead, 0px)}.crewlet-callout__title{display:block;font-weight:var(--font-weight-semibold)}.crewlet-callout__action{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-2);grid-column:3;grid-row:1;align-self:center}@container crewlet-callout (width < 28rem){.crewlet-callout__icon,.crewlet-callout__content{--crewlet-callout-lead: 0px}.crewlet-callout__action{grid-column:2;grid-row:2;justify-self:start;align-self:start}}.crewlet-callout code,.crewlet-callout .crewlet-inline-code{color:inherit}.crewlet-callout--info{--crewlet-callout-fill: var(--color-feedback-info-soft);--crewlet-callout-ink: var(--color-feedback-info-ink)}.crewlet-callout--success{--crewlet-callout-fill: var(--color-feedback-success-soft);--crewlet-callout-ink: var(--color-feedback-success-ink)}.crewlet-callout--warning{--crewlet-callout-fill: var(--color-feedback-warning-soft);--crewlet-callout-ink: var(--color-feedback-warning-ink)}.crewlet-callout--danger{--crewlet-callout-fill: var(--color-feedback-danger-soft);--crewlet-callout-ink: var(--color-feedback-danger-ink)}.crewlet-callout--banner{border-radius:var(--radius-none);border-width:0 0 1px;border-bottom-color:var(--color-border-default);padding:var(--spacing-2) var(--spacing-4)}@property --crewlet-spinner-arc{syntax: "<angle>"; inherits: false; initial-value: 270deg;}.crewlet-spinner{--crewlet-spinner-from: calc(270deg - var(--crewlet-spinner-arc) / 2);display:inline-block;box-sizing:border-box;flex:none;width:1em;height:1em;border:2px solid currentColor;border-radius:var(--radius-circle);opacity:.7;-webkit-mask-image:conic-gradient(from var(--crewlet-spinner-from),transparent 0deg,#000 6deg,#000 calc(var(--crewlet-spinner-arc) - 6deg),transparent var(--crewlet-spinner-arc));mask-image:conic-gradient(from var(--crewlet-spinner-from),transparent 0deg,#000 6deg,#000 calc(var(--crewlet-spinner-arc) - 6deg),transparent var(--crewlet-spinner-arc));animation:crewlet-spinner-turn var(--motion-duration-turn) linear infinite,crewlet-spinner-sweep var(--motion-duration-sweep) var(--motion-easing-in-out) infinite}.crewlet-spinner--xs{width:var(--font-size-xs);height:var(--font-size-xs)}.crewlet-spinner--sm{width:var(--font-size-sm);height:var(--font-size-sm)}.crewlet-spinner--md{width:var(--font-size-md);height:var(--font-size-md)}@keyframes crewlet-spinner-turn{to{transform:rotate(360deg)}}@keyframes crewlet-spinner-sweep{0%,to{--crewlet-spinner-arc: 90deg}50%{--crewlet-spinner-arc: 270deg}}@media(prefers-reduced-motion:reduce){.crewlet-spinner{animation:none}}.crewlet-layer-host{position:absolute;inset:0;pointer-events:none}.crewlet-layer-host>*{pointer-events:auto}.crewlet-tooltip{position:fixed;max-width:260px;padding:var(--spacing-2) var(--spacing-3);background:var(--color-tooltip-surface);color:var(--color-tooltip-text);border:1px solid var(--color-tooltip-edge);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-size:var(--font-size-compact);font-weight:var(--font-weight-semibold);line-height:var(--font-line-height-snug);overflow-wrap:break-word;animation:crewlet-tooltip-in var(--motion-duration-instant) var(--motion-easing-out)}.crewlet-tooltip .crewlet-kbd{border-color:var(--color-tooltip-edge);background:none;color:var(--color-tooltip-meta)}.crewlet-tooltip--in-host{position:absolute}@keyframes crewlet-tooltip-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.crewlet-tooltip{animation:none}}.crewlet-visually-hidden{position:absolute;top:0;left:0;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:pre}.crewlet-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-family-sans);font-weight:var(--font-weight-medium);letter-spacing:var(--font-letter-spacing-normal);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background var(--motion-duration-fast) var(--motion-easing-default),color var(--motion-duration-fast) var(--motion-easing-default),border-color var(--motion-duration-fast) var(--motion-easing-default)}.crewlet-btn,.crewlet-btn:hover{text-decoration:none}.crewlet-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.crewlet-btn--secondary:focus-visible,.crewlet-btn--outline:focus-visible,.crewlet-btn--danger:focus-visible,.crewlet-btn[aria-pressed=true]:focus-visible{outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-btn:disabled,.crewlet-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.crewlet-btn:disabled{pointer-events:none}.crewlet-btn--small{--crewlet-btn-inset: var(--spacing-2);min-height:var(--size-control-sm);padding:0 var(--crewlet-btn-inset);font-size:var(--font-size-xs)}.crewlet-btn--medium{--crewlet-btn-inset: var(--spacing-3);min-height:var(--size-control-md);padding:0 var(--crewlet-btn-inset);font-size:var(--font-size-compact)}.crewlet-btn--large{--crewlet-btn-inset: var(--spacing-4);min-height:var(--size-control-lg);padding:0 var(--crewlet-btn-inset);font-size:var(--font-size-sm)}.crewlet-btn--flush{margin-inline-start:var(--crewlet-btn-flush-outdent, calc(-1 * (var(--crewlet-btn-inset) + 1px)))}.crewlet-btn--flush:focus-visible{outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-btn--square{border-radius:var(--radius-md)}.crewlet-btn--pill{border-radius:var(--radius-pill)}.crewlet-btn--pill.crewlet-btn--small{padding:0 var(--spacing-3)}.crewlet-btn--pill.crewlet-btn--medium{padding:0 var(--spacing-4)}.crewlet-btn--pill.crewlet-btn--large{padding:0 var(--spacing-5)}.crewlet-btn--block{width:100%}.crewlet-btn--primary,.crewlet-btn--accent,a.crewlet-btn--primary.crewlet-btn--primary:is(:link,:visited,:hover,:active,:focus),a.crewlet-btn--accent.crewlet-btn--accent:is(:link,:visited,:hover,:active,:focus){background:var(--color-brand-accent);color:var(--color-text-on-accent);border-color:transparent}.crewlet-btn--primary:hover:not(:disabled):not([aria-disabled=true]),.crewlet-btn--accent:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-brand-accent-hover);border-color:transparent}.crewlet-btn--primary:active:not(:disabled):not([aria-disabled=true]),.crewlet-btn--accent:active:not(:disabled):not([aria-disabled=true]){background:var(--color-brand-accent-active);border-color:transparent}.crewlet-btn--secondary,a.crewlet-btn--secondary.crewlet-btn--secondary:is(:link,:visited,:hover,:active,:focus){background:var(--color-surface-subtle);--crewlet-indicator-ring: var(--color-surface-subtle);color:var(--color-text-primary);border-color:var(--color-border-field)}.crewlet-btn--secondary:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-elevated);--crewlet-indicator-ring: var(--color-surface-elevated);border-color:var(--color-border-control)}.crewlet-btn--secondary:active:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-pressed);--crewlet-indicator-ring: var(--color-surface-pressed)}.crewlet-btn--outline,a.crewlet-btn--outline.crewlet-btn--outline:is(:link,:visited,:hover,:active,:focus){background:transparent;color:var(--color-brand-accent-ink);border-color:var(--color-brand-accent)}.crewlet-btn--outline:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-brand-accent-soft)}.crewlet-btn--ghost,a.crewlet-btn--ghost.crewlet-btn--ghost:is(:link,:visited,:hover,:active,:focus){background:transparent;color:var(--color-text-secondary);border-color:transparent}.crewlet-btn--ghost:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-hover);color:var(--color-text-primary)}.crewlet-btn--ghost:active:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-pressed)}.crewlet-btn--danger,a.crewlet-btn--danger.crewlet-btn--danger:is(:link,:visited,:hover,:active,:focus){background:var(--color-surface-subtle);color:var(--color-feedback-danger-ink);border-color:var(--color-border-field)}.crewlet-btn--danger:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-feedback-danger-soft);border-color:var(--color-feedback-danger)}.crewlet-btn--danger:active:not(:disabled):not([aria-disabled=true]){background:var(--color-feedback-danger-soft);border-color:var(--color-feedback-danger-hover)}.crewlet-btn[aria-pressed=true]{background:var(--color-brand-accent-soft);--crewlet-indicator-ring: var(--color-brand-accent-soft);color:var(--color-brand-accent-ink);border-color:var(--color-brand-accent-soft-strong)}.crewlet-btn__icon,.crewlet-btn__label{display:inline-flex;align-items:center}.crewlet-btn__icon .crewlet-glyph{width:1em;height:1em}.crewlet-btn--loading{cursor:progress}@media(prefers-reduced-motion:reduce){.crewlet-btn{transition:none}}.crewlet-icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;line-height:1;flex-shrink:0;transition:background var(--motion-duration-fast) var(--motion-easing-default),border-color var(--motion-duration-fast) var(--motion-easing-default),color var(--motion-duration-fast) var(--motion-easing-default)}.crewlet-icon-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.crewlet-icon-btn--secondary:focus-visible,.crewlet-icon-btn--soft-brand:focus-visible,.crewlet-icon-btn--ghost-brand:focus-visible{outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-icon-btn:disabled,.crewlet-icon-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.crewlet-icon-btn:disabled{pointer-events:none}.crewlet-icon-btn--sm{--crewlet-icon-btn-glyph-inset: calc((var(--size-control-sm) - var(--font-size-xs)) / 2);width:var(--size-control-sm);height:var(--size-control-sm)}.crewlet-icon-btn--md{--crewlet-icon-btn-glyph-inset: calc((var(--size-control-md) - var(--font-size-sm)) / 2);width:var(--size-control-md);height:var(--size-control-md)}.crewlet-icon-btn--lg{--crewlet-icon-btn-glyph-inset: calc((var(--size-control-lg) - var(--font-size-xl)) / 2);width:var(--size-control-lg);height:var(--size-control-lg)}.crewlet-icon-btn--header{--crewlet-icon-btn-glyph-inset: calc((var(--size-control-md) - var(--font-size-lg)) / 2);width:var(--size-control-md);height:var(--size-control-md)}.crewlet-icon-btn--sm .crewlet-glyph{width:var(--font-size-xs);height:var(--font-size-xs)}.crewlet-icon-btn--md .crewlet-glyph{width:var(--font-size-sm);height:var(--font-size-sm)}.crewlet-icon-btn--lg .crewlet-glyph{width:var(--font-size-xl);height:var(--font-size-xl)}.crewlet-icon-btn--header .crewlet-glyph{width:var(--font-size-lg);height:var(--font-size-lg)}.crewlet-icon-btn--primary{background:var(--color-brand-accent);color:var(--color-text-on-accent)}.crewlet-icon-btn--primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-brand-accent-hover)}.crewlet-icon-btn--primary:active:not(:disabled):not([aria-disabled=true]){background:var(--color-brand-accent-active)}.crewlet-icon-btn--secondary{background:var(--color-surface-subtle);--crewlet-indicator-ring: var(--color-surface-subtle);border-color:var(--color-border-field);color:var(--color-text-primary)}.crewlet-icon-btn--secondary:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-elevated);--crewlet-indicator-ring: var(--color-surface-elevated);border-color:var(--color-border-control)}.crewlet-icon-btn--secondary:active:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-pressed);--crewlet-indicator-ring: var(--color-surface-pressed)}.crewlet-icon-btn--ghost{color:var(--color-text-secondary)}.crewlet-icon-btn--ghost:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-hover);color:var(--color-text-primary)}.crewlet-icon-btn--ghost-brand{color:var(--color-text-tertiary)}.crewlet-icon-btn--ghost-brand:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-brand-accent-soft);border-color:var(--color-brand-accent-soft-strong);color:var(--color-brand-accent-ink)}.crewlet-icon-btn--ghost-danger{color:var(--color-text-tertiary)}.crewlet-icon-btn--ghost-danger:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-feedback-danger-soft);color:var(--color-feedback-danger-ink)}.crewlet-icon-btn--soft-brand{background:var(--color-brand-accent-soft);border-color:var(--color-brand-accent-soft-strong);color:var(--color-brand-accent-ink)}.crewlet-icon-btn--soft-brand:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-brand-accent-soft-strong);border-color:var(--color-brand-accent)}a.crewlet-icon-btn{text-decoration:none}.crewlet-icon-btn--current,.crewlet-icon-btn--current:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-elevated);border-color:var(--color-border-default);color:var(--color-text-primary)}.crewlet-icon-btn--current:focus-visible{outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-icon-btn[aria-pressed=true]{background:var(--color-brand-accent-soft);--crewlet-indicator-ring: var(--color-brand-accent-soft);color:var(--color-brand-accent-ink)}@media(prefers-reduced-motion:reduce){.crewlet-icon-btn{transition:none}}.crewlet-modal-overlay{position:fixed;inset:0;display:flex;background:var(--color-surface-veil);backdrop-filter:blur(var(--blur-xs));overflow:clip;animation:crewlet-modal-veil-in var(--motion-duration-base) var(--motion-easing-default)}.crewlet-modal-overlay--clear{background:transparent;backdrop-filter:none}.crewlet-modal-overlay--in-host{position:absolute}.crewlet-modal-overlay--dialog{padding:var(--spacing-4);justify-content:center}.crewlet-modal-overlay--dialog.crewlet-modal-overlay--center{align-items:center}.crewlet-modal-overlay--dialog.crewlet-modal-overlay--top{align-items:flex-start;padding-top:var(--spacing-10)}.crewlet-modal-overlay--dialog.crewlet-modal-overlay--bottom{align-items:flex-end;padding:0}.crewlet-modal-overlay--bottom>.crewlet-modal--dialog{width:100%;max-height:calc(100dvh - var(--spacing-10));border-bottom:none;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding-bottom:env(safe-area-inset-bottom,0px);animation:crewlet-modal-lift var(--motion-duration-moderate) var(--motion-easing-emphasized)}@media(width<640px){.crewlet-modal-overlay--dialog.crewlet-modal-overlay--phone-sheet{align-items:stretch;padding:0}.crewlet-modal-overlay--phone-sheet>.crewlet-modal--dialog{width:100%;height:100%;max-height:none;border:none;border-radius:0;padding-bottom:env(safe-area-inset-bottom,0px);animation:crewlet-modal-lift var(--motion-duration-moderate) var(--motion-easing-emphasized)}}.crewlet-modal-overlay--sheet{padding:0;justify-content:flex-end;align-items:stretch;animation-duration:var(--motion-duration-slow)}.crewlet-modal{--crewlet-modal-width: 480px;--crewlet-modal-sheet-width: 560px;display:flex;flex-direction:column;min-height:0;background:var(--color-surface-subtle);color:var(--color-text-primary);border:1px solid var(--color-border-default);box-shadow:var(--shadow-xl);outline:none}.crewlet-modal__form{display:contents}.crewlet-modal--dialog{width:min(var(--crewlet-modal-width),100%);max-height:calc(100dvh - var(--spacing-10) - var(--spacing-4));border-radius:var(--radius-xl);overflow:hidden;animation:crewlet-modal-rise var(--motion-duration-slow) var(--motion-easing-emphasized)}.crewlet-modal--sm{--crewlet-modal-width: 480px}.crewlet-modal--md{--crewlet-modal-width: 560px}.crewlet-modal--lg{--crewlet-modal-width: 720px}.crewlet-modal--xl{--crewlet-modal-width: 1080px}.crewlet-modal--prompt{--crewlet-modal-width: 420px;box-shadow:var(--shadow-2xl)}.crewlet-modal--prompt .crewlet-modal__body{padding:var(--spacing-6)}.crewlet-modal__prompt-title{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);line-height:var(--font-line-height-tight);color:var(--color-text-primary)}.crewlet-modal--prompt .crewlet-modal__footer{padding:0 var(--spacing-6) var(--spacing-6);border-top:none;background:none}.crewlet-modal--sheet{--crewlet-modal-sheet-from: 100%;width:min(var(--crewlet-modal-sheet-width),100%);height:100%;border-radius:0;border-block:none;border-inline-end:none;box-shadow:var(--shadow-sheet);animation:crewlet-modal-sheet-in var(--motion-duration-slow) var(--motion-easing-emphasized)}.crewlet-modal-overlay--sheet.crewlet-modal-overlay--start{justify-content:flex-start}.crewlet-modal--sheet.crewlet-modal--start{--crewlet-modal-sheet-from: -100%;border-inline-start:none;border-inline-end:1px solid var(--color-border-default);box-shadow:var(--shadow-sheet-start)}@media(width<1024px){.crewlet-modal--sheet,.crewlet-modal--sheet.crewlet-modal--start{width:100%;border-inline:none}}.crewlet-modal__header{--crewlet-modal-glyph-inset: calc((var(--size-control-md) - var(--font-size-sm)) / 2);display:flex;flex-shrink:0;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4);border-bottom:1px solid var(--color-border-default)}.crewlet-modal__header--subtitled{--crewlet-modal-title-line: calc(var(--font-size-sm) * var(--font-line-height-tight));align-items:flex-start}.crewlet-modal__header--subtitled>.crewlet-modal__icon,.crewlet-modal__header--subtitled>.crewlet-modal__actions{align-items:center;height:var(--crewlet-modal-title-line)}.crewlet-modal__header--subtitled>.crewlet-modal__close,.crewlet-modal__header--subtitled>.crewlet-modal__back{margin-block:calc((var(--crewlet-modal-title-line) - var(--size-control-md)) / 2)}.crewlet-modal__header--sheet{min-height:var(--size-shell-topbar);padding:var(--spacing-1) var(--spacing-6);gap:var(--spacing-4);box-sizing:border-box}.crewlet-modal__actions{display:flex;align-items:center;gap:var(--spacing-2);flex-shrink:0}.crewlet-modal__icon{display:inline-flex;flex-shrink:0;color:var(--color-text-primary)}.crewlet-modal__heading{display:flex;flex:1;flex-direction:column;gap:var(--spacing-1);min-width:0}.crewlet-modal__title{margin:0;font-family:var(--font-family-sans);letter-spacing:var(--font-letter-spacing-normal);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--font-line-height-tight);color:var(--color-text-primary)}.crewlet-modal__title--sheet{font-size:var(--font-size-md)}.crewlet-modal__subtitle{margin:0;font-size:var(--font-size-compact);line-height:var(--font-line-height-snug);color:var(--color-text-secondary)}.crewlet-modal__close{flex-shrink:0;margin:calc(var(--spacing-1) * -1);margin-inline-end:calc(var(--crewlet-modal-glyph-inset) * -1)}.crewlet-modal__back{flex-shrink:0;margin-inline-start:calc(var(--crewlet-modal-glyph-inset) * -1);margin-block:calc(var(--spacing-1) * -1)}.crewlet-modal__body{flex:1 1 auto;min-height:0;padding:var(--spacing-4);overflow-x:hidden;overflow-y:auto;font-size:var(--font-size-sm);line-height:var(--font-line-height-normal);color:var(--color-text-primary)}.crewlet-modal__body--sheet{padding:var(--spacing-6)}.crewlet-modal__body--stacked{display:flex;flex-direction:column;gap:var(--spacing-3)}.crewlet-modal__body--stacked.crewlet-modal__body--sheet{gap:var(--spacing-2)}.crewlet-modal__body--flush{padding:0}.crewlet-modal__body--fill{display:flex;flex-direction:column;overflow:hidden}.crewlet-modal__body--fill>*{flex:1 1 auto;min-height:0}.crewlet-modal__body:not(.crewlet-modal__body--stacked)>p{margin:0 0 var(--spacing-3)}.crewlet-modal__body:not(.crewlet-modal__body--stacked)>p:last-child{margin-bottom:0}.crewlet-modal__footer{display:flex;flex-shrink:0;align-items:center;flex-wrap:wrap;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);border-top:1px solid var(--color-border-default);background:var(--color-surface-subtle)}.crewlet-modal__footer--sheet{padding-inline:var(--spacing-6)}.crewlet-modal__footer-start{display:flex;align-items:center;gap:var(--spacing-2);min-width:0;margin-inline-end:auto;font-size:var(--font-size-compact);color:var(--color-text-tertiary)}.crewlet-modal__footer-end{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--spacing-2);margin-inline-start:auto}.crewlet-modal__message{margin:0;line-height:var(--font-line-height-normal)}@keyframes crewlet-modal-veil-in{0%{opacity:0}}@keyframes crewlet-modal-rise{0%{opacity:0;transform:translateY(var(--spacing-2))}}@keyframes crewlet-modal-lift{0%{opacity:0;transform:translateY(var(--spacing-6))}}@keyframes crewlet-modal-sheet-in{0%{transform:translate(var(--crewlet-modal-sheet-from))}}@media(prefers-reduced-motion:reduce){.crewlet-modal-overlay,.crewlet-modal--dialog,.crewlet-modal--sheet{animation:none}.crewlet-modal-overlay--bottom>.crewlet-modal--dialog{animation:none}.crewlet-modal-overlay--phone-sheet>.crewlet-modal--dialog{animation:none}}.crewlet-presence-hue--purple{--crewlet-presence-hue: var(--color-node-purple)}.crewlet-presence-hue--cyan{--crewlet-presence-hue: var(--color-node-cyan)}.crewlet-presence-hue--green{--crewlet-presence-hue: var(--color-node-green)}.crewlet-presence-hue--amber{--crewlet-presence-hue: var(--color-node-amber)}.crewlet-presence-hue--rose{--crewlet-presence-hue: var(--color-node-rose)}.crewlet-presence-hue--blue{--crewlet-presence-hue: var(--color-node-blue)}.crewlet-presence-hue--neutral{--crewlet-presence-hue: var(--color-border-strong)}.crewlet-presence-ring{--crewlet-presence-ring-inset: 1px;--crewlet-presence-ring-weight: 2px;position:relative;display:inline-block}.crewlet-presence-ring:after{position:absolute;inset:0;z-index:var(--z-index-presence);border-radius:inherit;outline:var(--crewlet-presence-ring-weight) solid var(--crewlet-presence-hue);outline-offset:calc((var(--crewlet-presence-ring-inset) + var(--crewlet-presence-ring-weight)) * -1);content:"";pointer-events:none}.crewlet-presence-ring--idle:after{outline-style:dashed}@media(forced-colors:active){.crewlet-presence-ring:after{outline-color:Highlight}}.crewlet-presence-stack{--crewlet-presence-stack-cutout: 2px;--crewlet-presence-stack-reach: calc(var(--crewlet-presence-stack-cutout) * 2)}.crewlet-presence-stack>.crewlet-presence-stack__member{display:inline-flex;flex:none;padding:0;border:0;background:none;box-shadow:none;color:inherit;font:inherit}.crewlet-presence-stack>.crewlet-presence-stack__member{border-radius:var(--crewlet-presence-stack-corner)}button.crewlet-presence-stack__member{cursor:pointer}button.crewlet-presence-stack__member:focus-visible{position:relative;z-index:var(--z-index-raised);outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-presence-stack .crewlet-presence-stack__badge{box-shadow:0 0 0 var(--crewlet-presence-stack-cutout) var(--crewlet-avatar-stack-ground)}.crewlet-presence-stack .crewlet-presence-stack__badge--present{box-shadow:0 0 0 var(--crewlet-presence-stack-cutout) var(--crewlet-avatar-stack-ground),0 0 0 var(--crewlet-presence-stack-reach) var(--crewlet-presence-hue),0 0 0 calc(var(--crewlet-presence-stack-reach) + var(--crewlet-presence-stack-cutout)) var(--crewlet-avatar-stack-ground)}.crewlet-presence-stack>.crewlet-avatar-stack__member:has(+.crewlet-avatar-stack__member){margin-inline-end:var(--crewlet-presence-stack-reach)}.crewlet-presence-stack .crewlet-presence-stack__badge--idle{opacity:.5}.crewlet-presence-stack>.crewlet-presence-stack__member:has(>.crewlet-presence-stack__badge--idle){background:var(--crewlet-avatar-stack-ground);box-shadow:0 0 0 var(--crewlet-presence-stack-cutout) var(--crewlet-avatar-stack-ground)}@media(forced-colors:active){.crewlet-presence-stack .crewlet-presence-stack__badge--present{outline:2px solid Highlight;outline-offset:2px}}.crewlet-avatar{--crewlet-avatar-size: 32px;display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--crewlet-avatar-size);height:var(--crewlet-avatar-size);overflow:hidden;object-fit:cover;font-family:var(--font-family-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--font-letter-spacing-wide);text-indent:var(--font-letter-spacing-wide);line-height:normal;text-transform:uppercase;user-select:none;box-sizing:border-box}.crewlet-avatar--text{--crewlet-avatar-size: 1.15em;font-size:inherit;display:inline-block;text-align:center;line-height:var(--crewlet-avatar-size)}.crewlet-avatar--text.crewlet-avatar--image{display:inline-block}.crewlet-avatar--text .crewlet-avatar__icon{display:inline-block;vertical-align:middle}.crewlet-avatar--text .crewlet-avatar__character{margin:13% auto}.crewlet-avatar__initials{--crewlet-avatar-initials-size: .5em;font-size:var(--crewlet-avatar-initials-size);line-height:1;vertical-align:middle}.crewlet-avatar--xs{--crewlet-avatar-size: 20px;font-size:calc(var(--crewlet-avatar-size) * .45)}.crewlet-avatar--sm{--crewlet-avatar-size: 26px;font-size:var(--font-size-2xs)}.crewlet-avatar--md{--crewlet-avatar-size: 32px;font-size:var(--font-size-xs)}.crewlet-avatar--lg{--crewlet-avatar-size: 40px;font-size:var(--font-size-sm)}.crewlet-avatar{border-radius:clamp(var(--radius-xs),calc(var(--crewlet-avatar-size) * 2 / 9),var(--radius-lg))}.crewlet-avatar--agent{font-family:var(--font-family-mono)}.crewlet-avatar--human{font-family:var(--font-family-sans)}.crewlet-avatar--image{display:block;object-fit:cover}.crewlet-avatar__icon{display:inline-flex;align-items:center;justify-content:center;width:55%;height:55%}.crewlet-avatar__icon>*{width:100%;height:100%}.crewlet-avatar--fallback{border:1px solid var(--color-edge-hairline)}.crewlet-avatar--neutral{background:var(--color-surface-elevated);color:var(--color-text-secondary)}.crewlet-avatar--seeded{color:var(--color-text-on-scrim)}.crewlet-avatar--tint-0{background:var(--color-avatar-tint-0)}.crewlet-avatar--tint-1{background:var(--color-avatar-tint-1)}.crewlet-avatar--tint-2{background:var(--color-avatar-tint-2)}.crewlet-avatar--tint-3{background:var(--color-avatar-tint-3)}.crewlet-avatar--tint-4{background:var(--color-avatar-tint-4)}.crewlet-avatar--tint-5{background:var(--color-avatar-tint-5)}.crewlet-avatar--tint-6{background:var(--color-avatar-tint-6)}.crewlet-avatar--tint-7{background:var(--color-avatar-tint-7)}.crewlet-avatar--tint-8{background:var(--color-avatar-tint-8)}.crewlet-avatar--tint-9{background:var(--color-avatar-tint-9)}.crewlet-avatar--character{border:1px solid var(--color-edge-hairline)}.crewlet-avatar__character{display:block;flex:none;width:74%;height:74%}.crewlet-avatar--hue-purple{--crewlet-avatar-plate: var(--color-node-purple-fill);background:var(--crewlet-avatar-plate);color:var(--color-node-purple)}.crewlet-avatar--hue-cyan{--crewlet-avatar-plate: var(--color-node-cyan-fill);background:var(--crewlet-avatar-plate);color:var(--color-node-cyan)}.crewlet-avatar--hue-green{--crewlet-avatar-plate: var(--color-node-green-fill);background:var(--crewlet-avatar-plate);color:var(--color-node-green)}.crewlet-avatar--hue-amber{--crewlet-avatar-plate: var(--color-node-amber-fill);background:var(--crewlet-avatar-plate);color:var(--color-node-amber)}.crewlet-avatar--hue-rose{--crewlet-avatar-plate: var(--color-node-rose-fill);background:var(--crewlet-avatar-plate);color:var(--color-node-rose)}.crewlet-avatar--hue-blue{--crewlet-avatar-plate: var(--color-node-blue-fill);background:var(--crewlet-avatar-plate);color:var(--color-node-blue)}.crewlet-avatar--ring-brand{outline-style:solid;outline-width:1.5px;outline-offset:2px;outline-color:var(--color-brand-accent)}.crewlet-avatar-frame{--crewlet-avatar-status-size: max(8px, calc(var(--crewlet-avatar-size) * .25));--crewlet-avatar-status-overhang: max(1px, calc(var(--crewlet-avatar-size) * .04));--crewlet-avatar-status-gap: 1.5px;position:relative;display:inline-flex;flex:none;width:var(--crewlet-avatar-size);height:var(--crewlet-avatar-size);vertical-align:middle}.crewlet-avatar--notched{--crewlet-avatar-status-centre: calc( 100% + var(--crewlet-avatar-status-overhang) - var(--crewlet-avatar-status-size) / 2 );--crewlet-avatar-status-cut: calc(var(--crewlet-avatar-status-size) / 2 + var(--crewlet-avatar-status-gap));-webkit-mask-image:radial-gradient(circle at var(--crewlet-avatar-status-centre) var(--crewlet-avatar-status-centre),transparent var(--crewlet-avatar-status-cut),#000 calc(var(--crewlet-avatar-status-cut) + .5px));mask-image:radial-gradient(circle at var(--crewlet-avatar-status-centre) var(--crewlet-avatar-status-centre),transparent var(--crewlet-avatar-status-cut),#000 calc(var(--crewlet-avatar-status-cut) + .5px))}.crewlet-avatar__status{position:absolute;right:calc(var(--crewlet-avatar-status-overhang) * -1);bottom:calc(var(--crewlet-avatar-status-overhang) * -1);display:grid;place-items:center;width:var(--crewlet-avatar-status-size);height:var(--crewlet-avatar-status-size);border-radius:var(--radius-circle);outline:1px solid transparent;color:var(--color-text-inverse);pointer-events:none}.crewlet-avatar__status>svg{display:block;width:100%;height:100%}.crewlet-avatar__status--working{background:var(--color-feedback-info)}.crewlet-avatar__status--needs{background:var(--color-feedback-warning)}.crewlet-avatar__status--stopped{background:var(--color-feedback-danger)}.crewlet-avatar__status--mark{padding:1px;background:var(--color-surface-elevated);outline-color:var(--color-border-strong);outline-offset:-1px;color:var(--color-text-secondary)}.crewlet-avatar-stack{--crewlet-avatar-stack-ground: var(--color-surface-background);--crewlet-avatar-stack-size: 26px;display:inline-flex;flex:none;align-items:center;vertical-align:middle}.crewlet-avatar-stack>.crewlet-avatar-stack__member{box-shadow:0 0 0 2px var(--crewlet-avatar-stack-ground)}.crewlet-avatar-stack>.crewlet-avatar-stack__member.crewlet-avatar,.crewlet-avatar-stack>.crewlet-avatar-stack__member>.crewlet-avatar{border-color:transparent}.crewlet-avatar-stack>.crewlet-avatar-stack__member,.crewlet-avatar-stack>.crewlet-avatar-stack__member>.crewlet-avatar{background-image:linear-gradient(var(--crewlet-avatar-plate),var(--crewlet-avatar-plate)),linear-gradient(var(--crewlet-avatar-stack-ground),var(--crewlet-avatar-stack-ground))}.crewlet-avatar-stack>.crewlet-avatar-stack__member+.crewlet-avatar-stack__member{margin-inline-start:-6px}.crewlet-avatar-stack.crewlet-avatar-stack--xs>.crewlet-avatar-stack__member+.crewlet-avatar-stack__member{margin-inline-start:-2px}.crewlet-avatar-stack.crewlet-avatar-stack--spread{gap:var(--spacing-1)}.crewlet-avatar-stack.crewlet-avatar-stack--spread>.crewlet-avatar-stack__member{box-shadow:none}.crewlet-avatar-stack.crewlet-avatar-stack--spread>.crewlet-avatar-stack__member.crewlet-avatar,.crewlet-avatar-stack.crewlet-avatar-stack--spread>.crewlet-avatar-stack__member>.crewlet-avatar{border-color:var(--color-edge-hairline)}.crewlet-avatar-stack.crewlet-avatar-stack--spread>.crewlet-avatar-stack__member+.crewlet-avatar-stack__member{margin-inline-start:0}.crewlet-avatar-stack>.crewlet-avatar-stack__more{display:inline-flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;min-width:var(--crewlet-avatar-stack-size);height:var(--crewlet-avatar-stack-size);padding-inline:var(--spacing-1);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface-elevated);color:var(--color-text-secondary);font-family:var(--font-family-sans);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;line-height:normal;white-space:nowrap;user-select:none}.crewlet-tag-group{--crewlet-tag-group-pad: calc(var(--spacing-2) + var(--spacing-1) / 4);display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-1);margin:0;padding:0;list-style:none;min-width:0}.crewlet-tag-group:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.crewlet-tag-group--fit{flex-wrap:wrap;overflow:hidden;max-height:var(--size-control-sm)}.crewlet-tag-group__item[data-count]{align-self:stretch}.crewlet-tag-group__count{display:inline-flex;align-items:center;box-sizing:border-box;padding:0 var(--crewlet-tag-group-pad);border-radius:var(--radius-pill);background:var(--color-surface-subtle);color:var(--color-text-secondary);font-family:var(--font-family-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1;white-space:nowrap}.crewlet-tag-group:has(.crewlet-tag--xs) .crewlet-tag-group__count{padding:0 calc(var(--spacing-1) * 1.5);font-size:var(--font-size-2xs)}.crewlet-tag-group__item{display:inline-flex;min-width:0;max-width:100%}.crewlet-tag-group__more{display:inline-flex;align-items:center;height:max(24px,calc(24px * var(--density, 1)));padding:0 var(--crewlet-tag-group-pad);border:1px dashed var(--color-border-hover);border-radius:var(--radius-pill);background:transparent;color:var(--color-text-secondary);font-family:var(--font-family-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1;white-space:nowrap;cursor:pointer;box-sizing:border-box;transition:border-color var(--motion-duration-fast) var(--motion-easing-default),color var(--motion-duration-fast) var(--motion-easing-default)}.crewlet-tag-group__more:hover{border-color:var(--color-border-strong-hover);color:var(--color-text-primary)}.crewlet-tag-group__more:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}@media(prefers-reduced-motion:reduce){.crewlet-tag-group__more{transition:none}}.crewlet-cursor-flag{display:inline-flex;align-items:center;gap:var(--spacing-1);box-sizing:border-box;max-width:16em;padding:0 calc(var(--spacing-1) * 1.5);border-radius:var(--radius-pill);background:var(--crewlet-presence-hue);box-shadow:var(--shadow-cursor);color:var(--color-presence-flag-text);font-family:var(--font-family-sans);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);line-height:var(--font-line-height-normal);white-space:nowrap;pointer-events:none;user-select:none}.crewlet-cursor-flag--agent{border-radius:var(--radius-xs)}.crewlet-cursor-flag__name{overflow:hidden;text-overflow:ellipsis}.crewlet-cursor-flag__glyph{flex:none}.crewlet-cursor-flag--top-end,.crewlet-cursor-flag--bottom-end{position:absolute;inset-inline-end:0;z-index:var(--z-index-presence)}.crewlet-cursor-flag--top-end{bottom:100%}.crewlet-cursor-flag--bottom-end{top:100%}@media(forced-colors:active){.crewlet-cursor-flag{border:1px solid CanvasText;background:Canvas;color:CanvasText}}.crewlet-change-mark{position:absolute;top:0;inset-inline-end:0;width:0;height:0;border-top:var(--spacing-2) solid var(--color-change-mark);border-inline-start:var(--spacing-2) solid transparent;border-start-end-radius:inherit;pointer-events:auto}@media(forced-colors:active){.crewlet-change-mark{border-top-color:CanvasText}}.crewlet-status-dot{--crewlet-status-dot-size: 7px;display:inline-block;width:var(--crewlet-status-dot-size);height:var(--crewlet-status-dot-size);border-radius:var(--radius-circle);background:var(--color-text-tertiary);--crewlet-status-dot-halo: var(--color-surface-pressed);flex:none}.crewlet-status-dot--info{background:var(--color-feedback-info);--crewlet-status-dot-halo: var(--color-feedback-info-soft)}.crewlet-status-dot--success{background:var(--color-feedback-success);--crewlet-status-dot-halo: var(--color-feedback-success-soft)}.crewlet-status-dot--warning{background:var(--color-feedback-warning);--crewlet-status-dot-halo: var(--color-feedback-warning-soft)}.crewlet-status-dot--danger{background:var(--color-feedback-danger);--crewlet-status-dot-halo: var(--color-feedback-danger-soft)}.crewlet-status-dot--brand{background:var(--color-brand-accent);--crewlet-status-dot-halo: var(--color-brand-accent-soft)}:where(.crewlet-status-dot.is-pulsing){position:relative}.crewlet-status-dot.is-pulsing:after{content:"";position:absolute;inset:-2px;border-radius:var(--radius-circle);pointer-events:none;animation:crewlet-status-dot-pulse var(--motion-duration-breath) var(--motion-easing-in-out) infinite}@keyframes crewlet-status-dot-pulse{0%,to{box-shadow:0 0 0 0 var(--crewlet-status-dot-halo)}50%{box-shadow:0 0 0 3px var(--crewlet-status-dot-halo)}}.crewlet-status{display:inline-flex;align-items:center;gap:7px;min-width:0;max-width:100%}.crewlet-status__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crewlet-status--wrap{align-items:flex-start}.crewlet-status--wrap>.crewlet-status-dot{margin-top:calc((1lh - var(--crewlet-status-dot-size)) / 2)}.crewlet-status--wrap>.crewlet-status__label{overflow:visible;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}@media(prefers-reduced-motion:reduce){.crewlet-status-dot.is-pulsing:after{animation:none}}.crewlet-tag{--crewlet-tag-height: calc(22px * var(--density, 1));--crewlet-tag-floor: 0px;--crewlet-tag-pad: calc(var(--spacing-2) + var(--spacing-1) / 4);--crewlet-tag-fill: var(--color-surface-elevated);--crewlet-tag-ink: var(--color-text-secondary);--crewlet-tag-line: var(--color-border-hover);--crewlet-tag-edge: transparent;display:inline-flex;align-items:center;gap:calc(var(--spacing-1) * 1.5);height:max(var(--crewlet-tag-height),var(--crewlet-tag-floor));padding:0 var(--crewlet-tag-pad);border:1px solid var(--crewlet-tag-edge);border-radius:var(--radius-pill);background:var(--crewlet-tag-fill);color:var(--crewlet-tag-ink);font-family:var(--font-family-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--font-letter-spacing-normal);line-height:1;white-space:nowrap;width:fit-content;max-width:100%;vertical-align:middle;box-sizing:border-box}.crewlet-tag__label{overflow:hidden;text-overflow:ellipsis}.crewlet-tag__icon{display:inline-flex;align-items:center;flex:none}.crewlet-tag .crewlet-tag__dot{flex:none;background:currentColor}.crewlet-tag__count{font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold);flex:none}.crewlet-tag--xs{--crewlet-tag-height: calc(18px * var(--density, 1));--crewlet-tag-pad: calc(var(--spacing-1) * 1.5);gap:var(--spacing-1);font-size:var(--font-size-2xs)}.crewlet-tag--sm{--crewlet-tag-height: calc(22px * var(--density, 1))}.crewlet-tag--md{--crewlet-tag-height: var(--size-control-sm)}.crewlet-tag--acts{--crewlet-tag-floor: max(24px, calc(24px * var(--density, 1)))}.crewlet-tag--monospace .crewlet-tag__label{font-family:var(--font-family-mono);font-size:var(--font-size-2xs)}.crewlet-tag--info{--crewlet-tag-fill: var(--color-feedback-info-soft);--crewlet-tag-ink: var(--color-feedback-info-ink);--crewlet-tag-line: var(--color-feedback-info-line)}.crewlet-tag--success{--crewlet-tag-fill: var(--color-feedback-success-soft);--crewlet-tag-ink: var(--color-feedback-success-ink);--crewlet-tag-line: var(--color-feedback-success-line)}.crewlet-tag--warning{--crewlet-tag-fill: var(--color-feedback-warning-soft);--crewlet-tag-ink: var(--color-feedback-warning-ink);--crewlet-tag-line: var(--color-feedback-warning-line)}.crewlet-tag--danger{--crewlet-tag-fill: var(--color-feedback-danger-soft);--crewlet-tag-ink: var(--color-feedback-danger-ink);--crewlet-tag-line: var(--color-feedback-danger-line)}.crewlet-tag--brand{--crewlet-tag-fill: var(--color-brand-accent-soft);--crewlet-tag-ink: var(--color-brand-accent-ink);--crewlet-tag-line: var(--color-brand-accent-soft-strong)}.crewlet-tag--hue-purple{--crewlet-tag-fill: var(--color-node-purple-fill);--crewlet-tag-ink: var(--color-node-purple-ink);--crewlet-tag-line: var(--color-node-purple-line)}.crewlet-tag--hue-cyan{--crewlet-tag-fill: var(--color-node-cyan-fill);--crewlet-tag-ink: var(--color-node-cyan-ink);--crewlet-tag-line: var(--color-node-cyan-line)}.crewlet-tag--hue-green{--crewlet-tag-fill: var(--color-node-green-fill);--crewlet-tag-ink: var(--color-node-green-ink);--crewlet-tag-line: var(--color-node-green-line)}.crewlet-tag--hue-amber{--crewlet-tag-fill: var(--color-node-amber-fill);--crewlet-tag-ink: var(--color-node-amber-ink);--crewlet-tag-line: var(--color-node-amber-line)}.crewlet-tag--hue-rose{--crewlet-tag-fill: var(--color-node-rose-fill);--crewlet-tag-ink: var(--color-node-rose-ink);--crewlet-tag-line: var(--color-node-rose-line)}.crewlet-tag--hue-blue{--crewlet-tag-fill: var(--color-node-blue-fill);--crewlet-tag-ink: var(--color-node-blue-ink);--crewlet-tag-line: var(--color-node-blue-line)}.crewlet-tag--outline{background:transparent;border-color:var(--crewlet-tag-line)}.crewlet-tag--neutral.crewlet-tag--soft{--crewlet-tag-edge: var(--color-border-strong);--crewlet-tag-line: var(--color-border-strong-hover)}.crewlet-tag--neutral.crewlet-tag--outline{border-color:var(--color-border-strong);--crewlet-tag-ink: var(--color-text-tertiary)}.crewlet-tag--quiet{--crewlet-tag-height: calc(16px * var(--density, 1));--crewlet-tag-pad: var(--spacing-1);--crewlet-tag-edge: transparent;gap:var(--spacing-1);border-radius:var(--radius-xs);font-size:var(--font-size-2xs);font-weight:var(--font-weight-regular)}.crewlet-tag--neutral.crewlet-tag--quiet{--crewlet-tag-fill: var(--color-fill-soft);--crewlet-tag-ink: var(--color-text-secondary)}.crewlet-tag--actionable{cursor:pointer;font-family:inherit;transition:border-color var(--motion-duration-fast) var(--motion-easing-default),box-shadow var(--motion-duration-fast) var(--motion-easing-default)}.crewlet-tag--actionable:hover{border-color:var(--crewlet-tag-line)}.crewlet-tag--actionable[aria-pressed=true]{border-color:var(--crewlet-tag-ink);box-shadow:inset 0 0 0 1px var(--crewlet-tag-ink)}.crewlet-tag--actionable:focus-visible,.crewlet-tag__press:focus-visible,.crewlet-tag__remove:focus-visible{outline:2px solid var(--color-focus)}.crewlet-tag--actionable:focus-visible,.crewlet-tag__remove:focus-visible{outline-offset:-1px}.crewlet-tag__press:focus-visible{outline-offset:0}.crewlet-tag--split{padding:0;transition:border-color var(--motion-duration-fast) var(--motion-easing-default),box-shadow var(--motion-duration-fast) var(--motion-easing-default)}.crewlet-tag--split .crewlet-tag__press{display:inline-flex;align-items:center;align-self:stretch;gap:inherit;min-width:0;padding:0 var(--crewlet-tag-pad);border:0;border-radius:var(--radius-pill) 0 0 var(--radius-pill);background:transparent;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;cursor:pointer}.crewlet-tag--split .crewlet-tag__remove{margin-right:0}.crewlet-tag--split:hover{border-color:var(--crewlet-tag-line)}.crewlet-tag--split.is-pressed{border-color:var(--crewlet-tag-ink);box-shadow:inset 0 0 0 1px var(--crewlet-tag-ink)}.crewlet-tag__remove{display:inline-flex;align-items:center;justify-content:center;align-self:stretch;min-width:24px;margin-block-start:-1px;margin-block-end:-1px;margin-right:calc(var(--crewlet-tag-pad) * -1);padding:0 var(--spacing-1);border:0;border-radius:0 var(--radius-pill) var(--radius-pill) 0;background:transparent;color:inherit;cursor:pointer;opacity:.7;transition:opacity var(--motion-duration-fast) var(--motion-easing-default)}.crewlet-tag__remove:hover,.crewlet-tag__remove:focus-visible{opacity:1}.crewlet-tag--animate-in{animation:crewlet-tag-in var(--motion-duration-base) var(--motion-easing-emphasized)}@keyframes crewlet-tag-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.crewlet-tag--animate-in{animation:none}.crewlet-tag--actionable,.crewlet-tag--split,.crewlet-tag__remove{transition:none}}.crewlet-popover{position:fixed;background:var(--color-surface-subtle);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);min-width:260px;max-width:380px;max-height:min(360px,60vh);overflow-y:auto;overscroll-behavior:contain;animation:crewlet-popover-in var(--motion-duration-base) var(--motion-easing-emphasized)}.crewlet-popover--in-host{position:absolute}.crewlet-popover--below{transform-origin:top left}.crewlet-popover--above{transform-origin:bottom left}.crewlet-popover:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}@keyframes crewlet-popover-in{0%{opacity:0;transform:translateY(var(--spacing-2))}}.crewlet-popover__list{list-style:none;margin:0;padding:var(--spacing-1);display:flex;flex-direction:column}.crewlet-popover__item{display:flex;align-items:center;gap:var(--spacing-2);min-height:var(--size-row-sm);padding:0 var(--spacing-2);border-radius:var(--radius-xs);cursor:pointer;background:transparent;border:none;color:var(--color-text-primary);font-size:var(--font-size-compact);font-family:inherit;text-align:left;width:100%}.crewlet-popover__item:hover:not(.is-disabled):not([aria-disabled=true]){background:var(--color-surface-hover)}.crewlet-popover__item:focus{background:var(--color-surface-hover)}.crewlet-popover__item:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-popover__item.is-disabled,.crewlet-popover__item[aria-disabled=true]{color:var(--color-text-tertiary);cursor:not-allowed}.crewlet-popover__item.is-active{color:var(--color-brand-accent-ink)}.crewlet-popover__item-icon{flex-shrink:0}.crewlet-popover__item-spacer{flex:1}.crewlet-popover__item-trail{margin-left:auto;padding-left:var(--spacing-4);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.crewlet-popover__heading{padding:var(--spacing-2) var(--spacing-3) var(--spacing-1);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);letter-spacing:var(--font-letter-spacing-wide);text-transform:uppercase;color:var(--color-text-tertiary)}.crewlet-popover__divider{height:1px;background:var(--color-border-default);margin:var(--spacing-1) 0}.crewlet-popover__editor{padding:var(--spacing-3);min-width:240px}.crewlet-popover__editor-label{display:block;margin-bottom:var(--spacing-2);font-size:var(--font-size-2xs);letter-spacing:var(--font-letter-spacing-wide);text-transform:uppercase;color:var(--color-text-tertiary)}.crewlet-popover--instant{animation:none}@media(prefers-reduced-motion:reduce){.crewlet-popover{animation:none}}.crewlet-menu-anchor{display:inline-flex}.crewlet-menu{position:fixed;display:flex;flex-direction:column;padding:var(--spacing-1);width:max-content;min-width:var(--crewlet-menu-floor, 0px);max-width:max(320px,var(--crewlet-menu-floor, 0px));max-height:var(--crewlet-menu-room, min(360px, 60vh));overflow-y:auto;overscroll-behavior:contain;background:var(--color-surface-subtle);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);animation:crewlet-menu-in var(--motion-duration-base) var(--motion-easing-emphasized)}.crewlet-menu--in-host{position:absolute}.crewlet-menu--instant{animation:none}@keyframes crewlet-menu-in{0%{opacity:0;transform:translateY(var(--spacing-2))}}.crewlet-menu__group{display:contents}.crewlet-menu__item{display:flex;align-items:center;gap:var(--spacing-2);width:100%;flex:none;min-height:var(--size-row-sm);padding:0 var(--spacing-2);border:none;border-radius:var(--radius-xs);background:transparent;color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-compact);text-align:left;white-space:nowrap;cursor:pointer}.crewlet-menu__item--described{align-items:flex-start;padding-block:var(--spacing-2)}.crewlet-menu__item--described>.crewlet-menu__check,.crewlet-menu__item--described>.crewlet-menu__icon{height:1lh}.crewlet-menu__item--described>.crewlet-menu__text,.crewlet-menu__item--described>.crewlet-menu__hint{align-self:baseline}.crewlet-menu__item:hover:not(.is-disabled){background:var(--color-surface-hover)}.crewlet-menu__item:focus{background:var(--color-surface-hover)}.crewlet-menu__item:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-menu--descendant:focus-visible{outline:2px solid transparent}.crewlet-menu--descendant .crewlet-menu__item:hover:not(.is-disabled){background:transparent}.crewlet-menu--descendant .crewlet-menu__item.is-active{background:var(--color-brand-accent);color:var(--color-text-on-accent)}.crewlet-menu--descendant .crewlet-menu__item.is-active :is(.crewlet-menu__icon,.crewlet-menu__check,.crewlet-menu__hint,.crewlet-menu__description){color:inherit}.crewlet-menu--descendant .crewlet-menu__item.is-active.is-danger{background:var(--color-feedback-danger);color:var(--color-text-on-danger)}.crewlet-menu--descendant .crewlet-menu__item.is-active.is-disabled{background:var(--color-surface-pressed);box-shadow:inset 2px 0 0 var(--color-brand-accent);color:var(--color-text-tertiary)}@media(forced-colors:active){.crewlet-menu--descendant .crewlet-menu__item.is-active{outline:2px solid transparent;outline-offset:-2px}}.crewlet-menu__item.is-danger,.crewlet-menu__item.is-danger .crewlet-menu__icon{color:var(--color-feedback-danger-ink)}.crewlet-menu__item.is-disabled,.crewlet-menu__item.is-disabled .crewlet-menu__icon{color:var(--color-text-tertiary)}.crewlet-menu__item.is-disabled{cursor:not-allowed}.crewlet-menu__check{display:inline-flex;align-items:center;justify-content:center;width:var(--spacing-4);flex:none;color:var(--color-text-tertiary)}.crewlet-menu__icon{display:inline-flex;align-items:center;flex:none;color:var(--color-text-tertiary)}.crewlet-menu__text{display:flex;flex-direction:column;gap:calc(var(--spacing-1) / 2);min-width:0}.crewlet-menu__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crewlet-menu__description{color:var(--color-text-tertiary);font-size:var(--font-size-xs);white-space:normal}.crewlet-menu__hint{margin-left:auto;padding-left:var(--spacing-4);color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.crewlet-menu__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-1) var(--spacing-2);margin:calc(var(--spacing-1) * -1) calc(var(--spacing-1) * -1) var(--spacing-1);padding:var(--spacing-2) var(--spacing-3);border-bottom:1px solid var(--color-border-default);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.crewlet-menu__separator{height:1px;margin:var(--spacing-1) 0;background:var(--color-border-default)}@media(prefers-reduced-motion:reduce){.crewlet-menu{animation:none}}.crewlet-menu-anchor>.crewlet-btn.crewlet-menu__value-trigger{font-size:inherit;font-weight:inherit;color:inherit}.crewlet-sheet-grid{--crewlet-sheet-row-height: var(--size-sheet-row);--crewlet-sheet-history-size: var(--size-target-min);position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;color:var(--color-text-primary);font-family:var(--font-family-sans);font-size:var(--font-size-compact)}.crewlet-sheet-grid__measure{position:absolute;inset-block-start:0;inset-inline-start:0;width:0;height:0;overflow:hidden;visibility:hidden;pointer-events:none}.crewlet-sheet-grid__measure>div{display:flex;flex-direction:column;width:max-content}.crewlet-sheet-grid__measure :is(.crewlet-sheet-grid__header,.crewlet-sheet-grid__cell){width:max-content}.crewlet-sheet-grid__probe{position:absolute;width:0;height:var(--size-sheet-row);visibility:hidden;pointer-events:none}.crewlet-sheet-grid__scroller{position:relative;flex:1 1 auto;min-height:0;max-width:100%;overflow:auto;border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-surface-background)}.crewlet-sheet-grid__grid{position:relative;min-width:100%}.crewlet-sheet-grid--fit-content>.crewlet-sheet-grid__scroller{flex:0 1 auto;min-height:min(var(--crewlet-sheet-min-height, 0px),var(--crewlet-sheet-content-height, 0px));max-height:var(--crewlet-sheet-max-height, 70vh)}.crewlet-sheet-grid__row{display:grid;grid-template-columns:var(--crewlet-sheet-columns);height:var(--crewlet-sheet-row-height)}.crewlet-sheet-grid__head{position:sticky;top:0;z-index:var(--z-index-sticky)}.crewlet-sheet-grid__body{position:relative}.crewlet-sheet-grid__body>.crewlet-sheet-grid__row{position:absolute;right:0;left:0}.crewlet-sheet-grid__corner,.crewlet-sheet-grid__header,.crewlet-sheet-grid__rownum,.crewlet-sheet-grid__cell{position:relative;display:flex;align-items:center;box-sizing:border-box;min-width:0;border-right:1px solid var(--color-border-default);border-bottom:1px solid var(--color-border-default);background:var(--color-surface-background)}.crewlet-sheet-grid__scroller:not(.crewlet-sheet-grid__scroller--add-column) .crewlet-sheet-grid__row>:last-child{border-inline-end-width:0}.crewlet-sheet-grid__row--floor>:is(.crewlet-sheet-grid__corner,.crewlet-sheet-grid__header,.crewlet-sheet-grid__rownum,.crewlet-sheet-grid__cell){border-bottom-width:0}.crewlet-sheet-grid__corner,.crewlet-sheet-grid__header{background:var(--color-surface-subtle);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.crewlet-sheet-grid__corner,.crewlet-sheet-grid__rownum{position:sticky;inset-inline-start:0;z-index:var(--z-index-raised);justify-content:center}.crewlet-sheet-grid__corner{z-index:var(--z-index-sticky)}.crewlet-sheet-grid__header{gap:var(--spacing-1);padding:0 var(--spacing-2);cursor:default;user-select:none}.crewlet-sheet-grid__header-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crewlet-sheet-grid__sort{display:inline-flex;flex:none;color:var(--color-text-tertiary)}.crewlet-sheet-grid__header-presence{display:inline-flex;flex:none;gap:var(--spacing-1);margin-inline-start:auto}.crewlet-sheet-grid__header--number,.crewlet-sheet-grid__header--rating{flex-direction:row-reverse}.crewlet-sheet-grid__header--number>.crewlet-sheet-grid__header-presence,.crewlet-sheet-grid__header--rating>.crewlet-sheet-grid__header-presence{margin-inline:0 auto}.crewlet-sheet-grid__header--checkbox{justify-content:center}.crewlet-sheet-grid .crewlet-sheet-grid__header-badge{box-shadow:0 0 0 2px var(--crewlet-presence-hue)}.crewlet-sheet-grid__rownum{display:grid;grid-template-areas:"gutter";place-items:center;color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums}.crewlet-sheet-grid__rownum-number,.crewlet-sheet-grid__row-actions{grid-area:gutter}.crewlet-sheet-grid__row-actions{display:inline-flex;opacity:0}.crewlet-sheet-grid__row:is(:hover,:focus-within)>.crewlet-sheet-grid__rownum>.crewlet-sheet-grid__row-actions,.crewlet-sheet-grid__rownum--open>.crewlet-sheet-grid__row-actions{opacity:1}.crewlet-sheet-grid__row:is(:hover,:focus-within)>.crewlet-sheet-grid__rownum--actions>.crewlet-sheet-grid__rownum-number,.crewlet-sheet-grid__rownum--open>.crewlet-sheet-grid__rownum-number{visibility:hidden}.crewlet-sheet-grid__grid:is(:focus-within,.crewlet-sheet-grid__grid--range) .crewlet-sheet-grid__rownum--selected{background:linear-gradient(var(--color-brand-accent-soft),var(--color-brand-accent-soft)) var(--color-surface-background);color:var(--color-brand-accent-ink)}.crewlet-sheet-grid__grid:not(:focus-within) .crewlet-sheet-grid__cell--history:not(:hover)>.crewlet-sheet-grid__history{visibility:hidden}.crewlet-sheet-grid__rownum--present:before{position:absolute;top:0;bottom:0;inset-inline-start:0;width:3px;background:var(--crewlet-presence-hue);content:""}.crewlet-sheet-grid__cell{padding:0 var(--spacing-2);outline:none}.crewlet-sheet-grid__cell--frozen,.crewlet-sheet-grid__header.crewlet-sheet-grid__cell--frozen{position:sticky;z-index:var(--z-index-raised)}.crewlet-sheet-grid__header.crewlet-sheet-grid__cell--frozen{z-index:var(--z-index-sticky)}.crewlet-sheet-grid__cell--number,.crewlet-sheet-grid__cell--rating{justify-content:flex-end}.crewlet-sheet-grid__cell--checkbox{justify-content:center}.crewlet-sheet-grid__grid:is(:focus-within,.crewlet-sheet-grid__grid--range) .crewlet-sheet-grid__cell--selected{background:linear-gradient(var(--color-brand-accent-soft),var(--color-brand-accent-soft)) var(--color-surface-background)}.crewlet-sheet-grid__scroller--across .crewlet-sheet-grid__frozen-edge{border-inline-end-color:var(--color-border-strong)}.crewlet-sheet-grid__cell:focus-visible,.crewlet-sheet-grid__header:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-sheet-grid__cell--editing{z-index:var(--z-index-presence);overflow:visible}.crewlet-sheet-grid__value{display:flex;align-items:center;min-width:0;max-width:100%;overflow:hidden}.crewlet-sheet-grid__cell--editing>.crewlet-sheet-grid__value{visibility:hidden}.crewlet-sheet-grid__cell--pending>.crewlet-sheet-grid__value:after{position:absolute;right:var(--spacing-1);bottom:2px;left:var(--spacing-1);border-bottom:1px dashed var(--color-text-tertiary);content:""}.crewlet-sheet-grid__refused{display:inline-flex;flex:none;margin-inline-start:auto;padding-inline-start:var(--spacing-1);color:var(--color-feedback-danger-ink)}:is(.crewlet-sheet-grid__cell--number,.crewlet-sheet-grid__cell--rating)>.crewlet-sheet-grid__refused{order:-1;margin-inline:0 auto;padding-inline:0 var(--spacing-1)}.crewlet-sheet-grid__cell--checkbox>.crewlet-sheet-grid__refused{position:absolute;inset-inline-end:var(--spacing-2);margin:0;padding:0}.crewlet-sheet-grid__message{position:absolute;top:100%;inset-inline-start:0;z-index:var(--z-index-presence);box-sizing:border-box;width:max-content;max-width:20rem;padding:var(--spacing-1) var(--spacing-2);border:1px solid var(--color-feedback-danger-line);border-radius:var(--radius-sm);background:var(--color-surface-elevated);box-shadow:var(--shadow-md);color:var(--color-feedback-danger-ink);font-size:var(--font-size-xs);white-space:normal}.crewlet-sheet-grid__grid:focus-within .crewlet-sheet-grid__cell--history,.crewlet-sheet-grid__cell--history:hover{padding-inline-end:calc(var(--spacing-1) * 2 + var(--crewlet-sheet-history-size))}.crewlet-sheet-grid__grid:focus-within :is(.crewlet-sheet-grid__cell--number,.crewlet-sheet-grid__cell--rating).crewlet-sheet-grid__cell--history,:is(.crewlet-sheet-grid__cell--number,.crewlet-sheet-grid__cell--rating).crewlet-sheet-grid__cell--history:hover{padding-inline:calc(var(--spacing-1) * 2 + var(--crewlet-sheet-history-size)) var(--spacing-2)}.crewlet-sheet-grid__grid:focus-within .crewlet-sheet-grid__cell--checkbox.crewlet-sheet-grid__cell--history,.crewlet-sheet-grid__cell--checkbox.crewlet-sheet-grid__cell--history:hover{padding-inline-end:var(--spacing-2)}:is(.crewlet-sheet-grid__cell--number,.crewlet-sheet-grid__cell--rating)>.crewlet-sheet-grid__history{inset-inline:var(--spacing-1) auto}.crewlet-sheet-grid__history{position:absolute;top:50%;inset-inline-end:var(--spacing-1);display:inline-flex;align-items:center;justify-content:center;width:var(--crewlet-sheet-history-size);height:var(--crewlet-sheet-history-size);padding:0;border:0;border-radius:var(--radius-md);background:var(--color-surface-elevated);color:var(--color-text-secondary);transform:translateY(-50%);cursor:pointer}.crewlet-sheet-grid__history:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.crewlet-sheet-grid__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-2);padding:var(--spacing-2) 0;color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.crewlet-sheet-grid__header--settings{cursor:pointer}.crewlet-sheet-grid__header--settings:hover,.crewlet-sheet-grid__header--open{background:var(--color-surface-hover);color:var(--color-text-primary)}.crewlet-popover.crewlet-sheet-grid__column-settings{width:300px;max-height:min(560px,80vh);padding:var(--spacing-3)}.crewlet-sheet-grid__scroller--add-column{--crewlet-sheet-add-column-width: calc(var(--size-control-sm) + 2 * var(--spacing-1));display:flex;align-items:flex-start}.crewlet-sheet-grid__scroller--add-column>.crewlet-sheet-grid__grid{flex:1 0 auto;min-width:0}.crewlet-sheet-grid__add-column{position:sticky;top:0;z-index:var(--z-index-sticky);display:flex;flex:0 0 var(--crewlet-sheet-add-column-width);align-items:center;justify-content:center;box-sizing:border-box;border-bottom:1px solid var(--color-border-default);background:var(--color-surface-subtle)}.crewlet-sheet-grid__add-column--floor{border-bottom-width:0}.crewlet-sheet-grid__sync{display:inline-flex;align-items:center;gap:var(--spacing-2);margin-inline-start:auto}.crewlet-sheet-grid__sync--failed{color:var(--color-feedback-danger-ink)}.crewlet-sheet-cell__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crewlet-sheet-cell__number{font-variant-numeric:tabular-nums}.crewlet-sheet-cell__muted{color:var(--color-text-tertiary)}.crewlet-sheet-cell__chips{flex:1 1 auto;flex-wrap:wrap;min-width:0}.crewlet-sheet-cell__person{display:inline-flex;align-items:center;gap:var(--spacing-1);min-width:0}.crewlet-sheet-cell__link{overflow:hidden;color:var(--color-text-link-quiet);text-overflow:ellipsis;white-space:nowrap}.crewlet-sheet-cell__link:hover{color:var(--color-brand-accent-ink)}.crewlet-sheet-cell__checkbox{display:inline-flex;align-items:center}.crewlet-sheet-cell__check{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--spacing-4);height:var(--spacing-4);border:1px solid var(--color-border-control);border-radius:var(--radius-xs);background:var(--color-surface-background);color:var(--color-text-on-accent)}.crewlet-sheet-cell__check--on{border-color:var(--color-brand-accent);background:var(--color-brand-accent)}.crewlet-sheet-cell__rating,.crewlet-sheet-cell__stars{display:inline-flex;align-items:center}.crewlet-sheet-cell__star{color:var(--color-border-strong)}.crewlet-sheet-cell__star--on{color:var(--color-text-primary)}.crewlet-sheet-cell{position:relative;display:inline-flex;flex-direction:column;gap:var(--spacing-1);min-width:0;font-size:var(--font-size-compact)}.crewlet-sheet-cell__face{display:inline-flex;align-items:center;box-sizing:border-box;min-height:var(--size-control-md);padding:0 var(--spacing-2);border:1px solid var(--color-border-control);border-radius:var(--radius-md);background:var(--color-surface-background);color:inherit;font:inherit;text-align:start;cursor:pointer}.crewlet-sheet-cell__face[aria-disabled=true]{cursor:default}.crewlet-sheet-cell__face:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-sheet-cell--pending .crewlet-sheet-cell__face{border-style:dashed}.crewlet-sheet-cell__refusal{display:inline-flex;align-items:center;gap:var(--spacing-1);color:var(--color-feedback-danger-ink);font-size:var(--font-size-xs)}.crewlet-sheet-editor{position:absolute;inset:0;z-index:var(--z-index-presence)}.crewlet-sheet-cell .crewlet-sheet-editor{position:relative;inset:auto}.crewlet-sheet-editor__input{box-sizing:border-box;width:100%;height:100%;min-height:var(--size-control-md);padding:0 var(--spacing-2);border:0;border-radius:0;background:var(--color-surface-elevated);box-shadow:inset 0 0 0 2px var(--color-focus);color:var(--color-text-primary);font:inherit}:is(.crewlet-sheet-grid__cell--number,.crewlet-sheet-grid__cell--rating) .crewlet-sheet-editor__input{font-variant-numeric:tabular-nums;text-align:end}.crewlet-sheet-cell .crewlet-sheet-editor__input{padding-inline:calc(var(--spacing-2) + 1px);border-radius:var(--radius-md)}.crewlet-sheet-cell .crewlet-sheet-editor--list{min-height:var(--size-control-md)}.crewlet-sheet-editor__input:focus-visible,.crewlet-sheet-editor__filter:focus-visible,.crewlet-sheet-editor__textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-sheet-editor__panel{position:absolute;top:100%;inset-inline-start:0;z-index:var(--z-index-presence);display:flex;flex-direction:column;gap:var(--spacing-2);box-sizing:border-box;min-width:100%;width:max-content;max-width:min(24rem,90vw);padding:var(--spacing-2);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-surface-elevated);box-shadow:var(--shadow-lg)}.crewlet-sheet-editor--above .crewlet-sheet-editor__panel{top:auto;bottom:100%}.crewlet-sheet-editor--list .crewlet-sheet-editor__panel{top:0;min-width:max(100%,14rem)}.crewlet-sheet-editor--list.crewlet-sheet-editor--above .crewlet-sheet-editor__panel{top:auto;bottom:0}.crewlet-sheet-editor__overlay{--crewlet-sheet-editor-inset: calc(var(--spacing-2) - 1px);position:absolute;top:0;inset-inline-start:0;z-index:var(--z-index-presence);display:flex;flex-direction:column;gap:var(--spacing-2);box-sizing:border-box;min-width:100%;width:max(100%,20rem);max-width:min(32rem,90vw);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-surface-elevated);box-shadow:var(--shadow-xl)}.crewlet-sheet-editor--above .crewlet-sheet-editor__overlay{top:auto;bottom:0}.crewlet-sheet-editor__overlay>.crewlet-sheet-editor__error,.crewlet-sheet-editor__overlay>.crewlet-sheet-editor__conflict{margin:0 var(--crewlet-sheet-editor-inset) var(--spacing-2)}.crewlet-sheet-cell .crewlet-sheet-editor__overlay{--crewlet-sheet-editor-inset: var(--spacing-2);position:relative;width:100%;max-width:none}.crewlet-sheet-editor__filter,.crewlet-sheet-editor__textarea{box-sizing:border-box;width:100%;padding:var(--spacing-1) var(--spacing-2);border:1px solid var(--color-border-control);border-radius:var(--radius-sm);background:var(--color-surface-background);color:var(--color-text-primary);font:inherit}.crewlet-sheet-editor__overlay .crewlet-sheet-editor__textarea{--crewlet-sheet-editor-row: var(--crewlet-sheet-row-height, var(--size-sheet-row));--crewlet-sheet-editor-line: calc(var(--font-line-height-normal) * 1em);--crewlet-sheet-editor-pad: calc((var(--crewlet-sheet-editor-row) - var(--crewlet-sheet-editor-line)) / 2 - 1px);display:block;min-height:calc(var(--crewlet-sheet-editor-line) + 2 * var(--crewlet-sheet-editor-pad));max-height:calc(var(--crewlet-sheet-editor-lines, 6) * var(--crewlet-sheet-editor-line) + 2 * var(--crewlet-sheet-editor-pad));padding:calc(var(--crewlet-sheet-editor-pad) - .5px) var(--crewlet-sheet-editor-inset) calc(var(--crewlet-sheet-editor-pad) + .5px);overflow-y:auto;border:0;border-radius:var(--radius-md);background:transparent;line-height:var(--font-line-height-normal);white-space:pre-wrap;overflow-wrap:anywhere;resize:none}.crewlet-sheet-cell .crewlet-sheet-editor__overlay .crewlet-sheet-editor__textarea{--crewlet-sheet-editor-row: var(--size-control-md);padding:var(--crewlet-sheet-editor-pad) var(--crewlet-sheet-editor-inset)}.crewlet-sheet-editor__list{display:flex;flex-direction:column;max-height:16rem;margin:0;padding:0;overflow-y:auto;list-style:none}.crewlet-sheet-editor__option{display:flex;align-items:center;gap:var(--spacing-2);min-height:var(--size-row-sm);padding:0 var(--spacing-2);border-radius:var(--radius-sm);cursor:pointer}.crewlet-sheet-editor__option--clear{margin-top:var(--spacing-1);border-top:1px solid var(--color-border-default);border-radius:0 0 var(--radius-sm) var(--radius-sm)}.crewlet-sheet-editor__list:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-sheet-editor__option--highlight{background:var(--color-surface-hover)}.crewlet-sheet-editor__mark{display:inline-flex;flex:none;width:var(--spacing-3);color:var(--color-brand-accent-ink)}.crewlet-sheet-editor__empty{padding:var(--spacing-2);color:var(--color-text-tertiary)}.crewlet-sheet-editor__error{display:flex;align-items:center;gap:var(--spacing-1);margin:0;color:var(--color-feedback-danger-ink);font-size:var(--font-size-xs)}.crewlet-sheet-editor__conflict{display:flex;flex-direction:column;gap:var(--spacing-2);padding-top:var(--spacing-2);border-top:1px solid var(--color-border-default)}.crewlet-sheet-editor__conflict:first-child{padding-top:0;border-top:0}.crewlet-sheet-editor__conflict-text{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-xs)}.crewlet-sheet-editor__conflict-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}@media(width>=640px){.crewlet-sheet-editor.crewlet-sheet-editor--list .crewlet-sheet-editor__panel{position:fixed;top:var(--crewlet-sheet-editor-top, 0);bottom:auto;left:var(--crewlet-sheet-editor-left, 0);z-index:var(--z-index-popover);min-width:max(var(--crewlet-sheet-editor-cell, 0px),14rem);max-height:var(--crewlet-sheet-editor-room, none)}.crewlet-sheet-editor.crewlet-sheet-editor--list .crewlet-sheet-editor__list{flex:0 1 auto;min-height:0}}@media(width<640px){.crewlet-sheet-grid .crewlet-sheet-editor--list .crewlet-sheet-editor__panel,.crewlet-sheet-grid .crewlet-sheet-editor--long .crewlet-sheet-editor__overlay{position:fixed;inset:auto 0 0;width:auto;max-width:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.crewlet-sheet-grid .crewlet-sheet-editor--long .crewlet-sheet-editor__overlay{--crewlet-sheet-editor-inset: var(--spacing-2)}.crewlet-sheet-grid .crewlet-sheet-editor--long .crewlet-sheet-editor__textarea{--crewlet-sheet-editor-pad: var(--spacing-2);padding:var(--crewlet-sheet-editor-pad) var(--crewlet-sheet-editor-inset)}}@media(forced-colors:active){.crewlet-sheet-grid__grid:is(:focus-within,.crewlet-sheet-grid__grid--range) .crewlet-sheet-grid__cell--selected{background:Highlight;color:HighlightText}.crewlet-sheet-grid__grid:is(:focus-within,.crewlet-sheet-grid__grid--range) .crewlet-sheet-grid__rownum--selected{background:Canvas;color:Highlight}.crewlet-sheet-grid__rownum--present:before{background:Highlight}}
6
+ crewlet-sheet{display:block;min-width:0}crewlet-column{display:none}.crewlet-kit-sheet{display:flex;flex-direction:column;gap:var(--spacing-2);min-width:0}.crewlet-kit-sheet__presence{display:flex;justify-content:flex-end}.crewlet-kit-sheet__presence>.crewlet-presence-stack{margin:var(--crewlet-presence-stack-reach)}.crewlet-callout{--crewlet-callout-fill: var(--color-surface-inset);--crewlet-callout-ink: var(--color-text-secondary);--crewlet-callout-line: transparent;display:grid;grid-template-columns:auto minmax(0,1fr);grid-auto-columns:auto;align-items:start;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--crewlet-callout-line);border-radius:var(--radius-md);background:var(--crewlet-callout-fill);color:var(--crewlet-callout-ink);font-family:var(--font-family-sans);font-size:var(--font-size-compact);line-height:var(--font-line-height-normal)}.crewlet-callout:has(>.crewlet-callout__action){--crewlet-callout-lead: max(0px, calc((var(--size-control-sm) - 1lh) / 2));container:crewlet-callout / inline-size}.crewlet-callout__icon{display:inline-flex;margin-top:calc(2px + var(--crewlet-callout-lead, 0px))}.crewlet-callout__content{min-width:0;overflow-wrap:anywhere;padding-block:var(--crewlet-callout-lead, 0px)}.crewlet-callout__title{display:block;font-weight:var(--font-weight-semibold)}.crewlet-callout__action{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-2);grid-column:3;grid-row:1;align-self:center}@container crewlet-callout (width < 28rem){.crewlet-callout__icon,.crewlet-callout__content{--crewlet-callout-lead: 0px}.crewlet-callout__action{grid-column:2;grid-row:2;justify-self:start;align-self:start}}.crewlet-callout code,.crewlet-callout .crewlet-inline-code{color:inherit}.crewlet-callout--info{--crewlet-callout-fill: var(--color-feedback-info-soft);--crewlet-callout-ink: var(--color-feedback-info-ink)}.crewlet-callout--success{--crewlet-callout-fill: var(--color-feedback-success-soft);--crewlet-callout-ink: var(--color-feedback-success-ink)}.crewlet-callout--warning{--crewlet-callout-fill: var(--color-feedback-warning-soft);--crewlet-callout-ink: var(--color-feedback-warning-ink)}.crewlet-callout--danger{--crewlet-callout-fill: var(--color-feedback-danger-soft);--crewlet-callout-ink: var(--color-feedback-danger-ink)}.crewlet-callout--banner{border-radius:var(--radius-none);border-width:0 0 1px;border-bottom-color:var(--color-border-default);padding:var(--spacing-2) var(--spacing-4)}.crewlet-callout--quiet{border-inline-start:2px solid var(--crewlet-callout-ink);background:var(--color-surface-inset);color:var(--color-text-primary)}.crewlet-callout--quiet>.crewlet-callout__icon{color:var(--crewlet-callout-ink)}@property --crewlet-spinner-arc{syntax: "<angle>"; inherits: false; initial-value: 270deg;}.crewlet-spinner{--crewlet-spinner-from: calc(270deg - var(--crewlet-spinner-arc) / 2);display:inline-block;box-sizing:border-box;flex:none;width:1em;height:1em;border:2px solid currentColor;border-radius:var(--radius-circle);opacity:.7;-webkit-mask-image:conic-gradient(from var(--crewlet-spinner-from),transparent 0deg,#000 6deg,#000 calc(var(--crewlet-spinner-arc) - 6deg),transparent var(--crewlet-spinner-arc));mask-image:conic-gradient(from var(--crewlet-spinner-from),transparent 0deg,#000 6deg,#000 calc(var(--crewlet-spinner-arc) - 6deg),transparent var(--crewlet-spinner-arc));animation:crewlet-spinner-turn var(--motion-duration-turn) linear infinite,crewlet-spinner-sweep var(--motion-duration-sweep) var(--motion-easing-in-out) infinite}.crewlet-spinner--xs{width:var(--font-size-xs);height:var(--font-size-xs)}.crewlet-spinner--sm{width:var(--font-size-sm);height:var(--font-size-sm)}.crewlet-spinner--md{width:var(--font-size-md);height:var(--font-size-md)}@keyframes crewlet-spinner-turn{to{transform:rotate(360deg)}}@keyframes crewlet-spinner-sweep{0%,to{--crewlet-spinner-arc: 90deg}50%{--crewlet-spinner-arc: 270deg}}@media(prefers-reduced-motion:reduce){.crewlet-spinner{animation:none}}.crewlet-layer-host{position:absolute;inset:0;pointer-events:none}.crewlet-layer-host>*{pointer-events:auto}.crewlet-tooltip{position:fixed;max-width:260px;padding:var(--spacing-2) var(--spacing-3);background:var(--color-tooltip-surface);color:var(--color-tooltip-text);border:1px solid var(--color-tooltip-edge);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-size:var(--font-size-compact);font-weight:var(--font-weight-semibold);line-height:var(--font-line-height-snug);overflow-wrap:break-word;animation:crewlet-tooltip-in var(--motion-duration-instant) var(--motion-easing-out)}.crewlet-tooltip .crewlet-kbd{border-color:var(--color-tooltip-edge);background:none;color:var(--color-tooltip-meta)}.crewlet-tooltip--in-host{position:absolute}@keyframes crewlet-tooltip-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.crewlet-tooltip{animation:none}}.crewlet-visually-hidden{position:absolute;top:0;left:0;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:pre}.crewlet-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-family-sans);font-weight:var(--font-weight-medium);letter-spacing:var(--font-letter-spacing-normal);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background var(--motion-duration-fast) var(--motion-easing-default),color var(--motion-duration-fast) var(--motion-easing-default),border-color var(--motion-duration-fast) var(--motion-easing-default)}.crewlet-btn,.crewlet-btn:hover{text-decoration:none}.crewlet-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.crewlet-btn--secondary:focus-visible,.crewlet-btn--outline:focus-visible,.crewlet-btn--danger:focus-visible,.crewlet-btn[aria-pressed=true]:focus-visible{outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-btn:disabled,.crewlet-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.crewlet-btn:disabled{pointer-events:none}.crewlet-btn--small{--crewlet-btn-inset: var(--spacing-2);min-height:var(--size-control-sm);padding:0 var(--crewlet-btn-inset);font-size:var(--font-size-xs)}.crewlet-btn--medium{--crewlet-btn-inset: var(--spacing-3);min-height:var(--size-control-md);padding:0 var(--crewlet-btn-inset);font-size:var(--font-size-compact)}.crewlet-btn--large{--crewlet-btn-inset: var(--spacing-4);min-height:var(--size-control-lg);padding:0 var(--crewlet-btn-inset);font-size:var(--font-size-sm)}.crewlet-btn--flush{margin-inline-start:var(--crewlet-btn-flush-outdent, calc(-1 * (var(--crewlet-btn-inset) + 1px)))}.crewlet-btn--flush:focus-visible{outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-btn--square{border-radius:var(--radius-md)}.crewlet-btn--pill{border-radius:var(--radius-pill)}.crewlet-btn--pill.crewlet-btn--small{padding:0 var(--spacing-3)}.crewlet-btn--pill.crewlet-btn--medium{padding:0 var(--spacing-4)}.crewlet-btn--pill.crewlet-btn--large{padding:0 var(--spacing-5)}.crewlet-btn--block{width:100%}.crewlet-btn--primary,.crewlet-btn--accent,a.crewlet-btn--primary.crewlet-btn--primary:is(:link,:visited,:hover,:active,:focus),a.crewlet-btn--accent.crewlet-btn--accent:is(:link,:visited,:hover,:active,:focus){background:var(--color-brand-accent);color:var(--color-text-on-accent);border-color:transparent}.crewlet-btn--primary:hover:not(:disabled):not([aria-disabled=true]),.crewlet-btn--accent:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-brand-accent-hover);border-color:transparent}.crewlet-btn--primary:active:not(:disabled):not([aria-disabled=true]),.crewlet-btn--accent:active:not(:disabled):not([aria-disabled=true]){background:var(--color-brand-accent-active);border-color:transparent}.crewlet-btn--secondary,a.crewlet-btn--secondary.crewlet-btn--secondary:is(:link,:visited,:hover,:active,:focus){background:var(--color-surface-subtle);--crewlet-indicator-ring: var(--color-surface-subtle);color:var(--color-text-primary);border-color:var(--color-border-field)}.crewlet-btn--secondary:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-elevated);--crewlet-indicator-ring: var(--color-surface-elevated);border-color:var(--color-border-control)}.crewlet-btn--secondary:active:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-pressed);--crewlet-indicator-ring: var(--color-surface-pressed)}.crewlet-btn--outline,a.crewlet-btn--outline.crewlet-btn--outline:is(:link,:visited,:hover,:active,:focus){background:transparent;color:var(--color-brand-accent-ink);border-color:var(--color-brand-accent)}.crewlet-btn--outline:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-brand-accent-soft)}.crewlet-btn--ghost,a.crewlet-btn--ghost.crewlet-btn--ghost:is(:link,:visited,:hover,:active,:focus){background:transparent;color:var(--color-text-secondary);border-color:transparent}.crewlet-btn--ghost:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-hover);color:var(--color-text-primary)}.crewlet-btn--ghost:active:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-pressed)}.crewlet-btn--danger,a.crewlet-btn--danger.crewlet-btn--danger:is(:link,:visited,:hover,:active,:focus){background:var(--color-surface-subtle);color:var(--color-feedback-danger-ink);border-color:var(--color-border-field)}.crewlet-btn--danger:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-feedback-danger-soft);border-color:var(--color-feedback-danger)}.crewlet-btn--danger:active:not(:disabled):not([aria-disabled=true]){background:var(--color-feedback-danger-soft);border-color:var(--color-feedback-danger-hover)}.crewlet-btn[aria-pressed=true]{background:var(--color-brand-accent-soft);--crewlet-indicator-ring: var(--color-brand-accent-soft);color:var(--color-brand-accent-ink);border-color:var(--color-brand-accent-soft-strong)}.crewlet-btn__icon,.crewlet-btn__label{display:inline-flex;align-items:center}.crewlet-btn__icon .crewlet-glyph{width:1em;height:1em}.crewlet-btn--loading{cursor:progress}@media(prefers-reduced-motion:reduce){.crewlet-btn{transition:none}}.crewlet-icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;line-height:1;flex-shrink:0;transition:background var(--motion-duration-fast) var(--motion-easing-default),border-color var(--motion-duration-fast) var(--motion-easing-default),color var(--motion-duration-fast) var(--motion-easing-default)}.crewlet-icon-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.crewlet-icon-btn--secondary:focus-visible,.crewlet-icon-btn--soft-brand:focus-visible,.crewlet-icon-btn--ghost-brand:focus-visible{outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-icon-btn:disabled,.crewlet-icon-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.crewlet-icon-btn:disabled{pointer-events:none}.crewlet-icon-btn--sm{--crewlet-icon-btn-glyph-inset: calc((var(--size-control-sm) - var(--font-size-xs)) / 2);width:var(--size-control-sm);height:var(--size-control-sm)}.crewlet-icon-btn--md{--crewlet-icon-btn-glyph-inset: calc((var(--size-control-md) - var(--font-size-sm)) / 2);width:var(--size-control-md);height:var(--size-control-md)}.crewlet-icon-btn--lg{--crewlet-icon-btn-glyph-inset: calc((var(--size-control-lg) - var(--font-size-xl)) / 2);width:var(--size-control-lg);height:var(--size-control-lg)}.crewlet-icon-btn--header{--crewlet-icon-btn-glyph-inset: calc((var(--size-control-md) - var(--font-size-lg)) / 2);width:var(--size-control-md);height:var(--size-control-md)}.crewlet-icon-btn--sm .crewlet-glyph{width:var(--font-size-xs);height:var(--font-size-xs)}.crewlet-icon-btn--md .crewlet-glyph{width:var(--font-size-sm);height:var(--font-size-sm)}.crewlet-icon-btn--lg .crewlet-glyph{width:var(--font-size-xl);height:var(--font-size-xl)}.crewlet-icon-btn--header .crewlet-glyph{width:var(--font-size-lg);height:var(--font-size-lg)}.crewlet-icon-btn--primary{background:var(--color-brand-accent);color:var(--color-text-on-accent)}.crewlet-icon-btn--primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-brand-accent-hover)}.crewlet-icon-btn--primary:active:not(:disabled):not([aria-disabled=true]){background:var(--color-brand-accent-active)}.crewlet-icon-btn--secondary{background:var(--color-surface-subtle);--crewlet-indicator-ring: var(--color-surface-subtle);border-color:var(--color-border-field);color:var(--color-text-primary)}.crewlet-icon-btn--secondary:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-elevated);--crewlet-indicator-ring: var(--color-surface-elevated);border-color:var(--color-border-control)}.crewlet-icon-btn--secondary:active:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-pressed);--crewlet-indicator-ring: var(--color-surface-pressed)}.crewlet-icon-btn--ghost{color:var(--color-text-secondary)}.crewlet-icon-btn--ghost:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-hover);color:var(--color-text-primary)}.crewlet-icon-btn--ghost-brand{color:var(--color-text-tertiary)}.crewlet-icon-btn--ghost-brand:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-brand-accent-soft);border-color:var(--color-brand-accent-soft-strong);color:var(--color-brand-accent-ink)}.crewlet-icon-btn--ghost-danger{color:var(--color-text-tertiary)}.crewlet-icon-btn--ghost-danger:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-feedback-danger-soft);color:var(--color-feedback-danger-ink)}.crewlet-icon-btn--soft-brand{background:var(--color-brand-accent-soft);border-color:var(--color-brand-accent-soft-strong);color:var(--color-brand-accent-ink)}.crewlet-icon-btn--soft-brand:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-brand-accent-soft-strong);border-color:var(--color-brand-accent)}a.crewlet-icon-btn{text-decoration:none}.crewlet-icon-btn--current,.crewlet-icon-btn--current:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-elevated);border-color:var(--color-border-default);color:var(--color-text-primary)}.crewlet-icon-btn--current:focus-visible{outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-icon-btn[aria-pressed=true]{background:var(--color-brand-accent-soft);--crewlet-indicator-ring: var(--color-brand-accent-soft);color:var(--color-brand-accent-ink)}@media(prefers-reduced-motion:reduce){.crewlet-icon-btn{transition:none}}.crewlet-modal-overlay{position:fixed;inset:0;display:flex;background:var(--color-surface-veil);backdrop-filter:blur(var(--blur-xs));overflow:clip;animation:crewlet-modal-veil-in var(--motion-duration-base) var(--motion-easing-default)}.crewlet-modal-overlay--clear{background:transparent;backdrop-filter:none}.crewlet-modal-overlay--in-host{position:absolute}.crewlet-modal-overlay--dialog{padding:var(--spacing-4);justify-content:center}.crewlet-modal-overlay--dialog.crewlet-modal-overlay--center{align-items:center}.crewlet-modal-overlay--dialog.crewlet-modal-overlay--top{align-items:flex-start;padding-top:var(--spacing-10)}.crewlet-modal-overlay--dialog.crewlet-modal-overlay--bottom{align-items:flex-end;padding:0}.crewlet-modal-overlay--bottom>.crewlet-modal--dialog{width:100%;max-height:calc(100dvh - var(--spacing-10));border-bottom:none;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding-bottom:env(safe-area-inset-bottom,0px);animation:crewlet-modal-lift var(--motion-duration-moderate) var(--motion-easing-emphasized)}@media(width<640px){.crewlet-modal-overlay--dialog.crewlet-modal-overlay--phone-sheet{align-items:stretch;padding:0}.crewlet-modal-overlay--phone-sheet>.crewlet-modal--dialog{width:100%;height:100%;max-height:none;border:none;border-radius:0;padding-bottom:env(safe-area-inset-bottom,0px);animation:crewlet-modal-lift var(--motion-duration-moderate) var(--motion-easing-emphasized)}}.crewlet-modal-overlay--sheet{padding:0;justify-content:flex-end;align-items:stretch;animation-duration:var(--motion-duration-slow)}.crewlet-modal{--crewlet-modal-width: 480px;--crewlet-modal-sheet-width: 560px;display:flex;flex-direction:column;min-height:0;background:var(--color-surface-subtle);color:var(--color-text-primary);border:1px solid var(--color-border-default);box-shadow:var(--shadow-xl);outline:none}.crewlet-modal__form{display:contents}.crewlet-modal--dialog{width:min(var(--crewlet-modal-width),100%);max-height:calc(100dvh - var(--spacing-10) - var(--spacing-4));border-radius:var(--radius-xl);overflow:hidden;animation:crewlet-modal-rise var(--motion-duration-slow) var(--motion-easing-emphasized)}.crewlet-modal--sm{--crewlet-modal-width: 480px}.crewlet-modal--md{--crewlet-modal-width: 560px}.crewlet-modal--lg{--crewlet-modal-width: 720px}.crewlet-modal--xl{--crewlet-modal-width: 1080px}.crewlet-modal--prompt{--crewlet-modal-width: 420px;box-shadow:var(--shadow-2xl)}.crewlet-modal--prompt .crewlet-modal__body{padding:var(--spacing-6)}.crewlet-modal__prompt-title{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);line-height:var(--font-line-height-tight);color:var(--color-text-primary)}.crewlet-modal--prompt .crewlet-modal__footer{padding:0 var(--spacing-6) var(--spacing-6);border-top:none;background:none}.crewlet-modal--sheet{--crewlet-modal-sheet-from: 100%;width:min(var(--crewlet-modal-sheet-width),100%);height:100%;border-radius:0;border-block:none;border-inline-end:none;box-shadow:var(--shadow-sheet);animation:crewlet-modal-sheet-in var(--motion-duration-slow) var(--motion-easing-emphasized)}.crewlet-modal-overlay--sheet.crewlet-modal-overlay--start{justify-content:flex-start}.crewlet-modal--sheet.crewlet-modal--start{--crewlet-modal-sheet-from: -100%;border-inline-start:none;border-inline-end:1px solid var(--color-border-default);box-shadow:var(--shadow-sheet-start)}@media(width<1024px){.crewlet-modal--sheet,.crewlet-modal--sheet.crewlet-modal--start{width:100%;border-inline:none}}.crewlet-modal__header{--crewlet-modal-glyph-inset: calc((var(--size-control-md) - var(--font-size-sm)) / 2);display:flex;flex-shrink:0;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4);border-bottom:1px solid var(--color-border-default)}.crewlet-modal__header--subtitled{--crewlet-modal-title-line: calc(var(--font-size-sm) * var(--font-line-height-tight));align-items:flex-start}.crewlet-modal__header--subtitled>.crewlet-modal__icon,.crewlet-modal__header--subtitled>.crewlet-modal__actions{align-items:center;height:var(--crewlet-modal-title-line)}.crewlet-modal__header--subtitled>.crewlet-modal__close,.crewlet-modal__header--subtitled>.crewlet-modal__back{margin-block:calc((var(--crewlet-modal-title-line) - var(--size-control-md)) / 2)}.crewlet-modal__header--sheet{min-height:var(--size-shell-topbar);padding:var(--spacing-1) var(--spacing-6);gap:var(--spacing-4);box-sizing:border-box}.crewlet-modal__actions{display:flex;align-items:center;gap:var(--spacing-2);flex-shrink:0}.crewlet-modal__icon{display:inline-flex;flex-shrink:0;color:var(--color-text-primary)}.crewlet-modal__heading{display:flex;flex:1;flex-direction:column;gap:var(--spacing-1);min-width:0}.crewlet-modal__title{margin:0;font-family:var(--font-family-sans);letter-spacing:var(--font-letter-spacing-normal);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--font-line-height-tight);color:var(--color-text-primary)}.crewlet-modal__title--sheet{font-size:var(--font-size-md)}.crewlet-modal__subtitle{margin:0;font-size:var(--font-size-compact);line-height:var(--font-line-height-snug);color:var(--color-text-secondary)}.crewlet-modal__close{flex-shrink:0;margin:calc(var(--spacing-1) * -1);margin-inline-end:calc(var(--crewlet-modal-glyph-inset) * -1)}.crewlet-modal__back{flex-shrink:0;margin-inline-start:calc(var(--crewlet-modal-glyph-inset) * -1);margin-block:calc(var(--spacing-1) * -1)}.crewlet-modal__body{flex:1 1 auto;min-height:0;padding:var(--spacing-4);overflow-x:hidden;overflow-y:auto;font-size:var(--font-size-sm);line-height:var(--font-line-height-normal);color:var(--color-text-primary)}.crewlet-modal__body--sheet{padding:var(--spacing-6)}.crewlet-modal__body--stacked{display:flex;flex-direction:column;gap:var(--spacing-3)}.crewlet-modal__body--stacked.crewlet-modal__body--sheet{gap:var(--spacing-2)}.crewlet-modal__body--flush{padding:0}.crewlet-modal__body--fill{display:flex;flex-direction:column;overflow:hidden}.crewlet-modal__body--fill>*{flex:1 1 auto;min-height:0}.crewlet-modal__body:not(.crewlet-modal__body--stacked)>p{margin:0 0 var(--spacing-3)}.crewlet-modal__body:not(.crewlet-modal__body--stacked)>p:last-child{margin-bottom:0}.crewlet-modal__footer{display:flex;flex-shrink:0;align-items:center;flex-wrap:wrap;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);border-top:1px solid var(--color-border-default);background:var(--color-surface-subtle)}.crewlet-modal__footer--sheet{padding-inline:var(--spacing-6)}.crewlet-modal__footer-start{display:flex;align-items:center;gap:var(--spacing-2);min-width:0;margin-inline-end:auto;font-size:var(--font-size-compact);color:var(--color-text-tertiary)}.crewlet-modal__footer-end{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--spacing-2);margin-inline-start:auto}.crewlet-modal__message{margin:0;line-height:var(--font-line-height-normal)}@keyframes crewlet-modal-veil-in{0%{opacity:0}}@keyframes crewlet-modal-rise{0%{opacity:0;transform:translateY(var(--spacing-2))}}@keyframes crewlet-modal-lift{0%{opacity:0;transform:translateY(var(--spacing-6))}}@keyframes crewlet-modal-sheet-in{0%{transform:translate(var(--crewlet-modal-sheet-from))}}@media(prefers-reduced-motion:reduce){.crewlet-modal-overlay,.crewlet-modal--dialog,.crewlet-modal--sheet{animation:none}.crewlet-modal-overlay--bottom>.crewlet-modal--dialog{animation:none}.crewlet-modal-overlay--phone-sheet>.crewlet-modal--dialog{animation:none}}.crewlet-presence-hue--purple{--crewlet-presence-hue: var(--color-node-purple)}.crewlet-presence-hue--cyan{--crewlet-presence-hue: var(--color-node-cyan)}.crewlet-presence-hue--green{--crewlet-presence-hue: var(--color-node-green)}.crewlet-presence-hue--amber{--crewlet-presence-hue: var(--color-node-amber)}.crewlet-presence-hue--rose{--crewlet-presence-hue: var(--color-node-rose)}.crewlet-presence-hue--blue{--crewlet-presence-hue: var(--color-node-blue)}.crewlet-presence-hue--neutral{--crewlet-presence-hue: var(--color-border-strong)}.crewlet-presence-ring{--crewlet-presence-ring-inset: 1px;--crewlet-presence-ring-weight: 2px;position:relative;display:inline-block}.crewlet-presence-ring:after{position:absolute;inset:0;z-index:var(--z-index-presence);border-radius:inherit;outline:var(--crewlet-presence-ring-weight) solid var(--crewlet-presence-hue);outline-offset:calc((var(--crewlet-presence-ring-inset) + var(--crewlet-presence-ring-weight)) * -1);content:"";pointer-events:none}.crewlet-presence-ring--idle:after{outline-style:dashed}@media(forced-colors:active){.crewlet-presence-ring:after{outline-color:Highlight}}.crewlet-presence-stack{--crewlet-presence-stack-cutout: 2px;--crewlet-presence-stack-reach: calc(var(--crewlet-presence-stack-cutout) * 2)}.crewlet-presence-stack>.crewlet-presence-stack__member{display:inline-flex;flex:none;padding:0;border:0;background:none;box-shadow:none;color:inherit;font:inherit}.crewlet-presence-stack>.crewlet-presence-stack__member{border-radius:var(--crewlet-presence-stack-corner)}button.crewlet-presence-stack__member{cursor:pointer}button.crewlet-presence-stack__member:focus-visible{position:relative;z-index:var(--z-index-raised);outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-presence-stack .crewlet-presence-stack__badge{box-shadow:0 0 0 var(--crewlet-presence-stack-cutout) var(--crewlet-avatar-stack-ground)}.crewlet-presence-stack .crewlet-presence-stack__badge--present{box-shadow:0 0 0 var(--crewlet-presence-stack-cutout) var(--crewlet-avatar-stack-ground),0 0 0 var(--crewlet-presence-stack-reach) var(--crewlet-presence-hue),0 0 0 calc(var(--crewlet-presence-stack-reach) + var(--crewlet-presence-stack-cutout)) var(--crewlet-avatar-stack-ground)}.crewlet-presence-stack>.crewlet-avatar-stack__member:has(+.crewlet-avatar-stack__member){margin-inline-end:var(--crewlet-presence-stack-reach)}.crewlet-presence-stack .crewlet-presence-stack__badge--idle{opacity:.5}.crewlet-presence-stack>.crewlet-presence-stack__member:has(>.crewlet-presence-stack__badge--idle){background:var(--crewlet-avatar-stack-ground);box-shadow:0 0 0 var(--crewlet-presence-stack-cutout) var(--crewlet-avatar-stack-ground)}@media(forced-colors:active){.crewlet-presence-stack .crewlet-presence-stack__badge--present{outline:2px solid Highlight;outline-offset:2px}}.crewlet-avatar{--crewlet-avatar-size: 32px;display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--crewlet-avatar-size);height:var(--crewlet-avatar-size);overflow:hidden;object-fit:cover;font-family:var(--font-family-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--font-letter-spacing-wide);text-indent:var(--font-letter-spacing-wide);line-height:normal;text-transform:uppercase;user-select:none;box-sizing:border-box}.crewlet-avatar--text{--crewlet-avatar-size: 1.15em;font-size:inherit;display:inline-block;text-align:center;line-height:var(--crewlet-avatar-size)}.crewlet-avatar--text.crewlet-avatar--image{display:inline-block}.crewlet-avatar--text .crewlet-avatar__icon{display:inline-block;vertical-align:middle}.crewlet-avatar--text .crewlet-avatar__character{margin:13% auto}.crewlet-avatar__initials{--crewlet-avatar-initials-size: .5em;font-size:var(--crewlet-avatar-initials-size);line-height:1;vertical-align:middle}.crewlet-avatar--xs{--crewlet-avatar-size: 20px;font-size:calc(var(--crewlet-avatar-size) * .45)}.crewlet-avatar--sm{--crewlet-avatar-size: 26px;font-size:var(--font-size-2xs)}.crewlet-avatar--md{--crewlet-avatar-size: 32px;font-size:var(--font-size-xs)}.crewlet-avatar--lg{--crewlet-avatar-size: 40px;font-size:var(--font-size-sm)}.crewlet-avatar{border-radius:clamp(var(--radius-xs),calc(var(--crewlet-avatar-size) * 2 / 9),var(--radius-lg))}.crewlet-avatar--agent{font-family:var(--font-family-mono)}.crewlet-avatar--human{font-family:var(--font-family-sans)}.crewlet-avatar--image{display:block;object-fit:cover}.crewlet-avatar__icon{display:inline-flex;align-items:center;justify-content:center;width:55%;height:55%}.crewlet-avatar__icon>*{width:100%;height:100%}.crewlet-avatar--fallback{border:1px solid var(--color-edge-hairline)}.crewlet-avatar--neutral{background:var(--color-surface-elevated);color:var(--color-text-secondary)}.crewlet-avatar--seeded{color:var(--color-text-on-scrim)}.crewlet-avatar--tint-0{background:var(--color-avatar-tint-0)}.crewlet-avatar--tint-1{background:var(--color-avatar-tint-1)}.crewlet-avatar--tint-2{background:var(--color-avatar-tint-2)}.crewlet-avatar--tint-3{background:var(--color-avatar-tint-3)}.crewlet-avatar--tint-4{background:var(--color-avatar-tint-4)}.crewlet-avatar--tint-5{background:var(--color-avatar-tint-5)}.crewlet-avatar--tint-6{background:var(--color-avatar-tint-6)}.crewlet-avatar--tint-7{background:var(--color-avatar-tint-7)}.crewlet-avatar--tint-8{background:var(--color-avatar-tint-8)}.crewlet-avatar--tint-9{background:var(--color-avatar-tint-9)}.crewlet-avatar--character{border:1px solid var(--color-edge-hairline)}.crewlet-avatar__character{display:block;flex:none;width:74%;height:74%}.crewlet-avatar--hue-purple{--crewlet-avatar-plate: var(--color-node-purple-fill);background:var(--crewlet-avatar-plate);color:var(--color-node-purple)}.crewlet-avatar--hue-cyan{--crewlet-avatar-plate: var(--color-node-cyan-fill);background:var(--crewlet-avatar-plate);color:var(--color-node-cyan)}.crewlet-avatar--hue-green{--crewlet-avatar-plate: var(--color-node-green-fill);background:var(--crewlet-avatar-plate);color:var(--color-node-green)}.crewlet-avatar--hue-amber{--crewlet-avatar-plate: var(--color-node-amber-fill);background:var(--crewlet-avatar-plate);color:var(--color-node-amber)}.crewlet-avatar--hue-rose{--crewlet-avatar-plate: var(--color-node-rose-fill);background:var(--crewlet-avatar-plate);color:var(--color-node-rose)}.crewlet-avatar--hue-blue{--crewlet-avatar-plate: var(--color-node-blue-fill);background:var(--crewlet-avatar-plate);color:var(--color-node-blue)}.crewlet-avatar--ring-brand{outline-style:solid;outline-width:1.5px;outline-offset:2px;outline-color:var(--color-brand-accent)}.crewlet-avatar-frame{--crewlet-avatar-status-size: max(8px, calc(var(--crewlet-avatar-size) * .25));--crewlet-avatar-status-overhang: max(1px, calc(var(--crewlet-avatar-size) * .04));--crewlet-avatar-status-gap: 1.5px;position:relative;display:inline-flex;flex:none;width:var(--crewlet-avatar-size);height:var(--crewlet-avatar-size);vertical-align:middle}.crewlet-avatar--notched{--crewlet-avatar-status-centre: calc( 100% + var(--crewlet-avatar-status-overhang) - var(--crewlet-avatar-status-size) / 2 );--crewlet-avatar-status-cut: calc(var(--crewlet-avatar-status-size) / 2 + var(--crewlet-avatar-status-gap));-webkit-mask-image:radial-gradient(circle at var(--crewlet-avatar-status-centre) var(--crewlet-avatar-status-centre),transparent var(--crewlet-avatar-status-cut),#000 calc(var(--crewlet-avatar-status-cut) + .5px));mask-image:radial-gradient(circle at var(--crewlet-avatar-status-centre) var(--crewlet-avatar-status-centre),transparent var(--crewlet-avatar-status-cut),#000 calc(var(--crewlet-avatar-status-cut) + .5px))}.crewlet-avatar__status{position:absolute;right:calc(var(--crewlet-avatar-status-overhang) * -1);bottom:calc(var(--crewlet-avatar-status-overhang) * -1);display:grid;place-items:center;width:var(--crewlet-avatar-status-size);height:var(--crewlet-avatar-status-size);border-radius:var(--radius-circle);outline:1px solid transparent;color:var(--color-text-inverse);pointer-events:none}.crewlet-avatar__status>svg{display:block;width:100%;height:100%}.crewlet-avatar__status--working{background:var(--color-feedback-info)}.crewlet-avatar__status--needs{background:var(--color-feedback-warning)}.crewlet-avatar__status--stopped{background:var(--color-feedback-danger)}.crewlet-avatar__status--mark{padding:1px;background:var(--color-surface-elevated);outline-color:var(--color-border-strong);outline-offset:-1px;color:var(--color-text-secondary)}.crewlet-avatar-stack{--crewlet-avatar-stack-ground: var(--color-surface-background);--crewlet-avatar-stack-size: 26px;display:inline-flex;flex:none;align-items:center;vertical-align:middle}.crewlet-avatar-stack>.crewlet-avatar-stack__member{box-shadow:0 0 0 2px var(--crewlet-avatar-stack-ground)}.crewlet-avatar-stack>.crewlet-avatar-stack__member.crewlet-avatar,.crewlet-avatar-stack>.crewlet-avatar-stack__member>.crewlet-avatar{border-color:transparent}.crewlet-avatar-stack>.crewlet-avatar-stack__member,.crewlet-avatar-stack>.crewlet-avatar-stack__member>.crewlet-avatar{background-image:linear-gradient(var(--crewlet-avatar-plate),var(--crewlet-avatar-plate)),linear-gradient(var(--crewlet-avatar-stack-ground),var(--crewlet-avatar-stack-ground))}.crewlet-avatar-stack>.crewlet-avatar-stack__member+.crewlet-avatar-stack__member{margin-inline-start:-6px}.crewlet-avatar-stack.crewlet-avatar-stack--xs>.crewlet-avatar-stack__member+.crewlet-avatar-stack__member{margin-inline-start:-2px}.crewlet-avatar-stack.crewlet-avatar-stack--spread{gap:var(--spacing-1)}.crewlet-avatar-stack.crewlet-avatar-stack--spread>.crewlet-avatar-stack__member{box-shadow:none}.crewlet-avatar-stack.crewlet-avatar-stack--spread>.crewlet-avatar-stack__member.crewlet-avatar,.crewlet-avatar-stack.crewlet-avatar-stack--spread>.crewlet-avatar-stack__member>.crewlet-avatar{border-color:var(--color-edge-hairline)}.crewlet-avatar-stack.crewlet-avatar-stack--spread>.crewlet-avatar-stack__member+.crewlet-avatar-stack__member{margin-inline-start:0}.crewlet-avatar-stack>.crewlet-avatar-stack__more{display:inline-flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;min-width:var(--crewlet-avatar-stack-size);height:var(--crewlet-avatar-stack-size);padding-inline:var(--spacing-1);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface-elevated);color:var(--color-text-secondary);font-family:var(--font-family-sans);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;line-height:normal;white-space:nowrap;user-select:none}.crewlet-tag-group{--crewlet-tag-group-pad: calc(var(--spacing-2) + var(--spacing-1) / 4);display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-1);margin:0;padding:0;list-style:none;min-width:0}.crewlet-tag-group:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.crewlet-tag-group--fit{flex-wrap:wrap;overflow:hidden;max-height:var(--size-control-sm)}.crewlet-tag-group__item[data-count]{align-self:stretch}.crewlet-tag-group__count{display:inline-flex;align-items:center;box-sizing:border-box;padding:0 var(--crewlet-tag-group-pad);border-radius:var(--radius-pill);background:var(--color-surface-subtle);color:var(--color-text-secondary);font-family:var(--font-family-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1;white-space:nowrap}.crewlet-tag-group:has(.crewlet-tag--xs) .crewlet-tag-group__count{padding:0 calc(var(--spacing-1) * 1.5);font-size:var(--font-size-2xs)}.crewlet-tag-group__item{display:inline-flex;min-width:0;max-width:100%}.crewlet-tag-group__more{display:inline-flex;align-items:center;height:max(24px,calc(24px * var(--density, 1)));padding:0 var(--crewlet-tag-group-pad);border:1px dashed var(--color-border-hover);border-radius:var(--radius-pill);background:transparent;color:var(--color-text-secondary);font-family:var(--font-family-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1;white-space:nowrap;cursor:pointer;box-sizing:border-box;transition:border-color var(--motion-duration-fast) var(--motion-easing-default),color var(--motion-duration-fast) var(--motion-easing-default)}.crewlet-tag-group__more:hover{border-color:var(--color-border-strong-hover);color:var(--color-text-primary)}.crewlet-tag-group__more:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}@media(prefers-reduced-motion:reduce){.crewlet-tag-group__more{transition:none}}.crewlet-cursor-flag{display:inline-flex;align-items:center;gap:var(--spacing-1);box-sizing:border-box;max-width:16em;padding:0 calc(var(--spacing-1) * 1.5);border-radius:var(--radius-pill);background:var(--crewlet-presence-hue);box-shadow:var(--shadow-cursor);color:var(--color-presence-flag-text);font-family:var(--font-family-sans);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);line-height:var(--font-line-height-normal);white-space:nowrap;pointer-events:none;user-select:none}.crewlet-cursor-flag--agent{border-radius:var(--radius-xs)}.crewlet-cursor-flag__name{overflow:hidden;text-overflow:ellipsis}.crewlet-cursor-flag__glyph{flex:none}.crewlet-cursor-flag--top-end,.crewlet-cursor-flag--bottom-end{position:absolute;inset-inline-end:0;z-index:var(--z-index-presence)}.crewlet-cursor-flag--top-end{bottom:100%}.crewlet-cursor-flag--bottom-end{top:100%}@media(forced-colors:active){.crewlet-cursor-flag{border:1px solid CanvasText;background:Canvas;color:CanvasText}}.crewlet-change-mark{position:absolute;top:0;inset-inline-end:0;width:0;height:0;border-top:var(--spacing-2) solid var(--color-change-mark);border-inline-start:var(--spacing-2) solid transparent;border-start-end-radius:inherit;pointer-events:auto}@media(forced-colors:active){.crewlet-change-mark{border-top-color:CanvasText}}.crewlet-status-dot{--crewlet-status-dot-size: 7px;display:inline-block;width:var(--crewlet-status-dot-size);height:var(--crewlet-status-dot-size);border-radius:var(--radius-circle);background:var(--color-text-tertiary);--crewlet-status-dot-halo: var(--color-surface-pressed);flex:none}.crewlet-status-dot--info{background:var(--color-feedback-info);--crewlet-status-dot-halo: var(--color-feedback-info-soft)}.crewlet-status-dot--success{background:var(--color-feedback-success);--crewlet-status-dot-halo: var(--color-feedback-success-soft)}.crewlet-status-dot--warning{background:var(--color-feedback-warning);--crewlet-status-dot-halo: var(--color-feedback-warning-soft)}.crewlet-status-dot--danger{background:var(--color-feedback-danger);--crewlet-status-dot-halo: var(--color-feedback-danger-soft)}.crewlet-status-dot--brand{background:var(--color-brand-accent);--crewlet-status-dot-halo: var(--color-brand-accent-soft)}:where(.crewlet-status-dot.is-pulsing){position:relative}.crewlet-status-dot.is-pulsing:after{content:"";position:absolute;inset:-2px;border-radius:var(--radius-circle);pointer-events:none;animation:crewlet-status-dot-pulse var(--motion-duration-breath) var(--motion-easing-in-out) infinite}@keyframes crewlet-status-dot-pulse{0%,to{box-shadow:0 0 0 0 var(--crewlet-status-dot-halo)}50%{box-shadow:0 0 0 3px var(--crewlet-status-dot-halo)}}.crewlet-status{display:inline-flex;align-items:center;gap:7px;min-width:0;max-width:100%}.crewlet-status__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crewlet-status--wrap{align-items:flex-start}.crewlet-status--wrap>.crewlet-status-dot{margin-top:calc((1lh - var(--crewlet-status-dot-size)) / 2)}.crewlet-status--wrap>.crewlet-status__label{overflow:visible;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}@media(prefers-reduced-motion:reduce){.crewlet-status-dot.is-pulsing:after{animation:none}}.crewlet-tag{--crewlet-tag-height: calc(22px * var(--density, 1));--crewlet-tag-floor: 0px;--crewlet-tag-pad: calc(var(--spacing-2) + var(--spacing-1) / 4);--crewlet-tag-fill: var(--color-surface-elevated);--crewlet-tag-ink: var(--color-text-secondary);--crewlet-tag-line: var(--color-border-hover);--crewlet-tag-edge: transparent;display:inline-flex;align-items:center;gap:calc(var(--spacing-1) * 1.5);height:max(var(--crewlet-tag-height),var(--crewlet-tag-floor));padding:0 var(--crewlet-tag-pad);border:1px solid var(--crewlet-tag-edge);border-radius:var(--radius-pill);background:var(--crewlet-tag-fill);color:var(--crewlet-tag-ink);font-family:var(--font-family-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--font-letter-spacing-normal);line-height:1;white-space:nowrap;width:fit-content;max-width:100%;vertical-align:middle;box-sizing:border-box}.crewlet-tag__label{overflow:hidden;text-overflow:ellipsis}.crewlet-tag__icon{display:inline-flex;align-items:center;flex:none}.crewlet-tag .crewlet-tag__dot{flex:none;background:currentColor}.crewlet-tag__count{font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold);flex:none}.crewlet-tag--xs{--crewlet-tag-height: calc(18px * var(--density, 1));--crewlet-tag-pad: calc(var(--spacing-1) * 1.5);gap:var(--spacing-1);font-size:var(--font-size-2xs)}.crewlet-tag--sm{--crewlet-tag-height: calc(22px * var(--density, 1))}.crewlet-tag--md{--crewlet-tag-height: var(--size-control-sm)}.crewlet-tag--acts{--crewlet-tag-floor: max(24px, calc(24px * var(--density, 1)))}.crewlet-tag--monospace .crewlet-tag__label{font-family:var(--font-family-mono);font-size:var(--font-size-2xs)}.crewlet-tag--info{--crewlet-tag-fill: var(--color-feedback-info-soft);--crewlet-tag-ink: var(--color-feedback-info-ink);--crewlet-tag-line: var(--color-feedback-info-line)}.crewlet-tag--success{--crewlet-tag-fill: var(--color-feedback-success-soft);--crewlet-tag-ink: var(--color-feedback-success-ink);--crewlet-tag-line: var(--color-feedback-success-line)}.crewlet-tag--warning{--crewlet-tag-fill: var(--color-feedback-warning-soft);--crewlet-tag-ink: var(--color-feedback-warning-ink);--crewlet-tag-line: var(--color-feedback-warning-line)}.crewlet-tag--danger{--crewlet-tag-fill: var(--color-feedback-danger-soft);--crewlet-tag-ink: var(--color-feedback-danger-ink);--crewlet-tag-line: var(--color-feedback-danger-line)}.crewlet-tag--brand{--crewlet-tag-fill: var(--color-brand-accent-soft);--crewlet-tag-ink: var(--color-brand-accent-ink);--crewlet-tag-line: var(--color-brand-accent-soft-strong)}.crewlet-tag--hue-purple{--crewlet-tag-fill: var(--color-node-purple-fill);--crewlet-tag-ink: var(--color-node-purple-ink);--crewlet-tag-line: var(--color-node-purple-line)}.crewlet-tag--hue-cyan{--crewlet-tag-fill: var(--color-node-cyan-fill);--crewlet-tag-ink: var(--color-node-cyan-ink);--crewlet-tag-line: var(--color-node-cyan-line)}.crewlet-tag--hue-green{--crewlet-tag-fill: var(--color-node-green-fill);--crewlet-tag-ink: var(--color-node-green-ink);--crewlet-tag-line: var(--color-node-green-line)}.crewlet-tag--hue-amber{--crewlet-tag-fill: var(--color-node-amber-fill);--crewlet-tag-ink: var(--color-node-amber-ink);--crewlet-tag-line: var(--color-node-amber-line)}.crewlet-tag--hue-rose{--crewlet-tag-fill: var(--color-node-rose-fill);--crewlet-tag-ink: var(--color-node-rose-ink);--crewlet-tag-line: var(--color-node-rose-line)}.crewlet-tag--hue-blue{--crewlet-tag-fill: var(--color-node-blue-fill);--crewlet-tag-ink: var(--color-node-blue-ink);--crewlet-tag-line: var(--color-node-blue-line)}.crewlet-tag--outline{background:transparent;border-color:var(--crewlet-tag-line)}.crewlet-tag--neutral.crewlet-tag--soft{--crewlet-tag-edge: var(--color-border-strong);--crewlet-tag-line: var(--color-border-strong-hover)}.crewlet-tag--neutral.crewlet-tag--outline{border-color:var(--color-border-strong);--crewlet-tag-ink: var(--color-text-tertiary)}.crewlet-tag--quiet{--crewlet-tag-height: calc(16px * var(--density, 1));--crewlet-tag-pad: var(--spacing-1);--crewlet-tag-edge: transparent;gap:var(--spacing-1);border-radius:var(--radius-xs);font-size:var(--font-size-2xs);font-weight:var(--font-weight-regular)}.crewlet-tag--neutral.crewlet-tag--quiet{--crewlet-tag-fill: var(--color-fill-soft);--crewlet-tag-ink: var(--color-text-secondary)}.crewlet-tag--actionable{cursor:pointer;font-family:inherit;transition:border-color var(--motion-duration-fast) var(--motion-easing-default),box-shadow var(--motion-duration-fast) var(--motion-easing-default)}.crewlet-tag--actionable:hover{border-color:var(--crewlet-tag-line)}.crewlet-tag--actionable[aria-pressed=true]{border-color:var(--crewlet-tag-ink);box-shadow:inset 0 0 0 1px var(--crewlet-tag-ink)}.crewlet-tag--actionable:focus-visible,.crewlet-tag__press:focus-visible,.crewlet-tag__remove:focus-visible{outline:2px solid var(--color-focus)}.crewlet-tag--actionable:focus-visible,.crewlet-tag__remove:focus-visible{outline-offset:-1px}.crewlet-tag__press:focus-visible{outline-offset:0}.crewlet-tag--split{padding:0;transition:border-color var(--motion-duration-fast) var(--motion-easing-default),box-shadow var(--motion-duration-fast) var(--motion-easing-default)}.crewlet-tag--split .crewlet-tag__press{display:inline-flex;align-items:center;align-self:stretch;gap:inherit;min-width:0;padding:0 var(--crewlet-tag-pad);border:0;border-radius:var(--radius-pill) 0 0 var(--radius-pill);background:transparent;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;cursor:pointer}.crewlet-tag--split .crewlet-tag__remove{margin-right:0}.crewlet-tag--split:hover{border-color:var(--crewlet-tag-line)}.crewlet-tag--split.is-pressed{border-color:var(--crewlet-tag-ink);box-shadow:inset 0 0 0 1px var(--crewlet-tag-ink)}.crewlet-tag__remove{display:inline-flex;align-items:center;justify-content:center;align-self:stretch;min-width:24px;margin-block-start:-1px;margin-block-end:-1px;margin-right:calc(var(--crewlet-tag-pad) * -1);padding:0 var(--spacing-1);border:0;border-radius:0 var(--radius-pill) var(--radius-pill) 0;background:transparent;color:inherit;cursor:pointer;opacity:.7;transition:opacity var(--motion-duration-fast) var(--motion-easing-default)}.crewlet-tag__remove:hover,.crewlet-tag__remove:focus-visible{opacity:1}.crewlet-tag--animate-in{animation:crewlet-tag-in var(--motion-duration-base) var(--motion-easing-emphasized)}@keyframes crewlet-tag-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.crewlet-tag--animate-in{animation:none}.crewlet-tag--actionable,.crewlet-tag--split,.crewlet-tag__remove{transition:none}}.crewlet-popover{position:fixed;background:var(--color-surface-subtle);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);min-width:260px;max-width:380px;max-height:min(360px,60vh);overflow-y:auto;overscroll-behavior:contain;animation:crewlet-popover-in var(--motion-duration-base) var(--motion-easing-emphasized)}.crewlet-popover--in-host{position:absolute}.crewlet-popover--below{transform-origin:top left}.crewlet-popover--above{transform-origin:bottom left}.crewlet-popover:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}@keyframes crewlet-popover-in{0%{opacity:0;transform:translateY(var(--spacing-2))}}.crewlet-popover__list{list-style:none;margin:0;padding:var(--spacing-1);display:flex;flex-direction:column}.crewlet-popover__item{display:flex;align-items:center;gap:var(--spacing-2);min-height:var(--size-row-sm);padding:0 var(--spacing-2);border-radius:var(--radius-xs);cursor:pointer;background:transparent;border:none;color:var(--color-text-primary);font-size:var(--font-size-compact);font-family:inherit;text-align:left;width:100%}.crewlet-popover__item:hover:not(.is-disabled):not([aria-disabled=true]){background:var(--color-surface-hover)}.crewlet-popover__item:focus{background:var(--color-surface-hover)}.crewlet-popover__item:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-popover__item.is-disabled,.crewlet-popover__item[aria-disabled=true]{color:var(--color-text-tertiary);cursor:not-allowed}.crewlet-popover__item.is-active{color:var(--color-brand-accent-ink)}.crewlet-popover__item-icon{flex-shrink:0}.crewlet-popover__item-spacer{flex:1}.crewlet-popover__item-trail{margin-left:auto;padding-left:var(--spacing-4);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.crewlet-popover__heading{padding:var(--spacing-2) var(--spacing-3) var(--spacing-1);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);letter-spacing:var(--font-letter-spacing-wide);text-transform:uppercase;color:var(--color-text-tertiary)}.crewlet-popover__divider{height:1px;background:var(--color-border-default);margin:var(--spacing-1) 0}.crewlet-popover__editor{padding:var(--spacing-3);min-width:240px}.crewlet-popover__editor-label{display:block;margin-bottom:var(--spacing-2);font-size:var(--font-size-2xs);letter-spacing:var(--font-letter-spacing-wide);text-transform:uppercase;color:var(--color-text-tertiary)}.crewlet-popover--instant{animation:none}@media(prefers-reduced-motion:reduce){.crewlet-popover{animation:none}}.crewlet-menu-anchor{display:inline-flex}.crewlet-menu{position:fixed;display:flex;flex-direction:column;padding:var(--spacing-1);width:max-content;min-width:var(--crewlet-menu-floor, 0px);max-width:max(320px,var(--crewlet-menu-floor, 0px));max-height:var(--crewlet-menu-room, min(360px, 60vh));overflow-y:auto;overscroll-behavior:contain;background:var(--color-surface-subtle);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);animation:crewlet-menu-in var(--motion-duration-base) var(--motion-easing-emphasized)}.crewlet-menu--in-host{position:absolute}.crewlet-menu--instant{animation:none}@keyframes crewlet-menu-in{0%{opacity:0;transform:translateY(var(--spacing-2))}}.crewlet-menu__group{display:contents}.crewlet-menu__item{display:flex;align-items:center;gap:var(--spacing-2);width:100%;flex:none;min-height:var(--size-row-sm);padding:0 var(--spacing-2);border:none;border-radius:var(--radius-xs);background:transparent;color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-compact);text-align:left;white-space:nowrap;cursor:pointer}.crewlet-menu__item--described{align-items:flex-start;padding-block:var(--spacing-2)}.crewlet-menu__item--described>.crewlet-menu__check,.crewlet-menu__item--described>.crewlet-menu__icon{height:1lh}.crewlet-menu__item--described>.crewlet-menu__text,.crewlet-menu__item--described>.crewlet-menu__hint{align-self:baseline}.crewlet-menu__item:hover:not(.is-disabled){background:var(--color-surface-hover)}.crewlet-menu__item:focus{background:var(--color-surface-hover)}.crewlet-menu__item:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-menu--descendant:focus-visible{outline:2px solid transparent}.crewlet-menu--descendant .crewlet-menu__item:hover:not(.is-disabled){background:transparent}.crewlet-menu--descendant .crewlet-menu__item.is-active{background:var(--color-brand-accent);color:var(--color-text-on-accent)}.crewlet-menu--descendant .crewlet-menu__item.is-active :is(.crewlet-menu__icon,.crewlet-menu__check,.crewlet-menu__hint,.crewlet-menu__description){color:inherit}.crewlet-menu--descendant .crewlet-menu__item.is-active.is-danger{background:var(--color-feedback-danger);color:var(--color-text-on-danger)}.crewlet-menu--descendant .crewlet-menu__item.is-active.is-disabled{background:var(--color-surface-pressed);box-shadow:inset 2px 0 0 var(--color-brand-accent);color:var(--color-text-tertiary)}@media(forced-colors:active){.crewlet-menu--descendant .crewlet-menu__item.is-active{outline:2px solid transparent;outline-offset:-2px}}.crewlet-menu__item.is-danger,.crewlet-menu__item.is-danger .crewlet-menu__icon{color:var(--color-feedback-danger-ink)}.crewlet-menu__item.is-disabled,.crewlet-menu__item.is-disabled .crewlet-menu__icon{color:var(--color-text-tertiary)}.crewlet-menu__item.is-disabled{cursor:not-allowed}.crewlet-menu__check{display:inline-flex;align-items:center;justify-content:center;width:var(--spacing-4);flex:none;color:var(--color-text-tertiary)}.crewlet-menu__icon{display:inline-flex;align-items:center;flex:none;color:var(--color-text-tertiary)}.crewlet-menu__text{display:flex;flex-direction:column;gap:calc(var(--spacing-1) / 2);min-width:0}.crewlet-menu__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crewlet-menu__description{color:var(--color-text-tertiary);font-size:var(--font-size-xs);white-space:normal}.crewlet-menu__hint{margin-left:auto;padding-left:var(--spacing-4);color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.crewlet-menu__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-1) var(--spacing-2);margin:calc(var(--spacing-1) * -1) calc(var(--spacing-1) * -1) var(--spacing-1);padding:var(--spacing-2) var(--spacing-3);border-bottom:1px solid var(--color-border-default);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.crewlet-menu__separator{height:1px;margin:var(--spacing-1) 0;background:var(--color-border-default)}@media(prefers-reduced-motion:reduce){.crewlet-menu{animation:none}}.crewlet-menu-anchor>.crewlet-btn.crewlet-menu__value-trigger{font-size:inherit;font-weight:inherit;color:inherit}.crewlet-sheet-grid{--crewlet-sheet-row-height: var(--size-sheet-row);--crewlet-sheet-history-size: var(--size-target-min);position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;color:var(--color-text-primary);font-family:var(--font-family-sans);font-size:var(--font-size-compact)}.crewlet-sheet-grid__measure{position:absolute;inset-block-start:0;inset-inline-start:0;width:0;height:0;overflow:hidden;visibility:hidden;pointer-events:none}.crewlet-sheet-grid__measure>div{display:flex;flex-direction:column;width:max-content}.crewlet-sheet-grid__measure :is(.crewlet-sheet-grid__header,.crewlet-sheet-grid__cell){width:max-content}.crewlet-sheet-grid__probe{position:absolute;width:0;height:var(--size-sheet-row);visibility:hidden;pointer-events:none}.crewlet-sheet-grid__scroller{position:relative;flex:1 1 auto;min-height:0;max-width:100%;overflow:auto;border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-surface-background)}.crewlet-sheet-grid__grid{position:relative;min-width:100%}.crewlet-sheet-grid--fit-content>.crewlet-sheet-grid__scroller{flex:0 1 auto;min-height:min(var(--crewlet-sheet-min-height, 0px),var(--crewlet-sheet-content-height, 0px));max-height:var(--crewlet-sheet-max-height, 70vh)}.crewlet-sheet-grid__row{display:grid;grid-template-columns:var(--crewlet-sheet-columns);height:var(--crewlet-sheet-row-height)}.crewlet-sheet-grid__head{position:sticky;top:0;z-index:var(--z-index-sticky)}.crewlet-sheet-grid__body{position:relative}.crewlet-sheet-grid__body>.crewlet-sheet-grid__row{position:absolute;right:0;left:0}.crewlet-sheet-grid__corner,.crewlet-sheet-grid__header,.crewlet-sheet-grid__rownum,.crewlet-sheet-grid__cell{position:relative;display:flex;align-items:center;box-sizing:border-box;min-width:0;border-right:1px solid var(--color-border-default);border-bottom:1px solid var(--color-border-default);background:var(--color-surface-background)}.crewlet-sheet-grid__scroller:not(.crewlet-sheet-grid__scroller--add-column) .crewlet-sheet-grid__row>:last-child{border-inline-end-width:0}.crewlet-sheet-grid__row--floor>:is(.crewlet-sheet-grid__corner,.crewlet-sheet-grid__header,.crewlet-sheet-grid__rownum,.crewlet-sheet-grid__cell){border-bottom-width:0}.crewlet-sheet-grid__corner,.crewlet-sheet-grid__header{background:var(--color-surface-subtle);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.crewlet-sheet-grid__corner,.crewlet-sheet-grid__rownum{position:sticky;inset-inline-start:0;z-index:var(--z-index-raised);justify-content:center}.crewlet-sheet-grid__corner{z-index:var(--z-index-sticky)}.crewlet-sheet-grid__header{gap:var(--spacing-1);padding:0 var(--spacing-2);cursor:default;user-select:none}.crewlet-sheet-grid__header-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crewlet-sheet-grid__sort{display:inline-flex;flex:none;color:var(--color-text-tertiary)}.crewlet-sheet-grid__header-presence{display:inline-flex;flex:none;gap:var(--spacing-1);margin-inline-start:auto}.crewlet-sheet-grid__header--number,.crewlet-sheet-grid__header--rating{flex-direction:row-reverse}.crewlet-sheet-grid__header--number>.crewlet-sheet-grid__header-presence,.crewlet-sheet-grid__header--rating>.crewlet-sheet-grid__header-presence{margin-inline:0 auto}.crewlet-sheet-grid__header--checkbox{justify-content:center}.crewlet-sheet-grid .crewlet-sheet-grid__header-badge{box-shadow:0 0 0 2px var(--crewlet-presence-hue)}.crewlet-sheet-grid__rownum{display:grid;grid-template-areas:"gutter";place-items:center;color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums}.crewlet-sheet-grid__rownum-number,.crewlet-sheet-grid__row-actions{grid-area:gutter}.crewlet-sheet-grid__row-actions{display:inline-flex;opacity:0}.crewlet-sheet-grid__row:is(:hover,:focus-within)>.crewlet-sheet-grid__rownum>.crewlet-sheet-grid__row-actions,.crewlet-sheet-grid__rownum--open>.crewlet-sheet-grid__row-actions{opacity:1}.crewlet-sheet-grid__row:is(:hover,:focus-within)>.crewlet-sheet-grid__rownum--actions>.crewlet-sheet-grid__rownum-number,.crewlet-sheet-grid__rownum--open>.crewlet-sheet-grid__rownum-number{visibility:hidden}.crewlet-sheet-grid__grid:is(:focus-within,.crewlet-sheet-grid__grid--range) .crewlet-sheet-grid__rownum--selected{background:linear-gradient(var(--color-brand-accent-soft),var(--color-brand-accent-soft)) var(--color-surface-background);color:var(--color-brand-accent-ink)}.crewlet-sheet-grid__grid:not(:focus-within) .crewlet-sheet-grid__cell--history:not(:hover)>.crewlet-sheet-grid__history{visibility:hidden}.crewlet-sheet-grid__rownum--present:before{position:absolute;top:0;bottom:0;inset-inline-start:0;width:3px;background:var(--crewlet-presence-hue);content:""}.crewlet-sheet-grid__cell{padding:0 var(--spacing-2);outline:none}.crewlet-sheet-grid__cell--frozen,.crewlet-sheet-grid__header.crewlet-sheet-grid__cell--frozen{position:sticky;z-index:var(--z-index-raised)}.crewlet-sheet-grid__header.crewlet-sheet-grid__cell--frozen{z-index:var(--z-index-sticky)}.crewlet-sheet-grid__cell--number,.crewlet-sheet-grid__cell--rating{justify-content:flex-end}.crewlet-sheet-grid__cell--checkbox{justify-content:center}.crewlet-sheet-grid__grid:is(:focus-within,.crewlet-sheet-grid__grid--range) .crewlet-sheet-grid__cell--selected{background:linear-gradient(var(--color-brand-accent-soft),var(--color-brand-accent-soft)) var(--color-surface-background)}.crewlet-sheet-grid__scroller--across .crewlet-sheet-grid__frozen-edge{border-inline-end-color:var(--color-border-strong)}.crewlet-sheet-grid__cell:focus-visible,.crewlet-sheet-grid__header:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-sheet-grid__cell--editing{z-index:var(--z-index-presence);overflow:visible}.crewlet-sheet-grid__value{display:flex;align-items:center;min-width:0;max-width:100%;overflow:hidden}.crewlet-sheet-grid__cell--editing>.crewlet-sheet-grid__value{visibility:hidden}.crewlet-sheet-grid__cell--pending>.crewlet-sheet-grid__value:after{position:absolute;right:var(--spacing-1);bottom:2px;left:var(--spacing-1);border-bottom:1px dashed var(--color-text-tertiary);content:""}.crewlet-sheet-grid__refused{display:inline-flex;flex:none;margin-inline-start:auto;padding-inline-start:var(--spacing-1);color:var(--color-feedback-danger-ink)}:is(.crewlet-sheet-grid__cell--number,.crewlet-sheet-grid__cell--rating)>.crewlet-sheet-grid__refused{order:-1;margin-inline:0 auto;padding-inline:0 var(--spacing-1)}.crewlet-sheet-grid__cell--checkbox>.crewlet-sheet-grid__refused{position:absolute;inset-inline-end:var(--spacing-2);margin:0;padding:0}.crewlet-sheet-grid__message{position:absolute;top:100%;inset-inline-start:0;z-index:var(--z-index-presence);box-sizing:border-box;width:max-content;max-width:20rem;padding:var(--spacing-1) var(--spacing-2);border:1px solid var(--color-feedback-danger-line);border-radius:var(--radius-sm);background:var(--color-surface-elevated);box-shadow:var(--shadow-md);color:var(--color-feedback-danger-ink);font-size:var(--font-size-xs);white-space:normal}.crewlet-sheet-grid__grid:focus-within .crewlet-sheet-grid__cell--history,.crewlet-sheet-grid__cell--history:hover{padding-inline-end:calc(var(--spacing-1) * 2 + var(--crewlet-sheet-history-size))}.crewlet-sheet-grid__grid:focus-within :is(.crewlet-sheet-grid__cell--number,.crewlet-sheet-grid__cell--rating).crewlet-sheet-grid__cell--history,:is(.crewlet-sheet-grid__cell--number,.crewlet-sheet-grid__cell--rating).crewlet-sheet-grid__cell--history:hover{padding-inline:calc(var(--spacing-1) * 2 + var(--crewlet-sheet-history-size)) var(--spacing-2)}.crewlet-sheet-grid__grid:focus-within .crewlet-sheet-grid__cell--checkbox.crewlet-sheet-grid__cell--history,.crewlet-sheet-grid__cell--checkbox.crewlet-sheet-grid__cell--history:hover{padding-inline-end:var(--spacing-2)}:is(.crewlet-sheet-grid__cell--number,.crewlet-sheet-grid__cell--rating)>.crewlet-sheet-grid__history{inset-inline:var(--spacing-1) auto}.crewlet-sheet-grid__history{position:absolute;top:50%;inset-inline-end:var(--spacing-1);display:inline-flex;align-items:center;justify-content:center;width:var(--crewlet-sheet-history-size);height:var(--crewlet-sheet-history-size);padding:0;border:0;border-radius:var(--radius-md);background:var(--color-surface-elevated);color:var(--color-text-secondary);transform:translateY(-50%);cursor:pointer}.crewlet-sheet-grid__history:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.crewlet-sheet-grid__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-2);padding:var(--spacing-2) 0;color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.crewlet-sheet-grid__header--settings{cursor:pointer}.crewlet-sheet-grid__header--settings:hover,.crewlet-sheet-grid__header--open{background:var(--color-surface-hover);color:var(--color-text-primary)}.crewlet-popover.crewlet-sheet-grid__column-settings{width:300px;max-height:min(560px,80vh);padding:var(--spacing-3)}.crewlet-sheet-grid__scroller--add-column{--crewlet-sheet-add-column-width: calc(var(--size-control-sm) + 2 * var(--spacing-1));display:flex;align-items:flex-start}.crewlet-sheet-grid__scroller--add-column>.crewlet-sheet-grid__grid{flex:1 0 auto;min-width:0}.crewlet-sheet-grid__add-column{position:sticky;top:0;z-index:var(--z-index-sticky);display:flex;flex:0 0 var(--crewlet-sheet-add-column-width);align-items:center;justify-content:center;box-sizing:border-box;border-bottom:1px solid var(--color-border-default);background:var(--color-surface-subtle)}.crewlet-sheet-grid__add-column--floor{border-bottom-width:0}.crewlet-sheet-grid__sync{display:inline-flex;align-items:center;gap:var(--spacing-2);margin-inline-start:auto}.crewlet-sheet-grid__sync--failed{color:var(--color-feedback-danger-ink)}.crewlet-sheet-cell__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crewlet-sheet-cell__number{font-variant-numeric:tabular-nums}.crewlet-sheet-cell__muted{color:var(--color-text-tertiary)}.crewlet-sheet-cell__chips{flex:1 1 auto;flex-wrap:wrap;min-width:0}.crewlet-sheet-cell__person{display:inline-flex;align-items:center;gap:var(--spacing-1);min-width:0}.crewlet-sheet-cell__link{overflow:hidden;color:var(--color-text-link-quiet);text-overflow:ellipsis;white-space:nowrap}.crewlet-sheet-cell__link:hover{color:var(--color-brand-accent-ink)}.crewlet-sheet-cell__checkbox{display:inline-flex;align-items:center}.crewlet-sheet-cell__check{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--spacing-4);height:var(--spacing-4);border:1px solid var(--color-border-control);border-radius:var(--radius-xs);background:var(--color-surface-background);color:var(--color-text-on-accent)}.crewlet-sheet-cell__check--on{border-color:var(--color-brand-accent);background:var(--color-brand-accent)}.crewlet-sheet-cell__rating,.crewlet-sheet-cell__stars{display:inline-flex;align-items:center}.crewlet-sheet-cell__star{color:var(--color-border-strong)}.crewlet-sheet-cell__star--on{color:var(--color-text-primary)}.crewlet-sheet-cell{position:relative;display:inline-flex;flex-direction:column;gap:var(--spacing-1);min-width:0;font-size:var(--font-size-compact)}.crewlet-sheet-cell__face{display:inline-flex;align-items:center;box-sizing:border-box;min-height:var(--size-control-md);padding:0 var(--spacing-2);border:1px solid var(--color-border-control);border-radius:var(--radius-md);background:var(--color-surface-background);color:inherit;font:inherit;text-align:start;cursor:pointer}.crewlet-sheet-cell__face[aria-disabled=true]{cursor:default}.crewlet-sheet-cell__face:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-sheet-cell--pending .crewlet-sheet-cell__face{border-style:dashed}.crewlet-sheet-cell__refusal{display:inline-flex;align-items:center;gap:var(--spacing-1);color:var(--color-feedback-danger-ink);font-size:var(--font-size-xs)}.crewlet-sheet-editor{position:absolute;inset:0;z-index:var(--z-index-presence)}.crewlet-sheet-cell .crewlet-sheet-editor{position:relative;inset:auto}.crewlet-sheet-editor__input{box-sizing:border-box;width:100%;height:100%;min-height:var(--size-control-md);padding:0 var(--spacing-2);border:0;border-radius:0;background:var(--color-surface-elevated);box-shadow:inset 0 0 0 2px var(--color-focus);color:var(--color-text-primary);font:inherit}:is(.crewlet-sheet-grid__cell--number,.crewlet-sheet-grid__cell--rating) .crewlet-sheet-editor__input{font-variant-numeric:tabular-nums;text-align:end}.crewlet-sheet-cell .crewlet-sheet-editor__input{padding-inline:calc(var(--spacing-2) + 1px);border-radius:var(--radius-md)}.crewlet-sheet-cell .crewlet-sheet-editor--list{min-height:var(--size-control-md)}.crewlet-sheet-editor__input:focus-visible,.crewlet-sheet-editor__filter:focus-visible,.crewlet-sheet-editor__textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-sheet-editor__panel{position:absolute;top:100%;inset-inline-start:0;z-index:var(--z-index-presence);display:flex;flex-direction:column;gap:var(--spacing-2);box-sizing:border-box;min-width:100%;width:max-content;max-width:min(24rem,90vw);padding:var(--spacing-2);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-surface-elevated);box-shadow:var(--shadow-lg)}.crewlet-sheet-editor--above .crewlet-sheet-editor__panel{top:auto;bottom:100%}.crewlet-sheet-editor--list .crewlet-sheet-editor__panel{top:0;min-width:max(100%,14rem)}.crewlet-sheet-editor--list.crewlet-sheet-editor--above .crewlet-sheet-editor__panel{top:auto;bottom:0}.crewlet-sheet-editor__overlay{--crewlet-sheet-editor-inset: calc(var(--spacing-2) - 1px);position:absolute;top:0;inset-inline-start:0;z-index:var(--z-index-presence);display:flex;flex-direction:column;gap:var(--spacing-2);box-sizing:border-box;min-width:100%;width:max(100%,20rem);max-width:min(32rem,90vw);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-surface-elevated);box-shadow:var(--shadow-xl)}.crewlet-sheet-editor--above .crewlet-sheet-editor__overlay{top:auto;bottom:0}.crewlet-sheet-editor__overlay>.crewlet-sheet-editor__error,.crewlet-sheet-editor__overlay>.crewlet-sheet-editor__conflict{margin:0 var(--crewlet-sheet-editor-inset) var(--spacing-2)}.crewlet-sheet-cell .crewlet-sheet-editor__overlay{--crewlet-sheet-editor-inset: var(--spacing-2);position:relative;width:100%;max-width:none}.crewlet-sheet-editor__filter,.crewlet-sheet-editor__textarea{box-sizing:border-box;width:100%;padding:var(--spacing-1) var(--spacing-2);border:1px solid var(--color-border-control);border-radius:var(--radius-sm);background:var(--color-surface-background);color:var(--color-text-primary);font:inherit}.crewlet-sheet-editor__overlay .crewlet-sheet-editor__textarea{--crewlet-sheet-editor-row: var(--crewlet-sheet-row-height, var(--size-sheet-row));--crewlet-sheet-editor-line: calc(var(--font-line-height-normal) * 1em);--crewlet-sheet-editor-pad: calc((var(--crewlet-sheet-editor-row) - var(--crewlet-sheet-editor-line)) / 2 - 1px);display:block;min-height:calc(var(--crewlet-sheet-editor-line) + 2 * var(--crewlet-sheet-editor-pad));max-height:calc(var(--crewlet-sheet-editor-lines, 6) * var(--crewlet-sheet-editor-line) + 2 * var(--crewlet-sheet-editor-pad));padding:calc(var(--crewlet-sheet-editor-pad) - .5px) var(--crewlet-sheet-editor-inset) calc(var(--crewlet-sheet-editor-pad) + .5px);overflow-y:auto;border:0;border-radius:var(--radius-md);background:transparent;line-height:var(--font-line-height-normal);white-space:pre-wrap;overflow-wrap:anywhere;resize:none}.crewlet-sheet-cell .crewlet-sheet-editor__overlay .crewlet-sheet-editor__textarea{--crewlet-sheet-editor-row: var(--size-control-md);padding:var(--crewlet-sheet-editor-pad) var(--crewlet-sheet-editor-inset)}.crewlet-sheet-editor__list{display:flex;flex-direction:column;max-height:16rem;margin:0;padding:0;overflow-y:auto;list-style:none}.crewlet-sheet-editor__option{display:flex;align-items:center;gap:var(--spacing-2);min-height:var(--size-row-sm);padding:0 var(--spacing-2);border-radius:var(--radius-sm);cursor:pointer}.crewlet-sheet-editor__option--clear{margin-top:var(--spacing-1);border-top:1px solid var(--color-border-default);border-radius:0 0 var(--radius-sm) var(--radius-sm)}.crewlet-sheet-editor__list:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-sheet-editor__option--highlight{background:var(--color-surface-hover)}.crewlet-sheet-editor__mark{display:inline-flex;flex:none;width:var(--spacing-3);color:var(--color-brand-accent-ink)}.crewlet-sheet-editor__empty{padding:var(--spacing-2);color:var(--color-text-tertiary)}.crewlet-sheet-editor__error{display:flex;align-items:center;gap:var(--spacing-1);margin:0;color:var(--color-feedback-danger-ink);font-size:var(--font-size-xs)}.crewlet-sheet-editor__conflict{display:flex;flex-direction:column;gap:var(--spacing-2);padding-top:var(--spacing-2);border-top:1px solid var(--color-border-default)}.crewlet-sheet-editor__conflict:first-child{padding-top:0;border-top:0}.crewlet-sheet-editor__conflict-text{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-xs)}.crewlet-sheet-editor__conflict-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}@media(width>=640px){.crewlet-sheet-editor.crewlet-sheet-editor--list .crewlet-sheet-editor__panel{position:fixed;top:var(--crewlet-sheet-editor-top, 0);bottom:auto;left:var(--crewlet-sheet-editor-left, 0);z-index:var(--z-index-popover);min-width:max(var(--crewlet-sheet-editor-cell, 0px),14rem);max-height:var(--crewlet-sheet-editor-room, none)}.crewlet-sheet-editor.crewlet-sheet-editor--list .crewlet-sheet-editor__list{flex:0 1 auto;min-height:0}}@media(width<640px){.crewlet-sheet-grid .crewlet-sheet-editor--list .crewlet-sheet-editor__panel,.crewlet-sheet-grid .crewlet-sheet-editor--long .crewlet-sheet-editor__overlay{position:fixed;inset:auto 0 0;width:auto;max-width:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.crewlet-sheet-grid .crewlet-sheet-editor--long .crewlet-sheet-editor__overlay{--crewlet-sheet-editor-inset: var(--spacing-2)}.crewlet-sheet-grid .crewlet-sheet-editor--long .crewlet-sheet-editor__textarea{--crewlet-sheet-editor-pad: var(--spacing-2);padding:var(--crewlet-sheet-editor-pad) var(--crewlet-sheet-editor-inset)}}@media(forced-colors:active){.crewlet-sheet-grid__grid:is(:focus-within,.crewlet-sheet-grid__grid--range) .crewlet-sheet-grid__cell--selected{background:Highlight;color:HighlightText}.crewlet-sheet-grid__grid:is(:focus-within,.crewlet-sheet-grid__grid--range) .crewlet-sheet-grid__rownum--selected{background:Canvas;color:Highlight}.crewlet-sheet-grid__rownum--present:before{background:Highlight}}
package/dist/kit.js CHANGED
@@ -9,4 +9,4 @@ Error generating stack: `+n.message+`
9
9
  `).replace(Wx,"")}function E2(e,t){return t=Mg(t),Mg(e)===t}function xe(e,t,a,n,l,r){switch(a){case"children":if(typeof n=="string")t==="body"||t==="textarea"&&n===""||qr(e,n);else if(typeof n=="number"||typeof n=="bigint")t!=="body"&&qr(e,""+n);else return;break;case"className":vs(e,"class",n);break;case"tabIndex":vs(e,"tabindex",n);break;case"dir":case"role":case"viewBox":case"width":case"height":vs(e,a,n);break;case"style":xm(e,n,r);return;case"data":if(t!=="object"){vs(e,"data",n);break}case"src":case"href":if(n===""&&(t!=="a"||a!=="href")){e.removeAttribute(a);break}if(n==null||typeof n=="function"||typeof n=="symbol"||typeof n=="boolean"){e.removeAttribute(a);break}n=Gs(n),e.setAttribute(a,n);break;case"action":case"formAction":if(typeof n=="function"){e.setAttribute(a,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof r=="function"&&(a==="formAction"?(t!=="input"&&xe(e,t,"name",l.name,l,null),xe(e,t,"formEncType",l.formEncType,l,null),xe(e,t,"formMethod",l.formMethod,l,null),xe(e,t,"formTarget",l.formTarget,l,null)):(xe(e,t,"encType",l.encType,l,null),xe(e,t,"method",l.method,l,null),xe(e,t,"target",l.target,l,null)));if(n==null||typeof n=="symbol"||typeof n=="boolean"){e.removeAttribute(a);break}n=Gs(n),e.setAttribute(a,n);break;case"onClick":n!=null&&(e.onclick=Wa);return;case"onScroll":n!=null&&ne("scroll",e);return;case"onScrollEnd":n!=null&&ne("scrollend",e);return;case"dangerouslySetInnerHTML":if(n!=null){if(typeof n!="object"||!("__html"in n))throw Error(E(61));if(a=n.__html,a!=null){if(l.children!=null)throw Error(E(60));r?.__html!==a&&(e.innerHTML=a)}}break;case"multiple":e.multiple=n&&typeof n!="function"&&typeof n!="symbol";break;case"muted":e.muted=n&&typeof n!="function"&&typeof n!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(n==null||typeof n=="function"||typeof n=="boolean"||typeof n=="symbol"){e.removeAttribute("xlink:href");break}a=Gs(n),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",a);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":n!=null&&typeof n!="function"&&typeof n!="symbol"?e.setAttribute(a,n):e.removeAttribute(a);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"credentialless":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":n&&typeof n!="function"&&typeof n!="symbol"?e.setAttribute(a,""):e.removeAttribute(a);break;case"capture":case"download":n===!0?e.setAttribute(a,""):n!==!1&&n!=null&&typeof n!="function"&&typeof n!="symbol"?e.setAttribute(a,n):e.removeAttribute(a);break;case"cols":case"rows":case"size":case"span":n!=null&&typeof n!="function"&&typeof n!="symbol"&&!isNaN(n)&&1<=n?e.setAttribute(a,n):e.removeAttribute(a);break;case"rowSpan":case"start":n==null||typeof n=="function"||typeof n=="symbol"||isNaN(n)?e.removeAttribute(a):e.setAttribute(a,n);break;case"popover":ne("beforetoggle",e),ne("toggle",e),Hs(e,"popover",n);break;case"xlinkActuate":gn(e,"http://www.w3.org/1999/xlink","xlink:actuate",n);break;case"xlinkArcrole":gn(e,"http://www.w3.org/1999/xlink","xlink:arcrole",n);break;case"xlinkRole":gn(e,"http://www.w3.org/1999/xlink","xlink:role",n);break;case"xlinkShow":gn(e,"http://www.w3.org/1999/xlink","xlink:show",n);break;case"xlinkTitle":gn(e,"http://www.w3.org/1999/xlink","xlink:title",n);break;case"xlinkType":gn(e,"http://www.w3.org/1999/xlink","xlink:type",n);break;case"xmlBase":gn(e,"http://www.w3.org/XML/1998/namespace","xml:base",n);break;case"xmlLang":gn(e,"http://www.w3.org/XML/1998/namespace","xml:lang",n);break;case"xmlSpace":gn(e,"http://www.w3.org/XML/1998/namespace","xml:space",n);break;case"is":Hs(e,"is",n);break;case"innerText":case"textContent":return;default:if(!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")a=b4.get(a)||a,Hs(e,a,n);else return}de=!0}function Th(e,t,a,n,l,r){switch(a){case"style":xm(e,n,r);return;case"dangerouslySetInnerHTML":if(n!=null){if(typeof n!="object"||!("__html"in n))throw Error(E(61));if(a=n.__html,a!=null){if(l.children!=null)throw Error(E(60));r?.__html!==a&&(e.innerHTML=a)}}break;case"children":if(typeof n=="string")qr(e,n);else if(typeof n=="number"||typeof n=="bigint")qr(e,""+n);else return;break;case"onScroll":n!=null&&ne("scroll",e);return;case"onScrollEnd":n!=null&&ne("scrollend",e);return;case"onClick":n!=null&&(e.onclick=Wa);return;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":return;case"innerText":case"textContent":return;default:if(!gm.hasOwnProperty(a))e:{if(a[0]==="o"&&a[1]==="n"&&(l=a.endsWith("Capture"),r=a.slice(2,l?a.length-7:void 0),t=e[aa]||null,t=t!=null?t[a]:null,typeof t=="function"&&e.removeEventListener(r,t,l),typeof n=="function")){typeof t!="function"&&t!==null&&(a in e?e[a]=null:e.hasAttribute(a)&&e.removeAttribute(a)),e.addEventListener(r,n,l);break e}de=!0,a in e?e[a]=n:n===!0?e.setAttribute(a,""):Hs(e,a,n)}return}de=!0}function Rt(e,t,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":ne("error",e),ne("load",e);var n=!1,l=!1,r;for(r in a)if(a.hasOwnProperty(r)){var i=a[r];if(i!=null)switch(r){case"src":n=!0;break;case"srcSet":l=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(E(137,t));default:xe(e,t,r,i,a,null)}}l&&xe(e,t,"srcSet",a.srcSet,a,null),n&&xe(e,t,"src",a.src,a,null);return;case"input":ne("invalid",e);var o=r=i=l=null,s=null,c=null;for(n in a)if(a.hasOwnProperty(n)){var f=a[n];if(f!=null)switch(n){case"name":l=f;break;case"type":i=f;break;case"checked":s=f;break;case"defaultChecked":c=f;break;case"value":r=f;break;case"defaultValue":o=f;break;case"children":case"dangerouslySetInnerHTML":if(f!=null)throw Error(E(137,t));break;default:xe(e,t,n,f,a,null)}}wm(e,r,o,s,c,i,l,!1);return;case"select":ne("invalid",e),n=i=r=null;for(l in a)if(a.hasOwnProperty(l)&&(o=a[l],o!=null))switch(l){case"value":r=o;break;case"defaultValue":i=o;break;case"multiple":n=o;default:xe(e,t,l,o,a,null)}t=r,a=i,e.multiple=!!n,t!=null?Or(e,!!n,t,!1):a!=null&&Or(e,!!n,a,!0);return;case"textarea":ne("invalid",e),r=l=n=null;for(i in a)if(a.hasOwnProperty(i)&&(o=a[i],o!=null))switch(i){case"value":n=o;break;case"defaultValue":l=o;break;case"children":r=o;break;case"dangerouslySetInnerHTML":if(o!=null)throw Error(E(91));break;default:xe(e,t,i,o,a,null)}ym(e,n,l,r);return;case"option":for(s in a)a.hasOwnProperty(s)&&(n=a[s],n!=null)&&(s==="selected"?e.selected=n&&typeof n!="function"&&typeof n!="symbol":xe(e,t,s,n,a,null));return;case"dialog":ne("beforetoggle",e),ne("toggle",e),ne("cancel",e),ne("close",e);break;case"iframe":case"object":ne("load",e);break;case"video":case"audio":for(n=0;n<po.length;n++)ne(po[n],e);break;case"image":ne("error",e),ne("load",e);break;case"details":ne("toggle",e);break;case"embed":case"source":case"link":ne("error",e),ne("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(c in a)if(a.hasOwnProperty(c)&&(n=a[c],n!=null))switch(c){case"children":case"dangerouslySetInnerHTML":throw Error(E(137,t));default:xe(e,t,c,n,a,null)}return;default:if(Bh(t)){for(f in a)a.hasOwnProperty(f)&&(n=a[f],n!==void 0&&Th(e,t,f,n,a,void 0));return}}for(o in a)a.hasOwnProperty(o)&&(n=a[o],n!=null&&xe(e,t,o,n,a,null))}var Px={};function e3(e,t,a,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var l=null,r=null,i=null,o=null,s=null,c=null,f=null;for(m in a){var v=a[m];if(a.hasOwnProperty(m)&&v!=null)switch(m){case"checked":break;case"value":break;case"defaultValue":s=v;default:n.hasOwnProperty(m)||xe(e,t,m,null,n,v)}}for(var u in n){var m=n[u];if(v=a[u],n.hasOwnProperty(u)&&(m!=null||v!=null))switch(u){case"type":m!==v&&(de=!0),r=m;break;case"name":m!==v&&(de=!0),l=m;break;case"checked":m!==v&&(de=!0),c=m;break;case"defaultChecked":m!==v&&(de=!0),f=m;break;case"value":m!==v&&(de=!0),i=m;break;case"defaultValue":m!==v&&(de=!0),o=m;break;case"children":case"dangerouslySetInnerHTML":if(m!=null)throw Error(E(137,t));break;default:m!==v&&xe(e,t,u,m,n,v)}}Gd(e,i,o,s,c,f,r,l);return;case"select":m=i=o=u=null;for(r in a)if(s=a[r],a.hasOwnProperty(r)&&s!=null)switch(r){case"value":break;case"multiple":m=s;default:n.hasOwnProperty(r)||xe(e,t,r,null,n,s)}for(l in n)if(r=n[l],s=a[l],n.hasOwnProperty(l)&&(r!=null||s!=null))switch(l){case"value":r!==s&&(de=!0),u=r;break;case"defaultValue":r!==s&&(de=!0),o=r;break;case"multiple":r!==s&&(de=!0),i=r;default:r!==s&&xe(e,t,l,r,n,s)}t=o,a=i,n=m,u!=null?Or(e,!!a,u,!1):!!n!=!!a&&(t!=null?Or(e,!!a,t,!0):Or(e,!!a,a?[]:"",!1));return;case"textarea":m=u=null;for(o in a)if(l=a[o],a.hasOwnProperty(o)&&l!=null&&!n.hasOwnProperty(o))switch(o){case"value":break;case"children":break;default:xe(e,t,o,null,n,l)}for(i in n)if(l=n[i],r=a[i],n.hasOwnProperty(i)&&(l!=null||r!=null))switch(i){case"value":l!==r&&(de=!0),u=l;break;case"defaultValue":l!==r&&(de=!0),m=l;break;case"children":break;case"dangerouslySetInnerHTML":if(l!=null)throw Error(E(91));break;default:l!==r&&xe(e,t,i,l,n,r)}bm(e,u,m);return;case"option":for(var b in a)u=a[b],a.hasOwnProperty(b)&&u!=null&&!n.hasOwnProperty(b)&&(b==="selected"?e.selected=!1:xe(e,t,b,null,n,u));for(s in n)u=n[s],m=a[s],n.hasOwnProperty(s)&&u!==m&&(u!=null||m!=null)&&(s==="selected"?(u!==m&&(de=!0),e.selected=u&&typeof u!="function"&&typeof u!="symbol"):xe(e,t,s,u,n,m));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var x in a)u=a[x],a.hasOwnProperty(x)&&u!=null&&!n.hasOwnProperty(x)&&xe(e,t,x,null,n,u);for(c in n)if(u=n[c],m=a[c],n.hasOwnProperty(c)&&u!==m&&(u!=null||m!=null))switch(c){case"children":case"dangerouslySetInnerHTML":if(u!=null)throw Error(E(137,t));break;default:xe(e,t,c,u,n,m)}return;default:if(Bh(t)){for(var M in a)u=a[M],a.hasOwnProperty(M)&&u!==void 0&&!n.hasOwnProperty(M)&&Th(e,t,M,void 0,n,u);for(f in n)u=n[f],m=a[f],!n.hasOwnProperty(f)||u===m||u===void 0&&m===void 0||Th(e,t,f,u,n,m);return}}for(var d in a)u=a[d],a.hasOwnProperty(d)&&u!=null&&!n.hasOwnProperty(d)&&xe(e,t,d,null,n,u);for(v in n)u=n[v],m=a[v],!n.hasOwnProperty(v)||u===m||u==null&&m==null||xe(e,t,v,u,n,m)}function Ag(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function t3(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,a=performance.getEntriesByType("resource"),n=0;n<a.length;n++){var l=a[n],r=l.transferSize,i=l.initiatorType,o=l.duration;if(r&&o&&Ag(i)){for(i=0,o=l.responseEnd,n+=1;n<a.length;n++){var s=a[n],c=s.startTime;if(c>o)break;var f=s.transferSize,v=s.initiatorType;f&&Ag(v)&&(s=s.responseEnd,i+=f*(s<o?1:(o-c)/(s-c)))}if(--n,t+=8*(r+i)/(l.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var Eh=null,Sh=null;function mo(e){return e.nodeType===9?e:e.ownerDocument}function Ng(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function S2(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function M2(e,t,a,n){return a=mo(a).createElement(e),a[Ot]=n,a[aa]=t,Rt(a,e,t),_t(a),a}function Mh(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var yd=null;function a3(){var e=window.event;return e&&e.type==="popstate"?e===yd?!1:(yd=e,!0):(yd=null,!1)}var Mf=typeof setTimeout=="function"?setTimeout:void 0,n3=typeof clearTimeout=="function"?clearTimeout:void 0,Og=typeof Promise=="function"?Promise:void 0,zg=typeof requestAnimationFrame=="function"?requestAnimationFrame:Mf,l3=typeof queueMicrotask=="function"?queueMicrotask:typeof Og<"u"?function(e){return Og.resolve(null).then(e).catch(r3)}:Mf;function r3(e){setTimeout(function(){throw e})}function pl(e){return e==="head"}function Cg(e,t){var a=t,n=0;do{var l=a.nextSibling;if(e.removeChild(a),l&&l.nodeType===8)if(a=l.data,a==="/$"||a==="/&"){if(n===0){e.removeChild(l),Fr(t);return}n--}else if(a==="$"||a==="$?"||a==="$~"||a==="$!"||a==="&")n++;else if(a==="html")_d(e.ownerDocument.documentElement);else if(a==="head"){a=e.ownerDocument.head,_d(a);for(var r=a.firstChild;r;){var i=r.nextSibling,o=r.nodeName;r[So]||o==="SCRIPT"||o==="STYLE"||o==="LINK"&&r.rel.toLowerCase()==="stylesheet"||a.removeChild(r),r=i}}else a==="body"&&_d(e.ownerDocument.body);a=l}while(a);Fr(t)}function kg(e,t){var a=e;e=0;do{var n=a.nextSibling;if(a.nodeType===1?t?(a._stashedDisplay=a.style.display,a.style.display="none"):(a.style.display=a._stashedDisplay||"",a.getAttribute("style")===""&&a.removeAttribute("style")):a.nodeType===3&&(t?(a._stashedText=a.nodeValue,a.nodeValue=""):a.nodeValue=a._stashedText||""),n&&n.nodeType===8)if(a=n.data,a==="/$"){if(e===0)break;e--}else a!=="$"&&a!=="$?"&&a!=="$~"&&a!=="$!"||e++;a=n}while(a)}function A2(e,t,a){if(t=CSS.escape(t)!==t?"r-"+btoa(t).replace(/=/g,""):t,e.style.viewTransitionName=t,a!=null&&(e.style.viewTransitionClass=a),a=getComputedStyle(e),a.display==="inline"){if(t=e.getClientRects(),t.length===1)var n=1;else for(var l=n=0;l<t.length;l++){var r=t[l];0<r.width&&0<r.height&&n++}n===1&&(e=e.style,e.display=t.length===1?"inline-block":"block",e.marginTop="-"+a.paddingTop,e.marginBottom="-"+a.paddingBottom)}}function N2(e,t){e=e.style,t=t.style;var a=t!=null?t.hasOwnProperty("viewTransitionName")?t.viewTransitionName:t.hasOwnProperty("view-transition-name")?t["view-transition-name"]:null:null;e.viewTransitionName=a==null||typeof a=="boolean"?"":(""+a).trim(),a=t!=null?t.hasOwnProperty("viewTransitionClass")?t.viewTransitionClass:t.hasOwnProperty("view-transition-class")?t["view-transition-class"]:null:null,e.viewTransitionClass=a==null||typeof a=="boolean"?"":(""+a).trim(),e.display==="inline-block"&&(t==null?e.display=e.margin="":(a=t.display,e.display=a==null||typeof a=="boolean"?"":a,a=t.margin,a!=null?e.margin=a:(a=t.hasOwnProperty("marginTop")?t.marginTop:t["margin-top"],e.marginTop=a==null||typeof a=="boolean"?"":a,t=t.hasOwnProperty("marginBottom")?t.marginBottom:t["margin-bottom"],e.marginBottom=t==null||typeof t=="boolean"?"":t)))}function O2(e,t,a){return a=a.ownerDocument.defaultView,{rect:e,abs:t.position==="absolute"||t.position==="fixed",clip:t.clipPath!=="none"||t.overflow!=="visible"||t.filter!=="none"||t.mask!=="none"||t.mask!=="none"||t.borderRadius!=="0px",view:0<=e.bottom&&0<=e.right&&e.top<=a.innerHeight&&e.left<=a.innerWidth}}function Ah(e){var t=e.getBoundingClientRect(),a=getComputedStyle(e);return O2(t,a,e)}function i3(e){var t=e.getBoundingClientRect();t=new DOMRect(t.x+2e4,t.y+2e4,t.width,t.height);var a=getComputedStyle(e);return O2(t,a,e)}function o3(e){return e.documentElement.clientHeight}function s3(e){this.addEventListener("load",e),this.addEventListener("error",e)}function c3(e,t,a,n,l,r,i,o,s){var c=t.nodeType===9?t:t.ownerDocument;try{var f=c.startViewTransition({update:function(){var u=c.defaultView,m=u.navigation&&u.navigation.transition,b=c.fonts.status;n();var x=[];if(b==="loaded"&&(o3(c),c.fonts.status==="loading"&&x.push(c.fonts.ready)),b=x.length,e!==null)for(var M=e.suspenseyImages,d=0,h=0;h<M.length;h++){var g=M[h];if(!g.complete){var w=g.getBoundingClientRect();if(0<w.bottom&&0<w.right&&w.top<u.innerHeight&&w.left<u.innerWidth){if(d+=V2(g),d>Fs){x.length=b;break}g=new Promise(s3.bind(g)),x.push(g)}}}if(0<x.length)return u=Promise.race([Promise.all(x),new Promise(function(_){return setTimeout(_,500)})]).then(l,l),(m?Promise.allSettled([m.finished,u]):u).then(r,r);if(l(),m)return m.finished.then(r,r);r()},types:a});c.__reactViewTransition=f;var v=[];return f.ready.then(function(){for(var u=c.documentElement.getAnimations({subtree:!0}),m=0;m<u.length;m++){var b=u[m],x=b.effect,M=x.pseudoElement;if(M!=null&&M.startsWith("::view-transition")){v.push(b),b=x.getKeyframes();for(var d=M=void 0,h=!0,g=0;g<b.length;g++){var w=b[g],_=w.width;if(M===void 0)M=_;else if(M!==_){h=!1;break}if(_=w.height,d===void 0)d=_;else if(d!==_){h=!1;break}delete w.width,delete w.height,w.transform==="none"&&delete w.transform}h&&M!==void 0&&d!==void 0&&(x.setKeyframes(b),h=getComputedStyle(x.target,x.pseudoElement),h.width!==M||h.height!==d)&&(h=b[0],h.width=M,h.height=d,h=b[b.length-1],h.width=M,h.height=d,x.setKeyframes(b))}}i()},function(u){c.__reactViewTransition===f&&(c.__reactViewTransition=null);try{typeof u=="object"&&u!==null&&u.name==="InvalidStateError"&&(u.message==="View transition was skipped because document visibility state is hidden."||u.message==="Skipping view transition because document visibility state has become hidden."||u.message==="Skipping view transition because viewport size changed."||u.message==="Transition was aborted because of invalid state")&&(u=null),u!==null&&s(u)}finally{n(),l(),i()}}),f.finished.finally(function(){for(var u=0;u<v.length;u++)v[u].cancel();c.__reactViewTransition===f&&(c.__reactViewTransition=null),o()}),f}catch{return n(),l(),i(),null}}function Cl(e,t){this._scope=document.documentElement,this._selector="::view-transition-"+e+"("+t+")"}Cl.prototype.animate=function(e,t){return t=typeof t=="number"?{duration:t}:Ge({},t),t.pseudoElement=this._selector,this._scope.animate(e,t)};Cl.prototype.getAnimations=function(){for(var e=this._scope,t=this._selector,a=e.getAnimations({subtree:!0}),n=[],l=0;l<a.length;l++){var r=a[l].effect;r!==null&&r.target===e&&r.pseudoElement===t&&n.push(a[l])}return n};Cl.prototype.getComputedStyle=function(){return getComputedStyle(this._scope,this._selector)};function z2(e){return{name:e,group:new Cl("group",e),imagePair:new Cl("image-pair",e),old:new Cl("old",e),new:new Cl("new",e)}}function pa(e){this._fragmentFiber=e,this._observers=this._eventListeners=null}pa.prototype.addEventListener=function(e,t,a){var n=null,l=null;if(!(a!=null&&typeof a!="boolean"&&(n=a.signal||null,n!==null&&n.aborted))){this._eventListeners===null&&(this._eventListeners=[]);var r=this._eventListeners;if(C2(r,e,t,a)===-1){var i=this,o=t;a!=null&&typeof a!="boolean"&&a.once===!0&&(o=function(s){i.removeEventListener(e,t,a),typeof t=="function"?t.call(this,s):t.handleEvent(s)}),n!==null&&(l=i.removeEventListener.bind(i,e,t,a),n.addEventListener("abort",l,{once:!0}),l=n.removeEventListener.bind(n,"abort",l)),n=Xr(a),r.push({type:e,listener:t,optionsOrUseCapture:a,attachedListener:o,cleanup:l}),ta(this._fragmentFiber.child,!1,u3,e,o,n)}this._eventListeners=r}};function u3(e,t,a,n){return pt(e).addEventListener(t,a,n),!1}pa.prototype.removeEventListener=function(e,t,a){var n=this._eventListeners;if(n!==null&&(t=C2(n,e,t,a),t!==-1)){var l=n[t];a=l.attachedListener;var r=l.cleanup;l=Xr(l.optionsOrUseCapture),ta(this._fragmentFiber.child,!1,d3,e,a,l),n.splice(t,1),r!==null&&r()}};function d3(e,t,a,n){return pt(e).removeEventListener(t,a,n),!1}function Xr(e){return e!=null&&typeof e!="boolean"&&(e.once===!0||e.signal instanceof AbortSignal)?{capture:e.capture,passive:e.passive}:e}function Rg(e){return e==null?"c=0":typeof e=="boolean"?"c="+(e?"1":"0"):"c="+(e.capture?"1":"0")}function C2(e,t,a,n){if(e.length===0)return-1;n=Rg(n);for(var l=0;l<e.length;l++){var r=e[l];if(r.type===t&&r.listener===a&&Rg(r.optionsOrUseCapture)===n)return l}return-1}pa.prototype.dispatchEvent=function(e){var t=Kl(this._fragmentFiber);if(t===null)return!0;t=pt(t);var a=this._eventListeners;if(a!==null&&0<a.length||!e.bubbles){var n=t.nodeType===9?t.createComment(""):document.createTextNode("");if(a)for(var l=0;l<a.length;l++){var r=a[l];n.addEventListener(r.type,r.attachedListener,Xr(r.optionsOrUseCapture))}if(t.appendChild(n),e=n.dispatchEvent(e),a)for(l=0;l<a.length;l++)r=a[l],n.removeEventListener(r.type,r.attachedListener,Xr(r.optionsOrUseCapture));return t.removeChild(n),e}return t.dispatchEvent(e)};pa.prototype.focus=function(e){ta(this._fragmentFiber.child,!0,k2,e,void 0,void 0)};function k2(e,t){return e.tag===6?!1:(e=pt(e),T3(e,t))}pa.prototype.focusLast=function(e){var t=[];ta(this._fragmentFiber.child,!0,Af,t,void 0,void 0);for(var a=t.length-1;0<=a&&!k2(t[a],e);a--);};function Af(e,t){return t.push(e),!1}pa.prototype.blur=function(){var e=Kl(this._fragmentFiber);e!==null&&(e=pt(e),e=mo(e).activeElement,e!==null&&ta(this._fragmentFiber.child,!1,h3,e,void 0,void 0))};function h3(e,t){return e.tag===6?!1:(e=pt(e),e===t||e.contains(t)?(t.blur(),!0):!1)}pa.prototype.observeUsing=function(e){this._observers===null&&(this._observers=new Set),this._observers.add(e),ta(this._fragmentFiber.child,!1,f3,e,void 0,void 0)};function f3(e,t){return e.tag===6||(e=pt(e),t.observe(e)),!1}pa.prototype.unobserveUsing=function(e){var t=this._observers;if(t!==null&&t.has(e)){t.delete(e),ta(this._fragmentFiber.child,!1,p3,e,void 0,void 0);for(var a=t=0;a<Ra.length;a++){var n=Ra[a];n.fragmentInstance===this&&n.observer===e?e.unobserve(n.instance):Ra[t++]=n}Ra.length=t}};function p3(e,t){return e.tag===6||(e=pt(e),t.unobserve(e)),!1}var Ra=[],xd=!1;function g3(e,t,a){Ra.push({fragmentInstance:e,observer:t,instance:a}),xd||(xd=!0,E3(function(){xd=!1;var n=Ra;Ra=[];for(var l=0;l<n.length;l++){var r=n[l];r.observer.unobserve(r.instance)}}))}pa.prototype.getClientRects=function(){var e=[];return ta(this._fragmentFiber.child,!1,m3,e,void 0,void 0),e};function m3(e,t){if(e.tag===6){e=e.stateNode;var a=e.ownerDocument.createRange();a.selectNodeContents(e),t.push.apply(t,a.getClientRects())}else e=pt(e),t.push.apply(t,e.getClientRects());return!1}pa.prototype.getRootNode=function(e){var t=Kl(this._fragmentFiber);return t===null?this:pt(t).getRootNode(e)};pa.prototype.compareDocumentPosition=function(e){var t=Kl(this._fragmentFiber);if(t===null)return Node.DOCUMENT_POSITION_DISCONNECTED;var a=[];ta(this._fragmentFiber.child,!1,Af,a,void 0,void 0);var n=pt(t);if(a.length===0){if(a=n,h1(this._fragmentFiber)){e:{for(t=this._fragmentFiber.return;t!==null;){if(t.tag===4){t=t.stateNode.containerInfo;break e}if(t.tag===3||t.tag===5||t.tag===27)break;t=t.return}t=null}t!=null&&(a=t)}t=this._fragmentFiber;var l=n=a.compareDocumentPosition(e);return a===e?l=Node.DOCUMENT_POSITION_CONTAINS:n&Node.DOCUMENT_POSITION_CONTAINED_BY&&(a=em(t)[1],a===null?l=Node.DOCUMENT_POSITION_PRECEDING:(e=pt(a).compareDocumentPosition(e),l=e===0||e&Node.DOCUMENT_POSITION_FOLLOWING?Node.DOCUMENT_POSITION_FOLLOWING:Node.DOCUMENT_POSITION_PRECEDING)),l|=Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC}t=pt(a[0]),l=pt(a[a.length-1]);var r=h1(this._fragmentFiber)?t.parentElement:n;if(r==null)return Node.DOCUMENT_POSITION_DISCONNECTED;n=r.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY,r=r.compareDocumentPosition(l)&Node.DOCUMENT_POSITION_CONTAINED_BY;var i=t.compareDocumentPosition(e),o=l.compareDocumentPosition(e),s=i&Node.DOCUMENT_POSITION_CONTAINED_BY||o&Node.DOCUMENT_POSITION_CONTAINED_BY;return o=n&&r&&i&Node.DOCUMENT_POSITION_FOLLOWING&&o&Node.DOCUMENT_POSITION_PRECEDING,t=n&&t===e||r&&l===e||s||o?Node.DOCUMENT_POSITION_CONTAINED_BY:!n&&t===e||!r&&l===e?Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC:i,t&Node.DOCUMENT_POSITION_DISCONNECTED||t&Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC||v3(t,this._fragmentFiber,a[0],a[a.length-1],e)?t:Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC};function v3(e,t,a,n,l){var r=zl(l);if(e&Node.DOCUMENT_POSITION_CONTAINED_BY){if(a=!!r)e:{for(;r!==null;){if(r.tag===7&&(r===t||r.alternate===t)){a=!0;break e}r=r.return}a=!1}return a}if(e&Node.DOCUMENT_POSITION_CONTAINS){if(r===null)return r=l.ownerDocument,l===r||l===r.documentElement||l===r.body;e:{for(r=t,t=Kl(t);r!==null;){if(!(r.tag!==5&&r.tag!==3&&r.tag!==27||r!==t&&r.alternate!==t)){r=!0;break e}r=r.return}r=!1}return r}return e&Node.DOCUMENT_POSITION_PRECEDING?((t=!!r)&&!(t=r===a)&&(t=Ed(a,r,f1),t===null?t=!1:(ta(t,!0,Qy,r,a),r=mr,mr=null,t=r!==null)),t):e&Node.DOCUMENT_POSITION_FOLLOWING?((t=!!r)&&!(t=r===n)&&(t=Ed(n,r,f1),t===null?t=!1:(ta(t,!0,Zy,r,n),r=mr,Td=mr=null,t=r!==null)),t):!1}function Hg(e,t){var a=e.ownerDocument.createRange();a.selectNodeContents(e),e=a.getBoundingClientRect(),window.scrollTo(window.scrollX+e.left,t?window.scrollY+e.top:window.scrollY+e.bottom-window.innerHeight)}pa.prototype.scrollIntoView=function(e){if(typeof e=="object")throw Error(E(566));var t=[];ta(this._fragmentFiber.child,!1,Af,t,void 0,void 0);var a=e!==!1;if(t.length===0){var n=em(this._fragmentFiber);if(n=a?n[1]||n[0]||Kl(this._fragmentFiber):n[0]||n[1],n===null)return;if(n.tag===6){e=pt(n),Hg(e,a);return}if(n=pt(n),n.nodeType!==9){if(n.nodeType===11){a="host"in n?n.host:null,a!==null&&a.scrollIntoView(e);return}n.scrollIntoView(e)}}for(n=a?t.length-1:0;n!==(a?-1:t.length);){var l=t[n];l.tag===6?(l=pt(l),Hg(l,a)):pt(l).scrollIntoView(e),n+=a?-1:1}};function w3(e,t){return e=pt(e),R2(e,t),!1}function R2(e,t){e.reactFragments==null&&(e.reactFragments=new Set),e.reactFragments.add(t)}function H2(e,t){var a=t._eventListeners;if(a!==null)for(var n=0;n<a.length;n++){var l=a[n];e.addEventListener(l.type,l.attachedListener,Xr(l.optionsOrUseCapture))}e.nodeType!==3&&(a=t._observers,a!==null&&a.forEach(function(r){for(var i=0,o=0;o<Ra.length;o++){var s=Ra[o];(s.fragmentInstance!==t||s.observer!==r||s.instance!==e)&&(Ra[i++]=s)}Ra.length=i,r.observe(e)}),R2(e,t))}function b3(e,t){var a=t._eventListeners;if(a!==null)for(var n=0;n<a.length;n++){var l=a[n];e.removeEventListener(l.type,l.attachedListener,Xr(l.optionsOrUseCapture))}e.nodeType!==3&&(a=t._observers,a!==null&&a.forEach(function(r){typeof r.rootMargin=="string"?g3(t,r,e):r.unobserve(e)}),e.reactFragments!=null&&e.reactFragments.delete(t))}function Nh(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var a=t;switch(t=t.nextSibling,a.nodeName){case"HTML":case"HEAD":case"BODY":Nh(a),Oc(a);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(a.rel.toLowerCase()==="stylesheet")continue}e.removeChild(a)}}function y3(e,t,a,n){for(;e.nodeType===1;){var l=a;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!n&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(n){if(!e[So])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(r=e.getAttribute("rel"),r==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(r!==l.rel||e.getAttribute("href")!==(l.href==null||l.href===""?null:l.href)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin)||e.getAttribute("title")!==(l.title==null?null:l.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(r=e.getAttribute("src"),(r!==(l.src==null?null:l.src)||e.getAttribute("type")!==(l.type==null?null:l.type)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin))&&r&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var r=l.name==null?null:""+l.name;if(l.type==="hidden"&&e.getAttribute("name")===r)return e}else return e;if(e=Ea(e.nextSibling),e===null)break}return null}function x3(e,t,a){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!a||(e=Ea(e.nextSibling),e===null))return null;return e}function G2(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Ea(e.nextSibling),e===null))return null;return e}function Oh(e){return e.data==="$?"||e.data==="$~"}function Nf(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function _3(e,t){var a=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||a.readyState!=="loading")t();else{var n=function(){t(),a.removeEventListener("DOMContentLoaded",n)};a.addEventListener("DOMContentLoaded",n),e._reactRetry=n}}function Ea(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var zh=null;function Gg(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"||a==="/&"){if(t===0)return Ea(e.nextSibling);t--}else a!=="$"&&a!=="$!"&&a!=="$?"&&a!=="$~"&&a!=="&"||t++}e=e.nextSibling}return null}function Dg(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="$"||a==="$!"||a==="$?"||a==="$~"||a==="&"){if(t===0)return e;t--}else a!=="/$"&&a!=="/&"||t++}e=e.previousSibling}return null}function T3(e,t){function a(){n=!0}if(e.ownerDocument.activeElement===e)return!0;var n=!1;try{e.ownerDocument.addEventListener("focus",a,!0),(e.focus||HTMLElement.prototype.focus).call(e,t)}finally{e.ownerDocument.removeEventListener("focus",a,!0)}return n}function E3(e){zg(function(){zg(function(t){return e(t)})})}function D2(e,t,a){switch(t=mo(a),e){case"html":if(e=t.documentElement,!e)throw Error(E(452));return e;case"head":if(e=t.head,!e)throw Error(E(453));return e;case"body":if(e=t.body,!e)throw Error(E(454));return e;default:throw Error(E(451))}}function L2(e,t,a){for(var n in a){var l=a[n];a.hasOwnProperty(n)&&l!=null&&xe(e,t,n,null,Px,l)}a.dangerouslySetInnerHTML!=null&&(e.textContent=""),e.onclick===Wa&&(e.onclick=null),Oc(e)}function _d(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);Oc(e)}var Sa=new Map,Lg=new Set;function vo(e){if(typeof e.getRootNode=="function"){var t=e.getRootNode();if(t.nodeType===9||t.nodeType===11)return t}return e.nodeType===9?e:e.ownerDocument}var On=pe.d;pe.d={f:S3,r:M3,D:A3,C:N3,L:O3,m:z3,X:k3,S:C3,M:R3};function S3(){var e=On.f(),t=Ic();return e||t}function M3(e){var t=Wr(e);t!==null&&t.tag===5&&t.type==="form"?xv(t):On.r(e)}var ai=typeof document>"u"?null:document;function U2(e,t,a){var n=ai;if(n&&typeof t=="string"&&t){var l=xa(t);l='link[rel="'+e+'"][href="'+l+'"]',typeof a=="string"&&(l+='[crossorigin="'+a+'"]'),Lg.has(l)||(Lg.add(l),e={rel:e,crossOrigin:a,href:t},n.querySelector(l)===null&&(t=n.createElement("link"),Rt(t,"link",e),_t(t),n.head.appendChild(t)))}}function A3(e){On.D(e),U2("dns-prefetch",e,null)}function N3(e,t){On.C(e,t),U2("preconnect",e,t)}function O3(e,t,a){On.L(e,t,a);var n=ai;if(n&&e&&t){var l='link[rel="preload"][as="'+xa(t)+'"]';t==="image"&&a&&a.imageSrcSet?(l+='[imagesrcset="'+xa(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(l+='[imagesizes="'+xa(a.imageSizes)+'"]')):l+='[href="'+xa(e)+'"]';var r=l;switch(t){case"style":r=Qr(e);break;case"script":r=ni(e)}if(!(Sa.has(r)||(e=Ge({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),Sa.set(r,e),n.querySelector(l)!==null||t==="style"&&n.querySelector(Co(r))||t==="script"&&n.querySelector(ko(r))))){var i=n.createElement("link");Rt(i,"link",e),t==="style"&&(i[nc]=!0,i.onload=i.onerror=function(){fm(i)}),_t(i),n.head.appendChild(i)}}}function z3(e,t){On.m(e,t);var a=ai;if(a&&e){var n=t&&typeof t.as=="string"?t.as:"script",l='link[rel="modulepreload"][as="'+xa(n)+'"][href="'+xa(e)+'"]',r=l;switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":r=ni(e)}if(!Sa.has(r)&&(e=Ge({rel:"modulepreload",href:e},t),Sa.set(r,e),a.querySelector(l)===null)){switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(ko(r)))return}n=a.createElement("link"),Rt(n,"link",e),_t(n),a.head.appendChild(n)}}}function C3(e,t,a){On.S(e,t,a);var n=ai;if(n&&e){var l=Nr(n).hoistableStyles,r=Qr(e);t=t||"default";var i=l.get(r);if(!i){var o={loading:0,preload:null};if(i=n.querySelector(Co(r)))o.loading=5;else{e=Ge({rel:"stylesheet",href:e,"data-precedence":t},a),(a=Sa.get(r))&&Of(e,a);var s=i=n.createElement("link");_t(s),Rt(s,"link",e),s._p=new Promise(function(c,f){s.onload=c,s.onerror=f}),s.addEventListener("load",function(){o.loading|=1}),s.addEventListener("error",function(){o.loading|=2}),o.loading|=4,Zs(i,t,n)}i={type:"stylesheet",instance:i,count:1,state:o},l.set(r,i)}}}function k3(e,t){On.X(e,t);var a=ai;if(a&&e){var n=Nr(a).hoistableScripts,l=ni(e),r=n.get(l);r||(r=a.querySelector(ko(l)),r||(e=Ge({src:e,async:!0},t),(t=Sa.get(l))&&zf(e,t),r=a.createElement("script"),_t(r),Rt(r,"link",e),a.head.appendChild(r)),r={type:"script",instance:r,count:1,state:null},n.set(l,r))}}function R3(e,t){On.M(e,t);var a=ai;if(a&&e){var n=Nr(a).hoistableScripts,l=ni(e),r=n.get(l);r||(r=a.querySelector(ko(l)),r||(e=Ge({src:e,async:!0,type:"module"},t),(t=Sa.get(l))&&zf(e,t),r=a.createElement("script"),_t(r),Rt(r,"link",e),a.head.appendChild(r)),r={type:"script",instance:r,count:1,state:null},n.set(l,r))}}function Ug(e,t,a,n){var l=(l=Wn.current)?vo(l):null;if(!l)throw Error(E(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(a=Qr(a.href),t=Nr(l).hoistableStyles,n=t.get(a),n||(n={type:"style",instance:null,count:0,state:null},t.set(a,n)),n):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=Qr(a.href);var r=Nr(l).hoistableStyles,i=r.get(e);if(i||(l=l.ownerDocument||l,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},r.set(e,i),(r=l.querySelector(Co(e)))?r._p||(i.instance=r,i.state.loading=5):(r=Sa.get(e),r||(r={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},Sa.set(e,r)),H3(l,e,r,i.state))),t&&n===null)throw Error(E(528,""));return i}if(t&&n!==null)throw Error(E(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(a=ni(a),t=Nr(l).hoistableScripts,n=t.get(a),n||(n={type:"script",instance:null,count:0,state:null},t.set(a,n)),n):{type:"void",instance:null,count:0,state:null};default:throw Error(E(444,e))}}function Qr(e){return'href="'+xa(e)+'"'}function Co(e){return'link[rel="stylesheet"]['+e+"]"}function B2(e){return Ge({},e,{"data-precedence":e.precedence,precedence:null})}function H3(e,t,a,n){if(t=e.querySelector('link[rel="preload"][as="style"]['+t+"]")){if(t[nc]!==!0){n.loading=1;return}}else t=e.createElement("link"),t[nc]=!0,t.onload=t.onerror=fm.bind(null,t),Rt(t,"link",a),_t(t),e.head.appendChild(t);n.preload=t,t.addEventListener("load",function(){return n.loading|=1}),t.addEventListener("error",function(){return n.loading|=2})}function ni(e){return'[src="'+xa(e)+'"]'}function ko(e){return"script[async]"+e}function Bg(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var n=e.querySelector('style[data-href~="'+xa(a.href)+'"]');if(n)return t.instance=n,_t(n),n;var l=Ge({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return n=(e.ownerDocument||e).createElement("style"),_t(n),Rt(n,"style",l),Zs(n,a.precedence,e),t.instance=n;case"stylesheet":l=Qr(a.href);var r=e.querySelector(Co(l));if(r)return t.state.loading|=4,t.instance=r,_t(r),r;n=B2(a),(l=Sa.get(l))&&Of(n,l),r=(e.ownerDocument||e).createElement("link"),_t(r);var i=r;return i._p=new Promise(function(o,s){i.onload=o,i.onerror=s}),Rt(r,"link",n),t.state.loading|=4,Zs(r,a.precedence,e),t.instance=r;case"script":return r=ni(a.src),(l=e.querySelector(ko(r)))?(t.instance=l,_t(l),l):(n=a,(l=Sa.get(r))&&(n=Ge({},a),zf(n,l)),e=e.ownerDocument||e,l=e.createElement("script"),_t(l),Rt(l,"link",n),e.head.appendChild(l),t.instance=l);case"void":return null;default:throw Error(E(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(n=t.instance,t.state.loading|=4,Zs(n,a.precedence,e));return t.instance}function Zs(e,t,a){for(var n=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),l=n.length?n[n.length-1]:null,r=l,i=0;i<n.length;i++){var o=n[i];if(o.dataset.precedence===t)r=o;else if(r!==l)break}r?r.parentNode.insertBefore(e,r.nextSibling):(t=a.nodeType===9?a.head:a,t.insertBefore(e,t.firstChild))}function Of(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function zf(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Js=null;function qg(e,t,a){if(Js===null){var n=new Map,l=Js=new Map;l.set(a,n)}else l=Js,n=l.get(a),n||(n=new Map,l.set(a,n));if(n.has(e))return n;for(n.set(e,null),a=a.getElementsByTagName(e),l=0;l<a.length;l++){var r=a[l];if(!(r[So]||r[Ot]||e==="link"&&r.getAttribute("rel")==="stylesheet")&&r.namespaceURI!=="http://www.w3.org/2000/svg"){var i=r.getAttribute(t)||"";i=e+i;var o=n.get(i);o?o.push(r):n.set(i,[r])}}return n}function Ch(e,t,a){e=e.ownerDocument||e,e.head.insertBefore(a,t==="title"?e.querySelector("head > title"):null)}function G3(e,t,a){if(a===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Vg(e,t){return e==="img"&&t.src!=null&&t.src!==""&&t.onLoad==null&&t.loading!=="lazy"}function q2(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function V2(e){return(e.width||100)*(e.height||100)*(typeof devicePixelRatio=="number"?devicePixelRatio:1)*.25}function Yg(e,t){typeof t.decode=="function"&&(e.imgCount++,t.complete||(e.imgBytes+=V2(t),e.suspenseyImages.push(t)),e=U3.bind(e),t.decode().then(e,e))}function D3(e,t,a,n){if(a.type==="stylesheet"&&(typeof n.media!="string"||matchMedia(n.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var l=Qr(n.href),r=t.querySelector(Co(l));if(r){t=r._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=wo.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=r,_t(r);return}r=t.ownerDocument||t,n=B2(n),(l=Sa.get(l))&&Of(n,l),r=r.createElement("link"),_t(r);var i=r;i._p=new Promise(function(o,s){i.onload=o,i.onerror=s}),Rt(r,"link",n),a.instance=r}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=wo.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var Fs=0;function L3(e,t){return e.stylesheets&&e.count===0&&$s(e,e.stylesheets),0<e.count||0<e.imgCount?function(a){var n=setTimeout(function(){if(e.stylesheets&&$s(e,e.stylesheets),e.unsuspend){var r=e.unsuspend;e.unsuspend=null,r()}},6e4+t);0<e.imgBytes&&Fs===0&&(Fs=62500*t3());var l=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&$s(e,e.stylesheets),e.unsuspend)){var r=e.unsuspend;e.unsuspend=null,r()}},(e.imgBytes>Fs?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(n),clearTimeout(l)}}:null}function Y2(e){if(e.count===0&&(e.imgCount===0||!e.waitingForImages)){if(e.stylesheets)$s(e,e.stylesheets);else if(e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}}}function wo(){this.count--,Y2(this)}function U3(){this.imgCount--,Y2(this)}var Mc=null;function $s(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Mc=new Map,t.forEach(B3,e),Mc=null,wo.call(e))}function B3(e,t){if(!(t.state.loading&4)){var a=Mc.get(e);if(a)var n=a.get(null);else{a=new Map,Mc.set(e,a);for(var l=e.querySelectorAll("link[data-precedence],style[data-precedence]"),r=0;r<l.length;r++){var i=l[r];(i.nodeName==="LINK"||i.getAttribute("media")!=="not all")&&(a.set(i.dataset.precedence,i),n=i)}n&&a.set(null,n)}l=t.instance,i=l.getAttribute("data-precedence"),r=a.get(i)||n,r===n&&a.set(null,l),a.set(i,l),this.count++,n=wo.bind(this),l.addEventListener("load",n),l.addEventListener("error",n),r?r.parentNode.insertBefore(l,r.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(l,e.firstChild)),t.state.loading|=4}}var Zr={$$typeof:$a,Provider:null,Consumer:null,_currentValue:kl,_currentValue2:kl,_threadCount:0};function q3(e,t,a,n,l,r,i,o,s){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Fu(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Fu(0),this.hiddenUpdates=Fu(null),this.identifierPrefix=n,this.onUncaughtError=l,this.onCaughtError=r,this.onRecoverableError=i,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=s,this.transitionTypes=null,this.incompleteTransitions=new Map}function I2(e,t,a,n,l,r,i,o,s,c,f,v){return e=new q3(e,t,a,i,s,c,f,v,o),t=1,r===!0&&(t|=24),r=Pt(3,null,null,t),e.current=r,r.stateNode=e,t=Jh(),t.refCount++,e.pooledCache=t,t.refCount++,r.memoizedState={element:n,isDehydrated:a,cache:t},Wh(r),e}function j2(e){return e?(e=Er,e):Er}function K2(e,t,a,n,l,r){l=j2(l),n.context===null?n.context=l:n.pendingContext=l,n=el(t),n.payload={element:a},r=r===void 0?null:r,r!==null&&(n.callback=r),a=tl(e,n,t),a!==null&&(ea(a,e,t),Ji(a,e,t))}function Ig(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function Cf(e,t){Ig(e,t),(e=e.alternate)&&Ig(e,t)}function X2(e){if(e.tag===13||e.tag===31){var t=Zl(e,67108864);t!==null&&ea(t,e,67108864),Cf(e,67108864)}}function jg(e){if(e.tag===13||e.tag===31){var t=ha();t=Lh(t);var a=Zl(e,t);a!==null&&ea(a,e,t),Cf(e,t)}}var Jr=!0;function V3(e,t,a,n){var l=Q.T;Q.T=null;var r=pe.p;try{pe.p=2,kf(e,t,a,n)}finally{pe.p=r,Q.T=l}}function Y3(e,t,a,n){var l=Q.T;Q.T=null;var r=pe.p;try{pe.p=8,kf(e,t,a,n)}finally{pe.p=r,Q.T=l}}function kf(e,t,a,n){if(Jr){var l=kh(n);if(l===null)bd(e,t,n,Ac,a),Kg(e,n);else if(j3(l,e,t,a,n))n.stopPropagation();else if(Kg(e,n),t&4&&-1<I3.indexOf(e)){for(;l!==null;){var r=Wr(l);if(r!==null)switch(r.tag){case 3:if(r=r.stateNode,r.current.memoizedState.isDehydrated){var i=Al(r.pendingLanes);if(i!==0){var o=r;for(o.pendingLanes|=2,o.entangledLanes|=2;i;){var s=1<<31-da(i);o.entanglements[1]|=s,i&=~s}rn(r),(fe&6)===0&&(xc=ca()+500,zo(0,!1))}}break;case 31:case 13:o=Zl(r,2),o!==null&&ea(o,r,2),Ic(),Cf(r,2)}if(r=kh(n),r===null&&bd(e,t,n,Ac,a),r===l)break;l=r}l!==null&&n.stopPropagation()}else bd(e,t,n,null,a)}}function kh(e){return e=qh(e),Rf(e)}var Ac=null;function Rf(e){if(Ac=null,e=zl(e),e!==null){var t=xo(e);if(t===null)e=null;else{var a=t.tag;if(a===13){if(e=$g(t),e!==null)return e;e=null}else if(a===31){if(e=Wg(t),e!==null)return e;e=null}else if(a===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Ac=e,null}function Q2(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"fullscreenerror":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"resize":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(n4()){case lm:return 2;case rm:return 8;case ac:case l4:return 32;case im:return 268435456;default:return 32}default:return 32}}var Rh=!1,rl=null,il=null,ol=null,bo=new Map,yo=new Map,Kn=[],I3="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function Kg(e,t){switch(e){case"focusin":case"focusout":rl=null;break;case"dragenter":case"dragleave":il=null;break;case"mouseover":case"mouseout":ol=null;break;case"pointerover":case"pointerout":bo.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":yo.delete(t.pointerId)}}function Ui(e,t,a,n,l,r){return e===null||e.nativeEvent!==r?(e={blockedOn:t,domEventName:a,eventSystemFlags:n,nativeEvent:r,targetContainers:[l]},t!==null&&(t=Wr(t),t!==null&&X2(t)),e):(e.eventSystemFlags|=n,t=e.targetContainers,l!==null&&t.indexOf(l)===-1&&t.push(l),e)}function j3(e,t,a,n,l){switch(t){case"focusin":return rl=Ui(rl,e,t,a,n,l),!0;case"dragenter":return il=Ui(il,e,t,a,n,l),!0;case"mouseover":return ol=Ui(ol,e,t,a,n,l),!0;case"pointerover":var r=l.pointerId;return bo.set(r,Ui(bo.get(r)||null,e,t,a,n,l)),!0;case"gotpointercapture":return r=l.pointerId,yo.set(r,Ui(yo.get(r)||null,e,t,a,n,l)),!0}return!1}function Z2(e){var t=zl(e.target);if(t!==null){var a=xo(t);if(a!==null){if(t=a.tag,t===13){if(t=$g(a),t!==null){e.blockedOn=t,v1(e.priority,function(){jg(a)});return}}else if(t===31){if(t=Wg(a),t!==null){e.blockedOn=t,v1(e.priority,function(){jg(a)});return}}else if(t===3&&a.stateNode.current.memoizedState.isDehydrated){e.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Ws(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=kh(e.nativeEvent);if(a===null){a=e.nativeEvent;var n=new a.constructor(a.type,a);Dd=n,a.target.dispatchEvent(n),Dd=null}else return t=Wr(a),t!==null&&X2(t),e.blockedOn=a,!1;t.shift()}return!0}function Xg(e,t,a){Ws(e)&&a.delete(t)}function K3(){Rh=!1,rl!==null&&Ws(rl)&&(rl=null),il!==null&&Ws(il)&&(il=null),ol!==null&&Ws(ol)&&(ol=null),bo.forEach(Xg),yo.forEach(Xg)}function ks(e,t){e.blockedOn===t&&(e.blockedOn=null,Rh||(Rh=!0,gt.unstable_scheduleCallback(gt.unstable_NormalPriority,K3)))}var Rs=null;function Qg(e){Rs!==e&&(Rs=e,gt.unstable_scheduleCallback(gt.unstable_NormalPriority,function(){Rs===e&&(Rs=null);for(var t=0;t<e.length;t+=3){var a=e[t],n=e[t+1],l=e[t+2];if(typeof n!="function"){if(Rf(n||a)===null)continue;break}var r=Wr(a);r!==null&&(e.splice(t,3),t-=3,Wd(r,{pending:!0,data:l,method:a.method,action:n},n,l))}}))}function Fr(e){function t(s){return ks(s,e)}rl!==null&&ks(rl,e),il!==null&&ks(il,e),ol!==null&&ks(ol,e),bo.forEach(t),yo.forEach(t);for(var a=0;a<Kn.length;a++){var n=Kn[a];n.blockedOn===e&&(n.blockedOn=null)}for(;0<Kn.length&&(a=Kn[0],a.blockedOn===null);)Z2(a),a.blockedOn===null&&Kn.shift();if(a=(e.ownerDocument||e).$$reactFormReplay,a!=null)for(n=0;n<a.length;n+=3){var l=a[n],r=a[n+1],i=l[aa]||null;if(typeof r=="function")i||Qg(a);else if(i){var o=null;if(r&&r.hasAttribute("formAction")){if(l=r,i=r[aa]||null)o=i.formAction;else if(Rf(l)!==null)continue}else o=i.action;typeof o=="function"?a[n+1]=o:(a.splice(n,3),n-=3),Qg(a)}}}function J2(){function e(r){r.canIntercept&&r.info==="react-transition"&&r.intercept({handler:function(){return new Promise(function(i){return l=i})},focusReset:"manual",scroll:"manual"})}function t(){l!==null&&(l(),l=null),n||setTimeout(a,20)}function a(){if(!n&&!navigation.transition){var r=navigation.currentEntry;r&&r.url!=null&&navigation.navigate(r.url,{state:r.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var n=!1,l=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(a,100),function(){n=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),l!==null&&(l(),l=null)}}}function Hf(e){this._internalRoot=e}Xc.prototype.render=Hf.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(E(409));var a=t.current,n=ha();K2(a,n,e,t,null,null)};Xc.prototype.unmount=Hf.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;K2(e.current,2,null,e,null,null),Ic(),t[$r]=null}};function Xc(e){this._internalRoot=e}Xc.prototype.unstable_scheduleHydration=function(e){if(e){var t=hm();e={blockedOn:null,target:e,priority:t};for(var a=0;a<Kn.length&&t!==0&&t<Kn[a].priority;a++);Kn.splice(a,0,e),a===0&&Z2(e)}};var Zg=Jg.version;if(Zg!=="19.3.1")throw Error(E(527,Zg,"19.3.1"));pe.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(E(188)):(e=Object.keys(e).join(","),Error(E(268,e)));return e=Xy(t),e=e!==null?Pg(e):null,e=e===null?null:e.stateNode,e};var X3={bundleType:0,version:"19.3.1",rendererPackageName:"react-dom",currentDispatcherRef:Q,reconcilerVersion:"19.3.1"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(Bi=__REACT_DEVTOOLS_GLOBAL_HOOK__,!Bi.isDisabled&&Bi.supportsFiber))try{_o=Bi.inject(X3),ua=Bi}catch{}var Bi;Qc.createRoot=function(e,t){if(!Fg(e))throw Error(E(299));var a=!1,n="",l=Ov,r=zv,i=Cv;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(n=t.identifierPrefix),t.onUncaughtError!==void 0&&(l=t.onUncaughtError),t.onCaughtError!==void 0&&(r=t.onCaughtError),t.onRecoverableError!==void 0&&(i=t.onRecoverableError)),t=I2(e,1,!1,null,null,a,n,null,l,r,i,J2),e[$r]=t.current,Sf(e),new Hf(t)};Qc.hydrateRoot=function(e,t,a){if(!Fg(e))throw Error(E(299));var n=!1,l="",r=Ov,i=zv,o=Cv,s=null;return a!=null&&(a.unstable_strictMode===!0&&(n=!0),a.identifierPrefix!==void 0&&(l=a.identifierPrefix),a.onUncaughtError!==void 0&&(r=a.onUncaughtError),a.onCaughtError!==void 0&&(i=a.onCaughtError),a.onRecoverableError!==void 0&&(o=a.onRecoverableError),a.formState!==void 0&&(s=a.formState)),t=I2(e,1,!0,t,a??null,n,l,s,r,i,o,J2),t.context=j2(null),a=t.current,n=ha(),n=Lh(n),l=el(n),l.callback=null,tl(a,l,n),a=n,t.current.lanes=a,Eo(t,a),rn(t),e[$r]=t.current,Sf(e),new Xc(t)};Qc.version="19.3.1"});var P2=ja((F_,W2)=>{"use strict";function $2(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE($2)}catch(e){console.error(e)}}$2(),W2.exports=F2()});var ww=ja(ou=>{"use strict";var p5=Symbol.for("react.transitional.element"),g5=Symbol.for("react.fragment");function vw(e,t,a){var n=null;if(a!==void 0&&(n=""+a),t.key!==void 0&&(n=""+t.key),"key"in t){a={};for(var l in t)l!=="key"&&(a[l]=t[l])}else a=t;return t=a.ref,{$$typeof:p5,type:e,key:n,ref:t!==void 0?t:null,props:a}}ou.Fragment=g5;ou.jsx=vw;ou.jsxs=vw});var Te=ja((w6,bw)=>{"use strict";bw.exports=ww()});var Ib=K(P2(),1);var Zc=["purple","cyan","green","amber","rose","blue"];var Ro=e=>typeof e=="string"&&Zc.includes(e);var ew={editing:{human:0,agent:1},viewing:{human:2,agent:3},idle:{human:4,agent:5}};function Gf(e){return e.map((t,a)=>({member:t,index:a})).sort((t,a)=>ew[t.member.activity][t.member.kind]-ew[a.member.activity][a.member.kind]||t.index-a.index).map(({member:t})=>t)}var Jc=Zc.filter(e=>e!=="purple");function Df(e,t=new Map){let a=new Map,n=new Map(Jc.map(r=>[r,0])),l=(r,i)=>{a.set(r,i),n.set(i,(n.get(i)??0)+1)};for(let r of e)r.kind==="agent"&&r.hue!==void 0&&l(r.id,r.hue);for(let r of e){if(a.has(r.id))continue;let i=t.get(r.id);i!==void 0&&l(r.id,i)}for(let r of e){if(a.has(r.id))continue;let i=Jc[0];for(let o of Jc)(n.get(o)??0)<(n.get(i)??0)&&(i=o);l(r.id,i)}return a}function tw(e,t=2){if(e.length===0)return"";if(e.length===1)return e[0];if(e.length<=t)return`${e.slice(0,-1).join(", ")} and ${e[e.length-1]}`;let a=e.length-t;return`${e.slice(0,t).join(", ")} and ${a===1?"1 other":`${a} others`}`}var Ho={activity:(e,t)=>e==="editing"?"Editing":e==="idle"?"Idle":t==="agent"?"Reading":"Viewing",here:(e,t)=>t?e===0?"Only you are here":`You and ${e===1?"1 other":`${e} others`} are here`:e===1?"1 person is here":`${e} people are here`,member:e=>e.location?`${e.name}, ${e.location}`:`${e.name}, ${Ho.activity(e.activity,e.kind).toLowerCase()}`,more:e=>`${e} more`,editing:e=>`${e} is editing`,alsoHere:e=>e.length===0?"":`${tw(e)} ${e.length===1?"is":"are"} also here.`};function Go(e){return{...Ho,...e}}var lw=["text","longtext","number","checkbox","select","multiselect","status","person","date","url","rating"],$c=e=>typeof e=="string"&&lw.includes(e);var Q3={text:"Text",longtext:"Long text",number:"Number",checkbox:"Checkbox",select:"Select",multiselect:"Multi-select",status:"Status",person:"Person",date:"Date",url:"URL",rating:"Rating"},Lf=e=>e===1?"1 change":`${e} changes`,Fl={rowHeader:"Row",addRow:"Add row",empty:"Empty",checked:"Checked",unchecked:"Not checked",rating:(e,t)=>`${e} of ${t} stars`,archived:e=>`Archived: ${e}`,unknownPerson:"Unknown person",types:Q3,saving:"Saving",forbidden:"You can view this sheet but not edit it.",couldNotSave:"Could not save this change.",notANumber:e=>`${e} must be a number.`,belowMin:(e,t)=>`${e} must be at least ${t}.`,aboveMax:(e,t)=>`${e} must be at most ${t}.`,tooLong:(e,t)=>`${e} must be at most ${t} characters.`,required:e=>`${e} is required.`,notAnOption:e=>`${e} must be one of its options.`,tooManyItems:(e,t)=>`${e} holds at most ${t} options.`,notAPerson:e=>`${e} must be a person or an agent in this company.`,notADate:e=>`${e} must be a date.`,notAUrl:e=>`${e} must be a web address starting with https:// or http://.`,notARating:(e,t)=>`${e} must be a whole number from 1 to ${t}.`,notABoolean:e=>`${e} must be checked or not checked.`,readOnly:e=>`${e} is read only.`,conflict:(e,t)=>`${e} changed this to ${t} while you were editing.`,keepMine:"Keep yours",useTheirs:e=>`Use ${e}'s`,someone:"Someone",changed:(e,t,a)=>`Changed by ${e}, ${t}.${a===null?"":` Was ${a}.`}`,history:"Cell history",sync:e=>e.offline?e.saving===0?"Offline.":`Offline. ${Lf(e.saving)} will sync when you reconnect.`:e.failed!==void 0&&e.failed>0?"Could not save.":e.refused!==void 0&&e.refused>0?`${Lf(e.refused)} not saved`:e.saving>0?`Saving ${Lf(e.saving)}`:"Saved",retry:"Retry",dismiss:"Dismiss",notSaved:e=>`Not saved: ${e}`,rowActions:e=>`Actions for row ${e}`,deleteRow:"Delete row",rowActionsHelp:"Shift with F10 opens the actions of the row.",filter:"Filter options",noOptions:"No matching options",clear:"Clear",keyboardHelp:"Arrow keys move between cells. Enter or F2 edits a cell, Escape cancels, and typing replaces its value. Space toggles a checkbox. Control or Command with C and V copies and pastes. Control or Command with Alt and H opens the history of a cell.",sortBy:e=>`Sort by ${e}`,columnSettings:e=>`Column settings for ${e}`,columnSettingsHelp:"Enter on a column header opens the settings of that column.",addColumn:"Add column"};function Do(e){return{...Fl,...e,types:{...Fl.types,...e?.types}}}var Z3={violet:"purple",indigo:"purple",teal:"cyan",sky:"cyan",emerald:"green",lime:"green",yellow:"amber",orange:"amber",red:"rose",pink:"rose"};function Wc(e){if(e===void 0)return"neutral";let t=e.trim().toLowerCase();return Ro(t)?t:Z3[t]??"neutral"}var J3=["neutral","info","success","warning","danger"],F3={green:"success",amber:"warning",rose:"danger",blue:"info",cyan:"info",purple:"neutral"},$3={todo:"neutral",in_progress:"info",done:"success",blocked:"danger"};function Pc(e){let t=e.color?.trim().toLowerCase();if(t!==void 0&&J3.includes(t))return t;if(t!==void 0){let a=Wc(t);if(a!=="neutral")return F3[a]}return e.category?$3[e.category]:"neutral"}function zn(e,t){return e.options?.find(a=>a.id===t)}function $l(e){return(e.options??[]).filter(t=>!t.archived)}function qf(e){let t=new Set,a=[];for(let n of e.split(",")){let[l="",r]=n.split(":"),i=l.trim();if(i==="")continue;let o=i.toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"");for(o===""&&(o=`option_${a.length+1}`);t.has(o);)o=`${o}_`;t.add(o);let s=r?.trim();a.push(s?{id:o,label:i,color:s}:{id:o,label:i})}return a}var rw=1e3,iw=2e4,ow=2048,Uf=5,sw=10,cw=1900,uw=2200;function on(e){let t=e.max??Uf;return Number.isInteger(t)&&t>=1?Math.min(t,sw):Uf}function gl(e){return e.maxLength??(e.type==="longtext"?iw:rw)}var W3=e=>Array.isArray(e)&&e.every(t=>typeof t=="string");function Ut(e,t){if(t==null)return e.type==="checkbox"?!1:e.type==="multiselect"?[]:null;switch(e.type){case"checkbox":return t===!0;case"number":{let a=typeof t=="number"?t:typeof t=="string"&&t.trim()!==""?Number(t):Number.NaN;return Number.isFinite(a)?a:null}case"rating":return typeof t=="number"&&Number.isInteger(t)&&t>=1?t:null;case"multiselect":return W3(t)?t:[];case"text":case"longtext":case"url":case"date":return typeof t=="string"?t:typeof t=="number"||typeof t=="boolean"?String(t):null;case"select":case"status":case"person":return typeof t=="string"?t:null}}function sn(e){return e===null||e===""||Array.isArray(e)&&e.length===0}function li(e,t){return Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every((a,n)=>a===t[n]):e===t}function ri(e,t){return e?.find(a=>a.id===t)}function P3(e,t){let a=e.precision,n=a===void 0?{maximumFractionDigits:10}:{minimumFractionDigits:a,maximumFractionDigits:a};return e.numberStyle==="percent"?new Intl.NumberFormat(t,{style:"percent",...n}):e.numberStyle==="currency"&&e.currency?new Intl.NumberFormat(t,{style:"currency",currency:e.currency,...n}):new Intl.NumberFormat(t,n)}var e5=/^(\d{4})-(\d{2})-(\d{2})$/;function dw(e){let t=e5.exec(e);if(!t)return null;let a=Number(t[1]),n=Number(t[2]),l=Number(t[3]),r=new Date(Date.UTC(a,n-1,l));return r.getUTCFullYear()!==a||r.getUTCMonth()!==n-1||r.getUTCDate()!==l||a<cw||a>uw?null:{year:a,month:n,day:l}}function Ma(e,t,a){let{labels:n,locale:l}=a;if(e.type==="checkbox")return t===!0?n.checked:n.unchecked;if(sn(t))return"";switch(e.type){case"number":return typeof t=="number"?P3(e,l).format(t):"";case"rating":return typeof t=="number"?n.rating(t,on(e)):"";case"select":case"status":{let r=zn(e,String(t));return r?r.archived?n.archived(r.label):r.label:String(t)}case"multiselect":return t.map(r=>{let i=zn(e,r);return i?i.archived?n.archived(i.label):i.label:r}).join(", ");case"person":return ri(a.people,String(t))?.name??n.unknownPerson;case"date":{let r=String(t);if(dw(r))return new Intl.DateTimeFormat(l,{dateStyle:"medium",timeZone:"UTC"}).format(new Date(`${r}T00:00:00Z`));let i=Date.parse(r);return Number.isNaN(i)?r:new Intl.DateTimeFormat(l,{dateStyle:"medium",timeStyle:"short"}).format(i)}default:return String(t)}}function ii(e,t,a){if(e.type==="checkbox")return t===!0?"TRUE":"FALSE";if(sn(t))return"";switch(e.type){case"number":return typeof t!="number"?"":e.numberStyle==="percent"?`${Bf(t*100,10)}%`:String(t);case"select":case"status":return zn(e,String(t))?.label??String(t);case"multiselect":return t.map(n=>zn(e,n)?.label??n).join(", ");case"person":return ri(a.people,String(t))?.name??String(t);default:return String(t)}}function Bf(e,t){let a=10**t;return Math.round(e*a)/a}var mt=e=>({ok:!1,error:e});function aw(e,t){let a=t.trim().toLowerCase(),n=$l(e),l=n.find(r=>r.id===t.trim())??n.find(r=>r.label.toLowerCase()===a);return l?l.id:null}function t5(e,t){let a=t.trim().toLowerCase();if(!e||a==="")return null;let n=e.find(r=>r.id===t.trim()||r.name.toLowerCase()===a);if(n)return n.id;let l=e.filter(r=>r.name.toLowerCase().startsWith(a));return l.length===1?l[0].id:null}var a5=new Set(["true","yes","y","1","x","checked","on","\u2713","\u2714"]),n5=new Set(["false","no","n","0","","unchecked","off"]);function l5(e,t,a){let n=t.trim().replace(/\s+/g,""),l=n.endsWith("%");if(l&&(n=n.slice(0,-1)),n=n.replace(/^[$€£¥]|[$€£¥]$/g,""),/^-?\d{1,3}(,\d{3})+(\.\d+)?$/.test(n)&&(n=n.replaceAll(",","")),!/^[-+]?(\d+\.?\d*|\.\d+)(e[-+]?\d+)?$/i.test(n))return mt(a.notANumber(e.label));let r=Number(n);if((l||e.numberStyle==="percent")&&(r/=100),!Number.isFinite(r))return mt(a.notANumber(e.label));e.precision!==void 0&&(r=Bf(r,e.precision));let i=o=>e.numberStyle==="percent"?`${Bf(o*100,10)}%`:String(o);return e.min!==void 0&&r<e.min?mt(a.belowMin(e.label,i(e.min))):e.max!==void 0&&r>e.max?mt(a.aboveMax(e.label,i(e.max))):{ok:!0,value:r}}function r5(e,t,a){let n=t.trim();if(!e.time)return dw(n.slice(0,10))&&(n.length===10||n[10]==="T"||n[10]===" ")?{ok:!0,value:n.slice(0,10)}:mt(a.notADate(e.label));let l=Date.parse(n);if(Number.isNaN(l))return mt(a.notADate(e.label));let r=new Date(l).getUTCFullYear();return r<cw||r>uw?mt(a.notADate(e.label)):{ok:!0,value:new Date(l).toISOString().replace(/\.000Z$/,"Z")}}function i5(e,t,a){let n=t.trim();!/^[a-z][a-z0-9+.-]*:/i.test(n)&&/^[^\s/]+\.[^\s/]+/.test(n)&&(n=`https://${n}`);let l;try{l=new URL(n)}catch{return mt(a.notAUrl(e.label))}return l.protocol!=="https:"&&l.protocol!=="http:"||n.length>ow||l.host===""?mt(a.notAUrl(e.label)):{ok:!0,value:n}}function oi(e,t,a){let{labels:n}=a;if(t.trim()===""&&e.type!=="checkbox")return e.required?mt(n.required(e.label)):{ok:!0,value:e.type==="multiselect"?[]:null};switch(e.type){case"checkbox":{let r=t.trim().toLowerCase();return a5.has(r)?{ok:!0,value:!0}:n5.has(r)?{ok:!0,value:!1}:mt(n.notABoolean(e.label))}case"number":return l5(e,t,n);case"rating":{let r=on(e),i=t.trim(),o=/^★+$/.test(i)?i.length:Number(i);return o===0?e.required?mt(n.required(e.label)):{ok:!0,value:null}:!Number.isInteger(o)||o<1||o>r?mt(n.notARating(e.label,r)):{ok:!0,value:o}}case"text":{let r=t.replace(/\s*[\r\n]+\s*/g," ");return r.length>gl(e)?mt(n.tooLong(e.label,gl(e))):{ok:!0,value:r}}case"longtext":return t.length>gl(e)?mt(n.tooLong(e.label,gl(e))):{ok:!0,value:t};case"select":case"status":{let r=aw(e,t);return r===null?mt(n.notAnOption(e.label)):{ok:!0,value:r}}case"multiselect":{let r=[];for(let i of t.split(/[,;\n]/)){if(i.trim()==="")continue;let o=aw(e,i);if(o===null)return mt(n.notAnOption(e.label));r.includes(o)||r.push(o)}return e.maxItems!==void 0&&r.length>e.maxItems?mt(n.tooManyItems(e.label,e.maxItems)):{ok:!0,value:r}}case"person":{let r=t5(a.people,t);return r===null?mt(n.notAPerson(e.label)):{ok:!0,value:r}}case"date":return r5(e,t,n);case"url":return i5(e,t,n)}}function Vf(e,t,a){let{labels:n}=a;if(e.required&&e.type!=="checkbox"&&sn(t))return n.required(e.label);if(sn(t))return null;switch(e.type){case"checkbox":return typeof t=="boolean"?null:n.notABoolean(e.label);case"select":case"status":return typeof t=="string"&&$l(e).some(l=>l.id===t)?null:n.notAnOption(e.label);case"multiselect":{if(!Array.isArray(t))return n.notAnOption(e.label);let l=new Set($l(e).map(r=>r.id));return t.every(r=>l.has(r)||zn(e,r)?.archived)?e.maxItems!==void 0&&t.length>e.maxItems?n.tooManyItems(e.label,e.maxItems):null:n.notAnOption(e.label)}case"person":return typeof t=="string"&&ri(a.people,t)?null:n.notAPerson(e.label);case"rating":return typeof t=="number"&&Number.isInteger(t)&&t>=1&&t<=on(e)?null:n.notARating(e.label,on(e));default:{let l=oi(e,ii(e,t,a),a);return l.ok?null:l.error}}}function hw(e,t,a,n){let l=e.type!=="checkbox"&&sn(t),r=e.type!=="checkbox"&&sn(a);if(l||r)return l===r?0:l?1:-1;switch(e.type){case"number":case"rating":return t-a;case"checkbox":return+(t===!0)-+(a===!0);case"select":case"status":{let i=o=>(e.options??[]).findIndex(s=>s.id===o);return i(t)-i(a)}default:return Ma(e,t,n).localeCompare(Ma(e,a,n),n.locale,{numeric:!0})}}var Wl=e=>!!(e.ctrlKey||e.metaKey),nw=(e,t,a)=>Math.min(Math.max(e,t),a);function Yf(e,t,a){let n=a.rows-1,l=a.cols-1;if(a.cols===0)return null;let r=Wl(t);switch(t.key){case"ArrowUp":return{row:r?e.row<0?-1:0:Math.max(e.row-1,-1),col:e.col};case"ArrowDown":return n<0?e:{row:r?n:nw(e.row+1,-1,n),col:e.col};case"ArrowLeft":return{row:e.row,col:r?0:Math.max(e.col-1,0)};case"ArrowRight":return{row:e.row,col:r?l:Math.min(e.col+1,l)};case"Home":return r?{row:n<0?-1:0,col:0}:{row:e.row,col:0};case"End":return r?{row:Math.max(n,-1),col:l}:{row:e.row,col:l};case"PageUp":return{row:e.row<0?-1:Math.max(e.row-a.page,0),col:e.col};case"PageDown":return n<0?e:{row:nw(e.row+a.page,0,n),col:e.col};default:return null}}function If(e,t){let a=Math.max(e.row,0),n=Math.max(t.row,0);return{top:Math.min(a,n),bottom:Math.max(a,n),left:Math.min(e.col,t.col),right:Math.max(e.col,t.col)}}var jf=(e,t,a)=>t>=e.top&&t<=e.bottom&&a>=e.left&&a<=e.right;function Kf(e,t,a,n,l=8){if(n===0)return[0,-1];let r=t>0?t:a*40,i=Math.max(0,Math.floor(e/a)-l),o=Math.min(n-1,Math.ceil((e+r)/a)+l);return[i,o]}function Xf(e,t,a,n,l){let r=e*n,i=r+n,o=t,s=t+Math.max(a-l,n);return r<o?r:i>s?i-Math.max(a-l,n):t}function Qf(e,t,a,n,l){let r=n-t,i=e-a;return r>=l||r>=i?"below":"above"}var eu={text:200,longtext:260,number:112,checkbox:104,select:144,multiselect:208,status:144,person:176,date:136,url:208,rating:128},Pl=52,tu=32,cn=e=>e.width!==void 0&&e.width>0?e.width:eu[e.type];function Zf(e){let t=[],a=Pl;for(let n of e)t.push(a),a+=cn(n);return t}function Jf(e){return[...e.filter(t=>t.frozen),...e.filter(t=>!t.frozen)]}var Ff=e=>e.key.length===1&&!Wl(e)&&!e.altKey,au={text:[120,280],longtext:[160,320],number:[80,180],checkbox:[72,180],select:[104,240],multiselect:[eu.multiselect,280],status:[112,260],person:[120,240],date:[112,180],url:[160,280],rating:[104,180]},fw=8;function $f(e,t){if(!(t>0))return eu[e];let[a,n]=au[e];return Math.min(n,Math.max(a,Math.ceil(t)))}function Wf(e,t,a,n=fw){switch(e.type){case"select":case"status":return $l(e).map(l=>l.id);case"checkbox":case"multiselect":return[];case"rating":return[on(e)];default:{let l=[];for(let r of t){let i=Ut(e,r.values[e.field]);if(sn(i))continue;let o=Ma(e,i,a).length;l.length===n&&o<=l[n-1].length||(l.push({value:i,length:o}),l.sort((s,c)=>c.length-s.length),l.length>n&&l.pop())}return l.map(r=>r.value)}}}function o5(e){return/[\t\n\r"]/.test(e)?`"${e.replaceAll('"','""')}"`:e}function Pf(e,t,a,n){let l=[];for(let r=a.top;r<=a.bottom;r+=1){let i=t[r];if(!i)continue;let o=[];for(let s=a.left;s<=a.right;s+=1){let c=e[s];c&&o.push(o5(ii(c,Ut(c,i.values[c.field]),n)))}l.push(o.join(" "))}return l.join(`
10
10
  `)}function ep(e){let t=[],a=[],n="",l=!1,r=0,i=e.replace(/\r\n?/g,`
11
11
  `);for(;r<i.length;){let o=i[r];if(l){if(o==='"'&&i[r+1]==='"'){n+='"',r+=2;continue}if(o==='"'){l=!1,r+=1;continue}n+=o,r+=1;continue}o==='"'&&n===""?l=!0:o===" "?(a.push(n),n=""):o===`
12
- `?(a.push(n),t.push(a),a=[],n=""):n+=o,r+=1}return(n!==""||a.length>0)&&(a.push(n),t.push(a)),t}function tp(e,t,a,n,l){let r={edits:[],refused:[]};if(n.length===0)return r;let i=n.length===1&&n[0].length===1,o=i?a.bottom-a.top+1:n.length,s=i?a.right-a.left+1:Math.max(...n.map(c=>c.length));for(let c=0;c<o;c+=1){let f=t[a.top+c];if(!f)break;for(let v=0;v<s;v+=1){let u=e[a.left+v];if(!u)break;if(u.readOnly)continue;let m=i?n[0][0]:n[c]?.[v];if(m===void 0)continue;let b=oi(u,m,l);if(!b.ok){r.refused.push({rowId:f.id,field:u.field,error:b.error});continue}li(b.value,Ut(u,f.values[u.field]))||r.edits.push({rowId:f.id,field:u.field,value:b.value})}}return r}function ap(e,t,a,n){let l={edits:[],refused:[]};for(let r=a.top;r<=a.bottom;r+=1){let i=t[r];if(i)for(let o=a.left;o<=a.right;o+=1){let s=e[o];if(!s||s.readOnly)continue;let c=s.type==="checkbox"?!1:s.type==="multiselect"?[]:null;if(!li(Ut(s,i.values[s.field]),c)){if(s.required&&s.type!=="checkbox"){l.refused.push({rowId:i.id,field:s.field,error:n.labels.required(s.label)});continue}l.edits.push({rowId:i.id,field:s.field,value:c})}}}return l}function Lo(e,t,a){if(e==="forbidden"||e==="capability_not_declared")return a.forbidden;let n=t?.trim();return n||a.couldNotSave}var Fc=(e,t)=>`${e}\0${t}`,np=class{constructor(){fn(this,"waiting",new Map);fn(this,"refusals",new Map);fn(this,"listeners",new Set);fn(this,"failed",0)}begin(e,t){let a=Fc(e,t);this.refusals.delete(a),this.waiting.set(a,(this.waiting.get(a)??0)+1),this.emit();let n=!1;return l=>{if(n)return;n=!0;let r=(this.waiting.get(a)??1)-1;r<=0?this.waiting.delete(a):this.waiting.set(a,r),l.ok||(this.refusals.set(a,l.message),this.failed+=1),this.emit()}}isPending(e,t){return this.waiting.has(Fc(e,t))}refusal(e,t){return this.refusals.get(Fc(e,t))}dismiss(e,t){this.refusals.delete(Fc(e,t))&&this.emit()}get saving(){let e=0;for(let t of this.waiting.values())e+=t;return e}dismissAll(){this.refusals.size!==0&&(this.refusals.clear(),this.emit())}sync(e=!1){return{saving:this.saving,offline:e,refused:this.refusals.size}}get failures(){return this.failed}resetFailures(){this.failed=0}decorate(e){return this.waiting.size===0&&this.refusals.size===0?[...e]:e.map(t=>{let a=[],n={};for(let l of this.waiting.keys()){let[r,i]=l.split("\0");r===t.id&&a.push(i)}for(let[l,r]of this.refusals){let[i,o]=l.split("\0");i===t.id&&(n[o]=r)}return a.length===0&&Object.keys(n).length===0?t:{...t,pending:[...t.pending??[],...a],refused:{...t.refused,...n}}})}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}emit(){for(let e of this.listeners)e()}};function pw(e,t){let a=e instanceof Date?e:new Date(e);return Number.isNaN(a.getTime())?"":new Intl.DateTimeFormat(t,{hour:"2-digit",minute:"2-digit"}).format(a)}function nu(e,t,a,n){return t.changed(e.by,pw(e.at,n),a)}var lu=e=>e.previous!==void 0;function lp(e,t,a,n){if(!a)return[...t];let l=e.find(i=>i.field===a.field);if(!l)return[...t];let r=a.direction==="descending"?-1:1;return t.map((i,o)=>({row:i,index:o,value:Ut(l,i.values[l.field])})).sort((i,o)=>{let s=c=>c===null||c===""||Array.isArray(c)&&c.length===0;return l.type!=="checkbox"&&(s(i.value)||s(o.value))?s(i.value)===s(o.value)?i.index-o.index:s(i.value)?1:-1:r*hw(l,i.value,o.value,n)||i.index-o.index}).map(({row:i})=>i)}function ru(e,t){return!e||e.field!==t?{field:t,direction:"ascending"}:e.direction==="ascending"?{field:t,direction:"descending"}:null}var Aa=(e,t)=>`${e}\0${t}`;function rp(e){let t=new Map;for(let a of e??[]){let n=Aa(a.rowId,a.field),l=t.get(n);l?l.push(a):t.set(n,[a])}for(let a of t.values())a.sort((n,l)=>+!!l.editing-+!!n.editing);return t}function ip(e){let t=new Map;for(let a of e??[])t.has(a.rowId)||t.set(a.rowId,a);return t}function op(e,t=2){let a=new Map;for(let n of e??[]){let l=a.get(n.field)??[];l.length<t&&!l.some(r=>r.id===n.id)&&l.push(n),a.set(n.field,l)}return a}function sp(e){return e.map(t=>t.name).join(", ")}function cp(e,t,a,n,l=Ho){let{labels:r}=n,i=[`${e.label}.`];e.readOnly&&i.push(r.readOnly(e.label)),t.pending?.includes(e.field)&&i.push(`${r.saving}.`);let o=t.refused?.[e.field];o&&i.push(o);let s=a.map(f=>f.name);s.length>0&&i.push(l.alsoHere(s));let c=t.changed?.[e.field];if(c){let f=lu(c)&&Ma(e,Ut(e,c.previous),n)||null;i.push(nu(c,r,f,n.locale))}return i.join(" ")}function iu(e,t,a,n){let l=e.find(r=>r.type==="text");if(l){let r=Ma(l,Ut(l,t.values[l.field]),n);if(r)return r}return String(a+1)}var gw=K(ht(),1);function c5(e,t){if(typeof e=="function"){let n=e(t);return typeof n=="function"?n:()=>{e(null)}}if(!e)return()=>{};let a=e;return a.current=t,()=>{a.current=null}}function u5(...e){return t=>{let a=e.map(n=>c5(n,t));return()=>{for(let n of a)n()}}}function d5(e,t){return e.length===t.length&&e.every((a,n)=>a===t[n])}function ml(...e){let t=(0,gw.useRef)(null);return(!t.current||!d5(t.current.refs,e))&&(t.current={refs:e,callback:u5(...e)}),t.current.callback}function up(e){return Number.parseFloat(e)}var h5=K(ht(),1),f5="data-crewlet-focus";var dp="data-crewlet-focus-returned";function si(e,t){if(!e)return!1;let a=()=>e.removeAttribute(dp);return e.setAttribute(dp,""),e.addEventListener("blur",a,{once:!0}),e.focus(t),e.ownerDocument.activeElement===e?!0:(e.removeEventListener("blur",a),a(),!1)}function mw(e){let t;try{t=e.matches(":focus-visible")}catch{t=!0}return t?!(e.ownerDocument.documentElement.getAttribute(f5)==="pointer"&&e.hasAttribute(dp)):!1}var hp=K(ht(),1),yw=K(Te(),1),m5=(0,hp.createContext)(2);function xw({level:e,children:t}){return(0,yw.jsx)(m5.Provider,{value:e,children:t})}function H(...e){return e.filter(Boolean).join(" ")}var v5=["todo","in_progress","done","blocked"];function w5(e){if(e.options)return e.options.map(t=>{let a={id:t.id,label:t.label};return t.color&&(a.color=t.color),t.category&&v5.includes(t.category)&&(a.category=t.category),t.archived&&(a.archived=!0),a})}function _w(e){let t=[];for(let a of e?.columns??[]){if(a.hidden)continue;let n=a.type,l=$c(n),r={field:a.key,label:a.label||a.key,type:l?n:"text"};l||(r.readOnly=!0),a.primary&&(r.frozen=!0),a.required&&(r.required=!0),a.min!==void 0&&(r.min=a.min),a.max!==void 0&&(r.max=a.max),a.max_length!==void 0&&(r.maxLength=a.max_length),a.max_items!==void 0&&(r.maxItems=a.max_items);let i=w5(a);i&&(r.options=i),t.push(r)}return t}function b5(e,t){let a=t.trim();if(a===""||a==="plain")return;let n=/^currency:([A-Za-z]{3})$/.exec(a);if(n){e.numberStyle="currency",e.currency=n[1].toUpperCase();return}if(a==="percent"){e.numberStyle="percent";return}let l=/^0(?:\.(0+))?(%)?$/.exec(a);l&&(e.precision=l[1]?.length??0,l[2]&&(e.numberStyle="percent"))}var Uo=e=>{if(e===null||e.trim()==="")return;let t=Number(e);return Number.isFinite(t)?t:void 0},Tw=["field","type","label","format","options","width","readonly","required","frozen","min","max","max-length","max-items","time"];function Ew(e){let t=e("field")?.trim();if(!t)return null;let a=e("type")?.trim()??"text",n=$c(a),l={field:t,label:e("label")?.trim()||t,type:n?a:"text"};(!n||e("readonly")!==null)&&(l.readOnly=!0),e("required")!==null&&(l.required=!0),e("frozen")!==null&&(l.frozen=!0),e("time")!==null&&(l.time=!0);let r=Uo(e("width"));r!==void 0&&(l.width=r);let i=Uo(e("min"));i!==void 0&&(l.min=i);let o=Uo(e("max"));o!==void 0&&(l.max=o);let s=Uo(e("max-length"));s!==void 0&&(l.maxLength=s);let c=Uo(e("max-items"));c!==void 0&&(l.maxItems=c);let f=e("options");f&&(l.options=qf(f));let v=e("format");return v&&l.type==="number"&&b5(l,v),l}function Sw(e){let t=e?.trim();return t?t.startsWith("-")?{field:t.slice(1),direction:"descending"}:{field:t,direction:"ascending"}:null}function Mw(e,t){return t===void 0?[...e]:e.map((a,n)=>n<t?{...a,frozen:!0}:a)}var Aw=e=>e!==void 0&&Ro(e)?e:void 0;function Nw(e){let t={id:e.seat,name:e.displayName,kind:e.kind},a=Aw(e.avatar?.hue);return a&&(t.hue=a),e.avatar?.character&&(t.character=e.avatar.character),t}function Ow(e,t){return e.filter(a=>a.seat!==t)}function zw(e,t){return Df(e.map(a=>({id:a.session,kind:a.kind,hue:Aw(a.avatar?.hue)})),t)}function Cw(e,t,a,n){let l=[];for(let r of Ow(e,a)){let i=r.focus;i.collection!==t||!i.doc||!i.field||l.push({rowId:i.doc,field:i.field,id:r.session,name:r.displayName,kind:r.kind,hue:n.get(r.session)??"purple",editing:r.activity==="editing",idle:r.activity==="idle"})}return l}function kw(e,t){return e.filter(a=>a.focus.collection===t)}function Rw(e,t,a){return Ow(e,t).map(n=>{let l={id:n.session,seat:n.seat,name:n.displayName,kind:n.kind,activity:n.activity},r=a.get(n.session);return r&&(l.hue=r),n.avatar?.character&&(l.character=n.avatar.character),l})}var F=K(ht(),1);var Gw=K(Te(),1),Hw={xs:12,sm:14,md:16,lg:20,xl:24},Dw=1.75,y5=`var(--crewlet-glyph-stroke, ${Dw})`;function x5(e){return e===void 0?"1em":typeof e=="number"?`${e}px`:e in Hw?`${Hw[e]}px`:e}function Et({size:e,title:t,filled:a=!1,fillable:n,className:l,style:r,children:i,...o}){let s=x5(e);return(0,Gw.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:s,height:s,stroke:"currentColor",...t?{role:"img","aria-label":t}:{"aria-hidden":!0,focusable:!1},className:l===void 0?"crewlet-glyph":`crewlet-glyph ${l}`,...o,viewBox:"0 0 24 24",fill:n&&a?"currentColor":"none",strokeWidth:Dw,strokeLinecap:"round",strokeLinejoin:"round",style:{...r,strokeWidth:y5},children:i})}var B=K(Te(),1);function su(e){return(0,B.jsxs)(Et,{...e,fillable:!1,children:[(0,B.jsx)("path",{d:"M12 5v14"}),(0,B.jsx)("path",{d:"m19 12-7 7-7-7"})]})}function fp(e){return(0,B.jsxs)(Et,{...e,fillable:!1,children:[(0,B.jsx)("path",{d:"m5 12 7-7 7 7"}),(0,B.jsx)("path",{d:"M12 19V5"})]})}function ci(e){return(0,B.jsx)(Et,{...e,fillable:!1,children:(0,B.jsx)("path",{d:"M20 6 9 17l-5-5"})})}function pp(e){return(0,B.jsx)(Et,{...e,fillable:!1,children:(0,B.jsx)("path",{d:"m15 18-6-6 6-6"})})}function ui(e){return(0,B.jsxs)(Et,{...e,fillable:!1,children:[(0,B.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,B.jsx)("line",{x1:"12",x2:"12",y1:"8",y2:"12"}),(0,B.jsx)("line",{x1:"12",x2:"12.01",y1:"16",y2:"16"})]})}function gp(e){return(0,B.jsxs)(Et,{...e,fillable:!1,children:[(0,B.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,B.jsx)("path",{d:"m16 9-5.5 5.5L8 12"})]})}function mp(e){return(0,B.jsxs)(Et,{...e,fillable:!1,children:[(0,B.jsx)("circle",{cx:"12",cy:"12",r:"1"}),(0,B.jsx)("circle",{cx:"19",cy:"12",r:"1"}),(0,B.jsx)("circle",{cx:"5",cy:"12",r:"1"})]})}function vp(e){return(0,B.jsxs)(Et,{...e,fillable:!1,children:[(0,B.jsx)("circle",{cx:"12",cy:"12",r:"1"}),(0,B.jsx)("circle",{cx:"12",cy:"5",r:"1"}),(0,B.jsx)("circle",{cx:"12",cy:"19",r:"1"})]})}function wp(e){return(0,B.jsxs)(Et,{...e,fillable:!1,children:[(0,B.jsx)("path",{d:"M15 3h6v6"}),(0,B.jsx)("path",{d:"M10 14 21 3"}),(0,B.jsx)("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"})]})}function cu(e){return(0,B.jsxs)(Et,{...e,fillable:!1,children:[(0,B.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,B.jsx)("path",{d:"M12 16v-4"}),(0,B.jsx)("path",{d:"M12 8h.01"})]})}function bp(e){return(0,B.jsxs)(Et,{...e,fillable:!1,children:[(0,B.jsx)("path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"}),(0,B.jsx)("path",{d:"m15 5 4 4"})]})}function uu(e){return(0,B.jsxs)(Et,{...e,fillable:!1,children:[(0,B.jsx)("path",{d:"M5 12h14"}),(0,B.jsx)("path",{d:"M12 5v14"})]})}function yp(e){return(0,B.jsxs)(Et,{...e,fillable:!1,children:[(0,B.jsx)("path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}),(0,B.jsx)("path",{d:"M3 3v5h5"}),(0,B.jsx)("path",{d:"M12 7v5l4 2"})]})}function xp(e){return(0,B.jsx)(Et,{...e,fillable:!0,children:(0,B.jsx)("path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"})})}function _p(e){return(0,B.jsxs)(Et,{...e,fillable:!1,children:[(0,B.jsx)("path",{d:"M10 11v6"}),(0,B.jsx)("path",{d:"M14 11v6"}),(0,B.jsx)("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"}),(0,B.jsx)("path",{d:"M3 6h18"}),(0,B.jsx)("path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})]})}function Tp(e){return(0,B.jsxs)(Et,{...e,fillable:!1,children:[(0,B.jsx)("path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"}),(0,B.jsx)("path",{d:"M12 9v4"}),(0,B.jsx)("path",{d:"M12 17h.01"})]})}function Bo(e){return(0,B.jsxs)(Et,{...e,fillable:!1,children:[(0,B.jsx)("path",{d:"M18 6 6 18"}),(0,B.jsx)("path",{d:"m6 6 12 12"})]})}var Na=K(Te(),1),_5={neutral:(0,Na.jsx)(cu,{size:"md"}),info:(0,Na.jsx)(cu,{size:"md"}),success:(0,Na.jsx)(gp,{size:"md"}),warning:(0,Na.jsx)(Tp,{size:"md"}),danger:(0,Na.jsx)(ui,{size:"md"})},di=({variant:e="info",title:t,icon:a,layout:n="card",action:l,live:r,className:i,children:o,...s})=>(0,Na.jsxs)("div",{...s,"aria-live":r,className:H("crewlet-callout",`crewlet-callout--${e}`,`crewlet-callout--${n}`,i),children:[(0,Na.jsx)("span",{className:"crewlet-callout__icon","aria-hidden":!0,children:a??_5[e]}),(0,Na.jsxs)("div",{className:"crewlet-callout__content",children:[t?(0,Na.jsx)("span",{className:"crewlet-callout__title",children:t}):null,o]}),l?(0,Na.jsx)("div",{className:"crewlet-callout__action",children:l}):null]});var Lw=K(Te(),1);function Uw({size:e="em",className:t,...a}){return(0,Lw.jsx)("span",{...a,"aria-hidden":"true",className:H("crewlet-spinner",`crewlet-spinner--${e}`,t)})}function du(e,t){return t?`${e}. ${t}`:e}var qo=K(ht(),1),Bw=K(Te(),1),Cn="crewlet:viewchange",at=4;function hi(e,t,a,n=at,l="below"){let r=e.y+e.height+n,i=e.y-n-t.height,o=a.y+a.height-r,s=e.y-n-a.y,f=(l==="below"?o>=t.height||o>=s:s>=t.height||s>=o)?l:l==="below"?"above":"below",v=f==="below"?r:i,u=a.y+a.height-t.height,m=Math.max(a.y,Math.min(v,u)),b=a.x+a.width-t.width;return{left:Math.max(a.x,Math.min(e.x,b)),top:m,side:f}}function kn(){return{x:0,y:0,width:window.innerWidth,height:window.innerHeight}}function qw(e,t,a=at){let n=kn(),l=t?e:n,r=Math.max(l.x,n.x),i=Math.max(l.y,n.y),o=Math.min(l.x+l.width,n.x+n.width),s=Math.min(l.y+l.height,n.y+n.height);return{x:r-(t?l.x:0)+a,y:i-(t?l.y:0)+a,width:Math.max(0,o-r-2*a),height:Math.max(0,s-i-2*a)}}function fi(e,t,a){let n={x:e.left-(a?t.x:0),y:e.top-(a?t.y:0),width:e.width,height:e.height};return T5(n,{x:0,y:0,width:t.width,height:t.height})}function T5(e,t){return e.x+e.width<t.x||e.y+e.height<t.y||e.x>t.x+t.width||e.y>t.y+t.height}var E5=(0,qo.createContext)(null);function vl(){let e=(0,qo.useContext)(E5);return e||(typeof document>"u"?null:document.body)}var Ye=K(ht(),1);var Ep={duration:{instant:"75ms",fast:"120ms",base:"150ms",moderate:"200ms",slow:"300ms",breath:"2200ms",turn:"1000ms",sweep:"1500ms",spark:"1600ms"},easing:{default:"ease",out:"ease-out",inOut:"ease-in-out",emphasized:"cubic-bezier(0.16, 1, 0.3, 1)",spring:"cubic-bezier(0.34, 1.56, 0.64, 1)"}},Sp={none:"0px",xs:"4px",sm:"6px",md:"8px",lg:"12px",xl:"16px","2xl":"24px",sheet:"14px",chip:"calc(8px - 1px)",pill:"999px",circle:"50%"};var Vw={0:"0px",1:"4px",2:"8px",3:"12px",4:"16px",5:"20px",6:"24px",7:"32px",8:"40px",9:"48px",10:"64px",11:"80px"};var Mp={base:"0",raised:"1",sticky:"10",presence:"20",dropdown:"100",overlay:"200",layerBase:"9000",layerMax:"9899",modal:"9999",popover:"10000",toast:"10001"};var Yw=Symbol.for("crewlet.layer-stack");function S5(){let e=globalThis,t=e[Yw];if(t)return t;let a={entries:[],opened:0,armed:null,listeners:new Set,version:0,locks:0,restore:null};return e[Yw]=a,a}var Oe=S5();function Iw(){Oe.version+=1;for(let e of[...Oe.listeners])e()}function M5(e){return Oe.listeners.add(e),()=>Oe.listeners.delete(e)}function pi(e){let t;for(let a of Oe.entries)e&&a.kind!==e||(!t||a.order>t.order)&&(t=a);return t}var Ap={base:Number(Mp.layerBase),max:Number(Mp.layerMax)};function A5(e){let t=0;for(let a of Oe.entries)a.order<e&&(t+=1);return t}function N5(e){return e===0?Ap.base:Math.min(Ap.base+A5(e),Ap.max)}var O5=229;function gi(e){let t="nativeEvent"in e&&e.nativeEvent||e;return!!t.isComposing||t.keyCode===O5}function er(e){let t=["a[href]","button:not([disabled])","input:not([disabled]):not([type='hidden'])","select:not([disabled])","textarea:not([disabled])","[contenteditable='true']","[tabindex]"].join(",");return[...e.querySelectorAll(t)].filter(a=>a.tabIndex>=0&&!a.disabled&&!a.closest("[hidden],[inert]")&&(typeof a.checkVisibility!="function"||a.checkVisibility()))}function jw(e){if(gi(e))return;if(e.key==="Escape"){if(e.defaultPrevented)return;let c=pi();if(!c)return;e.preventDefault(),c.dismissable()&&c.dismiss("escape");return}if(e.key!=="Tab"||e.defaultPrevented)return;let t=pi("modal"),a=t?.panel();if(!t||!a)return;let n=pi("popup"),l=document.activeElement;if(n&&n.order>t.order&&l&&n.panel()?.contains(l))return;let r=er(a);if(r.length===0){e.preventDefault(),a.focus();return}let i=r[0],o=r[r.length-1];if(!(l instanceof Node)||!a.contains(l)){e.preventDefault(),(e.shiftKey?o:i).focus();return}let s=c=>(l.compareDocumentPosition(c)&Node.DOCUMENT_POSITION_FOLLOWING)!==0;e.shiftKey&&!r.some(c=>c!==l&&!s(c))?(e.preventDefault(),o.focus()):!e.shiftKey&&!r.some(c=>c!==l&&s(c))&&(e.preventDefault(),i.focus())}function Kw(e){Oe.armed=null;let t=pi();if(!t||!(e.target instanceof Node))return;let a=e.target;if(t.kind==="modal"){a===t.veil()&&(Oe.armed=t);return}[t.panel(),...t.inside()].some(l=>l?.contains(a))||t.dismissable()&&t.dismiss("outside")}function Xw(e){let t=Oe.armed;Oe.armed=null,!(!t||t!==pi()||e.target!==t.veil())&&t.dismissable()&&t.dismiss("outside")}function Qw(e){return Oe.entries.length===0&&(document.addEventListener("keydown",jw),document.addEventListener("pointerdown",Kw,!0),document.addEventListener("click",Xw,!0)),Oe.entries.push(e),Iw(),()=>{let t=Oe.entries.indexOf(e);t>=0&&Oe.entries.splice(t,1),Oe.armed===e&&(Oe.armed=null),Oe.entries.length===0&&(document.removeEventListener("keydown",jw),document.removeEventListener("pointerdown",Kw,!0),document.removeEventListener("click",Xw,!0)),Iw()}}function Zw(e){let t=(0,Ye.useRef)(0);return e&&t.current===0&&(t.current=++Oe.opened),e||(t.current=0),t.current}function z5(e){if(!e)return[];let t;for(let n of Oe.entries)n.kind!=="modal"||!n.panel()?.contains(e)||(!t||n.order>t.order)&&(t=n);let a=t?.panel();return t&&a?[e,a,...t.returnTo]:[e]}function Jw(e){return(0,Ye.useSyncExternalStore)(M5,()=>Oe.version,()=>0),{zIndex:N5(e),isTopmost:e!==0&&pi()?.order===e}}function Fw({onClose:e,dismissable:t=!0,initialFocus:a}){let n=(0,Ye.useRef)(null),l=(0,Ye.useRef)(null),r=(0,Ye.useRef)(e),i=(0,Ye.useRef)(t),o=(0,Ye.useRef)(a);r.current=e,i.current=t,o.current=a;let s=Zw(!0),[c]=(0,Ye.useState)(()=>typeof document>"u"?[]:z5(document.activeElement)),f=Jw(s);(0,Ye.useLayoutEffect)(()=>Qw({kind:"modal",order:s,panel:()=>n.current,returnTo:c,veil:()=>l.current,inside:()=>[],dismiss:()=>r.current(),dismissable:()=>i.current}),[s,c]),(0,Ye.useEffect)(()=>{let m=n.current;return m&&!m.contains(document.activeElement)&&(o.current?.()??er(m)[0]??m).focus(),()=>{let b=document.activeElement;if(!(b&&Oe.entries.some(x=>x.panel()?.contains(b)))){for(let x of c)if(!(!(x instanceof HTMLElement)||!x.isConnected||x===document.body)&&si(x,{preventScroll:C5(x)}))return}}},[c]);let v=(0,Ye.useCallback)(m=>{n.current=m},[]),u=(0,Ye.useCallback)(m=>{l.current=m},[]);return{panelRef:v,veilRef:u,...f}}function mi({open:e,onDismiss:t}){let a=(0,Ye.useRef)(null),n=(0,Ye.useRef)(null),l=(0,Ye.useRef)(t);l.current=t;let r=Zw(e),i=Jw(r);(0,Ye.useLayoutEffect)(()=>{if(e)return Qw({kind:"popup",order:r,panel:()=>a.current,returnTo:[],veil:()=>null,inside:()=>[n.current],dismiss:c=>l.current(c),dismissable:()=>!0})},[e,r]);let o=(0,Ye.useCallback)(c=>{a.current=c},[]),s=(0,Ye.useCallback)(c=>{n.current=c},[]);return{panelRef:o,insideRef:s,...i}}function $w(e){(0,Ye.useLayoutEffect)(()=>{if(!(!e||typeof document>"u"))return Oe.locks===0&&(Oe.restore=document.body.style.overflow,document.body.style.overflow="hidden"),Oe.locks+=1,()=>{Oe.locks-=1,Oe.locks===0&&(document.body.style.overflow=Oe.restore??"",Oe.restore=null)}},[e])}function C5(e){let t=e.getBoundingClientRect();return t.width>0&&t.bottom>0&&t.right>0&&t.top<window.innerHeight&&t.left<window.innerWidth}var We=K(ht(),1),Ww=K(cr(),1);var vi=K(Te(),1);function k5(e,t){return typeof e!="function"?t:typeof t!="function"?e:(...a)=>{e(...a),t(...a)}}var R5=up(Ep.duration.fast),H5=up(Ep.duration.base),G5=Number.parseFloat(Vw[2]);function Da({content:e,placement:t="top",align:a="center",disabled:n=!1,openDelay:l=R5,closeDelay:r=H5,className:i,children:o,ref:s,...c}){let v=`${(0,We.useId)()}-tooltip`,[u,m]=(0,We.useState)(!1),b=(0,We.useRef)(null),x=(0,We.useRef)(null),M=(0,We.useRef)(void 0),d=(0,We.useRef)({pointer:!1,focus:!1,pressed:!1}),[h,g]=(0,We.useState)(null),w=vl(),_=(0,We.useCallback)(()=>{M.current!==void 0&&clearTimeout(M.current),M.current=void 0},[]),k=(0,We.useCallback)(R=>{if(_(),!n){if(R<=0){m(!0);return}M.current=setTimeout(()=>m(!0),R)}},[_,n]),N=(0,We.useCallback)(R=>{_();let U=()=>{d.current.pointer||d.current.focus||m(!1)};if(R<=0){U();return}M.current=setTimeout(U,R)},[_]),O=mi({open:u,onDismiss:()=>{d.current={pointer:!1,focus:!1,pressed:!1},_(),m(!1)}});(0,We.useEffect)(()=>_,[_]),(0,We.useEffect)(()=>{n&&(_(),m(!1))},[n,_]);let j=(0,We.useCallback)(()=>{let R=b.current,U=x.current;if(!R||!U||!w)return;let be=w!==document.body,ze=be?w.getBoundingClientRect():kn(),ae=R.getBoundingClientRect(),lt=U.getBoundingClientRect(),I=getComputedStyle(R).direction==="rtl",At={x:(a==="center"?ae.x+ae.width/2-lt.width/2:I?ae.right-lt.width:ae.x)-(be?ze.x:0),y:ae.y-(be?ze.y:0),width:ae.width,height:ae.height},vt={x:at,y:at,width:ze.width-2*at,height:ze.height-2*at};if(fi(ae,ze,be)){m(!1);return}let Ze=hi(At,{width:lt.width,height:lt.height},vt,G5,t==="top"?"above":"below");g(q=>q&&q.left===Ze.left&&q.top===Ze.top&&q.side===Ze.side?q:Ze)},[a,w,t]);(0,We.useLayoutEffect)(()=>{if(!u)return;j();let R=()=>j();w?.addEventListener(Cn,R),window.addEventListener("resize",R),window.addEventListener("scroll",R,!0);let U=typeof ResizeObserver=="function"?new ResizeObserver(R):null;return x.current&&U?.observe(x.current),()=>{w?.removeEventListener(Cn,R),window.removeEventListener("resize",R),window.removeEventListener("scroll",R,!0),U?.disconnect()}},[u,w,j]),(0,We.useEffect)(()=>{u||g(null)},[u]);let z=o,X=c,$={...X};for(let R of Object.keys(X))/^on[A-Z]/.test(R)&&($[R]=k5(z.props[R],X[R]));X.style!==void 0&&($.style={...z.props.style,...X.style});let Se=H(z.props["aria-describedby"],X["aria-describedby"])||void 0,ve=z.props.ref,oe=ml(b,O.insideRef,ve,s),L=(R,U)=>($[R]??z.props[R])?.(U),Me=(0,We.cloneElement)(z,{...$,ref:oe,"aria-describedby":u?H(Se,v):Se,onPointerEnter:R=>{d.current.pointer=!0,d.current.pressed||k(l),L("onPointerEnter",R)},onPointerLeave:R=>{d.current.pointer=!1,d.current.pressed=!1,N(r),L("onPointerLeave",R)},onPointerDown:R=>{d.current.pressed=!0,d.current.focus=!1,_(),m(!1),L("onPointerDown",R)},onFocus:R=>{let U=!d.current.pressed&&mw(R.currentTarget);d.current.focus=U,U&&k(0),L("onFocus",R)},onBlur:R=>{d.current.focus=!1,d.current.pressed=!1,N(0),L("onBlur",R)}}),se=h?{left:h.left,top:h.top,zIndex:O.zIndex}:{visibility:"hidden",zIndex:O.zIndex},C=u?(0,vi.jsx)("div",{ref:R=>{x.current=R,O.panelRef(R)},id:v,role:"tooltip",className:H("crewlet-tooltip",`crewlet-tooltip--${h?.side??(t==="top"?"above":"below")}`,w!==null&&w!==document.body?"crewlet-tooltip--in-host":"crewlet-tooltip--fixed",i),style:se,onPointerEnter:()=>{d.current.pointer=!0,_()},onPointerLeave:()=>{d.current.pointer=!1,N(r)},children:e}):null;return(0,vi.jsxs)(vi.Fragment,{children:[Me,C&&w?(0,Ww.createPortal)(C,w):null]})}var Pw=K(Te(),1);function Bt({as:e="span",id:t,className:a,children:n}){return(0,Pw.jsx)(e,{id:t,className:H("crewlet-visually-hidden",a),children:n})}var La=K(ht(),1);var ct=K(Te(),1);function eb({variant:e="primary",size:t="medium",shape:a="square",block:n,flush:l,className:r},i){return H("crewlet-btn",`crewlet-btn--${e}`,`crewlet-btn--${t}`,`crewlet-btn--${a}`,n&&"crewlet-btn--block",l&&"crewlet-btn--flush",i,r)}function Np({leadingIcon:e,trailingIcon:t,loading:a,children:n}){return(0,ct.jsxs)(ct.Fragment,{children:[a?(0,ct.jsx)(Uw,{className:"crewlet-btn__spinner"}):e?(0,ct.jsx)("span",{className:"crewlet-btn__icon",children:e}):null,(0,ct.jsx)("span",{className:"crewlet-btn__label",children:n}),t?(0,ct.jsx)("span",{className:"crewlet-btn__icon",children:t}):null]})}var Ua=(0,La.forwardRef)(function({variant:t="primary",size:a="medium",shape:n="square",leadingIcon:l,trailingIcon:r,block:i,flush:o,className:s,type:c="button",asChild:f=!1,loading:v=!1,pressed:u,disabledReason:m,tooltip:b,disabled:x,onClick:M,title:d,children:h,...g},w){let _=(0,La.useId)(),k=typeof b=="string"?du(b,m):b?m:void 0,O=eb({variant:t,size:a,shape:n,block:i,flush:o,className:s},v?"crewlet-btn--loading":void 0);if(f){let X=La.Children.only(h);if(!(0,La.isValidElement)(X))throw new Error("Button with asChild expects exactly one valid React element child.");let $=X;return(0,La.cloneElement)($,{...g,title:d,className:H($.props.className,O)},(0,ct.jsx)(Np,{leadingIcon:l,trailingIcon:r,children:$.props.children}))}let j=v||m!==void 0,z=(0,ct.jsx)("button",{...g,ref:w,type:c,className:O,disabled:x,title:d,"aria-label":g["aria-label"]??(h===void 0?d:void 0),"aria-pressed":u,"aria-busy":v||void 0,"aria-disabled":j||void 0,"aria-describedby":m===void 0?g["aria-describedby"]:H(g["aria-describedby"],_),onClick:X=>{if(j){X.preventDefault();return}M?.(X)},children:(0,ct.jsx)(Np,{leadingIcon:l,trailingIcon:r,loading:v,children:h})});return(0,ct.jsxs)(ct.Fragment,{children:[k?(0,ct.jsx)(Da,{content:(0,ct.jsx)("span",{"aria-hidden":"true",children:k}),children:z}):z,m===void 0?null:(0,ct.jsx)(Bt,{id:_,children:m})]})}),US=(0,La.forwardRef)(function({variant:t="primary",size:a="medium",shape:n="square",leadingIcon:l,trailingIcon:r,block:i,flush:o,className:s,external:c=!1,title:f,children:v,...u},m){let b=r??(c?(0,ct.jsx)(wp,{size:"sm"}):void 0);return(0,ct.jsx)("a",{...u,ref:m,className:eb({variant:t,size:a,shape:n,block:i,flush:o,className:s}),title:f,"aria-label":u["aria-label"]??(v===void 0?f:void 0),target:c?"_blank":u.target,rel:c?"noreferrer":u.rel,children:(0,ct.jsx)(Np,{leadingIcon:l,trailingIcon:b,children:v})})});var Ba=K(ht(),1),un=K(Te(),1),wl=(0,Ba.forwardRef)(function({label:t,icon:a,size:n="md",variant:l="ghost",pressed:r,disabledReason:i,tooltip:o,className:s,type:c="button",asChild:f=!1,disabled:v,onClick:u,title:m,children:b,...x},M){let d=(0,Ba.useId)(),h=H("crewlet-icon-btn",`crewlet-icon-btn--${n}`,`crewlet-icon-btn--${l}`,s),g=a??b;if(f){let O=Ba.Children.only(b);if(!(0,Ba.isValidElement)(O))throw new Error("IconButton with asChild expects exactly one valid React element child.");let j=O;return(0,Ba.cloneElement)(j,{...x,"aria-label":t,title:m??t,className:H(j.props.className,h)})}let w=i!==void 0,_=typeof o=="string"?o:o?t:void 0,k=_===void 0?void 0:du(_,i),N=(0,un.jsx)("button",{...x,ref:M,type:c,className:h,disabled:v,title:m??(k===void 0?t:""),"aria-label":t,"aria-pressed":r,"aria-disabled":w||void 0,"aria-describedby":w?H(x["aria-describedby"],d):x["aria-describedby"],onClick:O=>{if(w){O.preventDefault();return}u?.(O)},children:g});return(0,un.jsxs)(un.Fragment,{children:[k===void 0?N:(0,un.jsx)(Da,{content:(0,un.jsx)("span",{"aria-hidden":"true",children:k}),children:N}),w?(0,un.jsx)(Bt,{id:d,children:i}):null]})}),QS=(0,Ba.forwardRef)(function({label:t,href:a,icon:n,size:l="md",variant:r="ghost",current:i=!1,className:o,title:s,...c},f){return(0,un.jsx)("a",{...c,ref:f,href:a,className:H("crewlet-icon-btn",`crewlet-icon-btn--${l}`,`crewlet-icon-btn--${r}`,i&&"crewlet-icon-btn--current",o),title:s??t,"aria-label":t,"aria-current":i?"page":void 0,children:n})});var qa=K(ht(),1),ab=K(cr(),1);var ge=K(Te(),1);function nb({open:e,...t}){let a=vl();return e&&a?(0,ge.jsx)(L5,{container:a,...t},D5(a)):null}var tb=new WeakMap,Op=0;function D5(e){let t=tb.get(e);return t!==void 0?t:(Op+=1,tb.set(e,Op),Op)}function St(e){return e!=null&&e!==!1&&e!==""}function L5({container:e,onClose:t,title:a,subtitle:n,icon:l,footer:r,footerStart:i,headerActions:o,onBack:s,backLabel:c="Back",children:f,size:v="sm",variant:u="dialog",side:m="end",shape:b="framed",placement:x,phoneSheet:M=!1,role:d="dialog",dismissable:h=!0,closeOnBackdrop:g=!0,backdrop:w="veil",showCloseButton:_=!0,stackBody:k=!1,flush:N=!1,fill:O=!1,className:j,ariaLabel:z,describedBy:X,initialFocus:$,onSubmit:Se,closeLabel:ve="Close",closeDisabledReason:oe="Closing is unavailable until this finishes.",...L}){let Me=(0,qa.useId)(),se=`${Me}-title`,C=`${Me}-subtitle`,R=b==="prompt"&&u==="dialog",U=!R,be=u==="sheet",ze=x??(R?"center":"top"),ae=M&&u==="dialog"&&!R,lt=(0,qa.useRef)(null),I=(0,qa.useRef)(null),Ce=(0,qa.useRef)(null),At=(0,qa.useRef)($);At.current=$;let vt=(0,qa.useCallback)(()=>{let wt=At.current?.();if(wt)return wt;let rt=I.current?er(I.current)[0]:void 0;return rt||((Ce.current?er(Ce.current)[0]:void 0)??lt.current)},[]),Ze=Fw({onClose:t,dismissable:h,initialFocus:vt}),q=ml(lt,Ze.panelRef);$w(!0);let ee=St(a)?se:void 0,Je=X??(St(n)?C:void 0),qt={...L,ref:q,className:H("crewlet-modal",`crewlet-modal--${u}`,u==="dialog"?`crewlet-modal--${v}`:void 0,be&&m==="start"?"crewlet-modal--start":void 0,R?"crewlet-modal--prompt":void 0,j),role:d,"aria-modal":!0,"aria-labelledby":ee,"aria-label":ee===void 0?z:void 0,"aria-describedby":Je,tabIndex:-1},dt=U&&_,Zt=(0,ge.jsxs)(ge.Fragment,{children:[U&&(St(a)||St(n)||St(o)||dt||s)?(0,ge.jsxs)("div",{className:H("crewlet-modal__header",be?"crewlet-modal__header--sheet":St(n)?"crewlet-modal__header--subtitled":void 0),children:[s?(0,ge.jsx)(wl,{className:"crewlet-modal__back",label:c,icon:(0,ge.jsx)(pp,{size:"md"}),onClick:s}):null,St(l)?(0,ge.jsx)("span",{className:"crewlet-modal__icon","aria-hidden":"true",children:l}):null,(0,ge.jsxs)("div",{className:"crewlet-modal__heading",children:[St(a)?(0,ge.jsx)("h1",{className:H("crewlet-modal__title",be?"crewlet-modal__title--sheet":void 0),id:se,children:a}):null,St(n)?(0,ge.jsx)("p",{className:"crewlet-modal__subtitle",id:C,children:n}):null]}),St(o)?(0,ge.jsx)("div",{className:"crewlet-modal__actions",children:o}):null,dt?(0,ge.jsx)(wl,{className:"crewlet-modal__close",label:ve,icon:(0,ge.jsx)(Bo,{size:"md"}),onClick:t,disabledReason:h?void 0:oe}):null]}):null,St(f)||R&&St(a)?(0,ge.jsxs)("div",{ref:I,className:H("crewlet-modal__body",k?"crewlet-modal__body--stacked":void 0,N?"crewlet-modal__body--flush":void 0,O?"crewlet-modal__body--fill":void 0,be?"crewlet-modal__body--sheet":void 0),children:[R&&St(a)?(0,ge.jsx)("p",{className:"crewlet-modal__prompt-title",id:se,children:a}):null,(0,ge.jsx)(xw,{level:2,children:f})]}):null,St(r)||St(i)?(0,ge.jsxs)("div",{ref:Ce,className:H("crewlet-modal__footer",be?"crewlet-modal__footer--sheet":void 0),children:[St(i)?(0,ge.jsx)("div",{className:"crewlet-modal__footer-start",children:i}):null,(0,ge.jsx)("div",{className:"crewlet-modal__footer-end",children:r})]}):null]});return(0,ab.createPortal)((0,ge.jsx)("div",{ref:g?Ze.veilRef:void 0,className:H("crewlet-modal-overlay",`crewlet-modal-overlay--${u}`,`crewlet-modal-overlay--${ze}`,be&&m==="start"&&"crewlet-modal-overlay--start",ae&&"crewlet-modal-overlay--phone-sheet",w==="clear"&&"crewlet-modal-overlay--clear",e===document.body?"crewlet-modal-overlay--fixed":"crewlet-modal-overlay--in-host"),role:"presentation",style:{zIndex:Ze.zIndex},children:(0,ge.jsx)("div",{...qt,children:Se?(0,ge.jsx)("form",{className:"crewlet-modal__form",onSubmit:wt=>{wt.preventDefault(),Se()},children:Zt}):Zt})}),e)}function zp({open:e,onClose:t,onConfirm:a,title:n,message:l,children:r,confirmLabel:i="Confirm",cancelLabel:o="Cancel",destructive:s=!1,confirmVariant:c,cancelVariant:f="ghost",confirmDisabled:v=!1,confirmDisabledReason:u="Complete the confirmation above to continue.",submitting:m=!1,busyReason:b="Waiting for this to finish.",shape:x="prompt",size:M="sm"}){let d=`${(0,qa.useId)()}-message`,h=c??(s?"danger":"primary"),g=v||m,w=(0,qa.useCallback)(()=>{g||(async()=>{try{await a()}catch{}})()},[g,a]);return(0,ge.jsxs)(nb,{open:e,onClose:t,title:n,shape:x,size:M,role:s?"alertdialog":"dialog",describedBy:St(l)?d:void 0,dismissable:!m,closeDisabledReason:b,onSubmit:w,stackBody:!0,footer:(0,ge.jsxs)(ge.Fragment,{children:[(0,ge.jsx)(Ua,{variant:f,onClick:t,disabledReason:m?b:void 0,children:o}),(0,ge.jsx)(Ua,{type:"submit",variant:h,loading:m,disabledReason:v?u:void 0,children:i})]}),children:[St(l)?(0,ge.jsx)("p",{className:"crewlet-modal__message",id:d,children:l}):null,r]})}var U5=K(Te(),1);function bl(e){return`crewlet-presence-hue--${e}`}var mu=K(ht(),1);var hu=K(Te(),1),Gp={paths:["M543.42 868.92 l-34.44 -0.24 0 -58.77 0 -58.77 -28.92 0 -28.80 0 -40.20 -39.61 c-119.78 -118.25 -181.49 -179.97 -204.30 -204.30 -15.87 -16.93 -82.75 -96.74 -92.51 -110.38 l-3.76 -5.17 26.80 -18.46 c14.69 -10.11 34.09 -23.51 43.14 -29.86 55.25 -38.32 70.29 -48.43 71.12 -47.49 0.47 0.47 11.64 13.87 24.69 29.74 13.17 15.87 27.98 33.62 32.80 39.50 4.94 5.88 21.63 26.10 37.15 44.90 15.52 18.81 28.56 34.21 29.15 34.21 0.47 0.12 0.82 -30.44 0.82 -67.83 l0 -68.06 37.26 -34.56 c43.38 -40.20 61.83 -57.13 75.11 -69 l9.52 -8.46 261.78 0 261.90 0 47.14 45.73 c25.98 25.16 52.43 51.02 58.66 57.36 l11.52 11.52 0.24 67.94 0.35 67.83 31.74 -40.79 c17.51 -22.33 34.91 -45.02 38.91 -50.19 15.16 -20.34 44.32 -57.72 45.14 -58.07 0.71 -0.24 104.97 75.82 126.83 92.51 2.23 1.65 4.58 3.41 5.17 3.76 1.65 1.18 -7.99 14.22 -46.08 62.07 -35.38 44.32 -49.84 61.13 -92.39 106.97 -19.28 20.81 -38.91 41.73 -148.70 157.40 l-34.68 36.56 -26.45 0.12 c-19.04 0 -26.92 0.35 -27.98 1.41 -1.06 1.06 -1.41 15.05 -1.41 55.72 l0 54.31 -34.91 0.47 c-19.28 0.24 -53.72 0.24 -76.41 0 l-41.49 -0.47 0 -55.72 0 -55.72 -99.33 0 -99.33 0 -0.24 56.19 -0.35 56.07 -39.97 0 c-21.98 0 -55.48 -0.12 -74.29 -0.35z m94.74 -13.87 l7.17 -0.82 0 -54.89 c0 -49.02 0.24 -55.13 1.88 -55.72 1.06 -0.35 51.84 -0.71 112.85 -0.71 l110.97 0 0 55.84 0 55.84 62.89 0 62.89 0 0 -55.84 0 -55.84 31.50 0 31.50 0 14.69 -14.93 c30.80 -31.50 113.20 -118.49 144.47 -152.58 48.66 -53.01 81.34 -90.28 104.85 -119.43 22.80 -28.45 44.43 -56.42 44.43 -57.48 0 -0.59 -2 -2.47 -4.35 -4.23 -2.47 -1.76 -7.05 -5.17 -10.34 -7.64 -3.17 -2.35 -16.93 -12.34 -30.56 -22.22 -13.52 -9.87 -33.50 -24.57 -44.43 -32.68 -16.34 -12.11 -19.98 -14.34 -21.39 -13.17 -0.94 0.82 -5.88 6.82 -10.81 13.40 -4.94 6.47 -13.99 18.46 -20.10 26.57 -6.23 8.11 -26.57 34.44 -45.37 58.54 -18.81 24.10 -36.56 47.02 -39.50 50.78 -5.29 7.05 -5.29 7.05 -11.40 7.05 l-6.23 0 0 -79.58 0 -79.58 -37.85 -37.03 c-20.92 -20.45 -45.14 -44.08 -53.95 -52.66 l-15.99 -15.63 -256.84 0 -256.73 0 -47.49 44.20 c-26.21 24.33 -51.13 47.49 -55.60 51.37 l-7.88 7.05 0 79.11 0 79.23 -6.35 0 -6.35 0 -48.66 -58.54 c-26.80 -32.09 -55.95 -67.24 -64.89 -78.17 -8.93 -10.81 -16.69 -19.63 -17.16 -19.63 -0.94 0 -8.58 5.17 -34.32 22.92 -34.21 23.74 -46.08 31.86 -62.65 43.26 -10.34 7.05 -19.28 13.28 -19.87 13.87 -0.59 0.47 2.35 5.05 6.47 10.11 13.87 16.93 53.13 63.12 66.77 78.40 21.86 24.57 83.81 87.69 145.41 148.23 31.62 31.03 68.65 67.36 82.28 80.76 l24.69 24.45 33.50 0.24 33.38 0.35 0.35 59.13 0.24 59.01 53.37 0 c29.27 0 56.54 -0.35 60.54 -0.71z","M535.78 783.81 l-0.35 -59.13 -36.67 0 -36.67 0 -6.82 -6.47 c-48.78 -46.43 -176.91 -173.03 -210.41 -207.82 -24.69 -25.74 -75.70 -81.70 -93.69 -102.85 -3.29 -3.88 -5.29 -7.17 -4.70 -7.76 1.29 -1.06 58.30 -40.32 82.05 -56.42 l16.34 -11.05 3.64 4.47 c11.05 13.87 76.99 92.51 98.98 118.14 l25.74 29.97 15.63 0.35 15.52 0.35 0 -82.87 0 -82.75 50.55 -46.67 c27.86 -25.74 50.55 -47.14 50.55 -47.72 0 -0.59 46.78 -1.06 111.55 -1.06 l111.55 0 15.52 14.81 c15.28 14.58 15.52 14.69 17.98 12.58 1.29 -1.18 8.46 -7.76 15.75 -14.58 l13.40 -12.46 17.75 -0.71 c9.76 -0.47 58.77 -0.82 108.85 -0.82 l90.98 0 14.34 13.75 c7.76 7.64 24.57 23.86 37.15 36.20 12.58 12.34 29.15 28.45 36.67 35.85 l13.87 13.40 0.24 82.87 0.35 82.99 14.22 0.35 14.34 0.35 4.47 -5.64 c2.47 -3.06 11.52 -14.11 19.98 -24.45 8.46 -10.34 30.56 -38.32 49.14 -62.30 43.85 -56.42 46.20 -59.36 48.43 -59.36 2.12 0 4.82 1.88 47.96 33.27 43.02 31.27 45.37 33.03 45.37 34.09 0 0.82 -39.03 46.20 -62.42 72.53 -62.42 70.29 -106.50 117.67 -184.08 197.60 l-50.78 52.43 -13.28 0.71 c-7.29 0.47 -23.98 0.82 -37.03 0.82 l-23.86 0 0 57.01 0 57.01 -49.37 0 -49.37 0 0 -56.42 0 -56.42 -114.37 0 c-63.01 0 -120.13 0.35 -126.95 0.82 l-12.58 0.71 0 55.72 0 55.60 -47.61 0 -47.61 0 -0.24 -59.01z m443.16 -373.22 l-0.35 -119.66 -223.93 0.12 -223.93 0.12 -0.35 119.43 -0.24 119.55 224.52 0 224.52 0 -0.24 -119.55z","M546.36 516.39 c-0.24 -0.59 -0.47 -4.94 -0.35 -9.76 0 -4.82 0.12 -52.54 0.35 -106.15 l0.24 -97.21 209.59 0.24 209.47 0.35 0.35 106.73 0.24 106.62 -209.71 0 c-115.43 0 -209.94 -0.35 -210.18 -0.82z m121.07 -100.50 l-0.35 -66.18 -34.32 -0.35 -34.44 -0.24 0 66.41 0 66.41 34.68 0 34.68 0 -0.24 -66.06z m260.96 0 l-0.35 -66.18 -34.09 0 -34.09 0 0 10.93 c0 5.88 0.12 35.62 0.35 66.06 l0.24 55.25 34.09 0 34.09 0 -0.24 -66.06z"],box:{left:110.48999999999992,top:196.30999999999992,right:1389.0800000000002,bottom:869.2899999999998},centroid:{x:755.6746766446299,y:497.3295661269271}},pu=e=>e.reduce((t,a,n)=>{let l=e[(n+1)%e.length];return t+a[0]*l[1]-l[0]*a[1]},0);function lb(e,t,a){for(let n of e)n.forEach((l,r)=>{let i=n[(r+1)%n.length];l[1]!==i[1]&&a.push(l[1]<i[1]?{x0:l[0],y0:l[1],x1:i[0],y1:i[1],wind:1,add:t}:{x0:i[0],y0:i[1],x1:l[0],y1:l[1],wind:-1,add:t})})}var wi=(e,t)=>t===e.y0?e.x0:t===e.y1?e.x1:e.x0+(t-e.y0)*(e.x1-e.x0)/(e.y1-e.y0);function B5(e){let t=new Set;for(let a of e)t.add(a.y0),t.add(a.y1);for(let a=0;a<e.length;a+=1){let n=e[a];for(let l=a+1;l<e.length&&e[l].y0<n.y1;l+=1){let r=e[l],i=Math.max(n.y0,r.y0),o=Math.min(n.y1,r.y1);if(o<=i)continue;let s=wi(n,i)-wi(r,i),c=wi(n,o)-wi(r,o);s*c<0&&t.add(i+(o-i)*s/(s-c))}}return[...t].sort((a,n)=>a-n)}var q5=1e-9;function V5(){let e=new Map;return(t,a)=>{let n=e.get(t);n||e.set(t,n=[]);for(let l of n)if(Math.abs(l-a)<=q5)return l;return n.push(a),a}}function Y5(e,t,a,n){let l=e.map(f=>({e:f,a:n(t,wi(f,t)),b:n(a,wi(f,a))})).sort((f,v)=>f.a+f.b-(v.a+v.b)),r=[],i=0,o=0,s=!1,c=[0,0];for(let f=0;f<l.length;){let{a:v,b:u}=l[f];for(;f<l.length&&l[f].a===v&&l[f].b===u;f+=1){let{e:b}=l[f];b.add?i+=b.wind:o+=b.wind}let m=i!==0&&o===0;m&&!s?c=[v,u]:!m&&s&&r.push({left:c,right:[v,u]}),s=m}return r}function rb(e,t){let a=[],n=0;for(let[l,r]of e){let i=l;for(;n<t.length&&t[n][1]<=i;)n+=1;for(let o=n;o<t.length&&t[o][0]<r&&i<r;o+=1){let[s,c]=t[o];s>i&&a.push([i,s]),i=Math.max(i,c)}i<r&&a.push([i,r])}return a}function I5(e,t){let a=[];return t.forEach((n,l)=>{let r=e[l],i=e[l+1];for(let{left:o,right:s}of n)a.push([[s[0],r],[s[1],i]]),a.push([[o[1],i],[o[0],r]])}),e.forEach((n,l)=>{let r=l>0?t[l-1].map(({left:o,right:s})=>[o[1],s[1]]):[],i=l<t.length?t[l].map(({left:o,right:s})=>[o[0],s[0]]):[];for(let[o,s]of rb(i,r))a.push([[o,n],[s,n]]);for(let[o,s]of rb(r,i))a.push([[s,n],[o,n]])}),a.filter(([n,l])=>n[0]!==l[0]||n[1]!==l[1])}var Dp=1e-9;function j5(e){let t=[...e],a=!0;for(;a&&t.length>=3;){a=!1;let n=[];for(let l=0;l<t.length;l+=1){let r=n.length>0?n[n.length-1]:t[t.length-1],i=t[l],o=t[(l+1)%t.length],s=i[0]-r[0],c=i[1]-r[1],f=o[0]-i[0],v=o[1]-i[1],u=Math.hypot(s,c)<Dp,m=Math.abs(s*v-c*f)<Dp;if(u||m){a=!0;continue}n.push(i)}t=n}return t}function K5(e){let t=r=>`${r[0]} ${r[1]}`,a=new Map;e.forEach(([r],i)=>{let o=a.get(t(r));o?o.push(i):a.set(t(r),[i])});let n=new Uint8Array(e.length),l=[];return e.forEach((r,i)=>{if(n[i])return;let o=[],s=i;for(;s!==void 0;){n[s]=1;let[c,f]=e[s];if(o.push(c),f[0]===r[0][0]&&f[1]===r[0][1])break;s=a.get(t(f))?.find(v=>!n[v])}l.push(o)}),l.map(j5).filter(r=>r.length>=3&&Math.abs(pu(r))>Dp)}function Lp(e,t=[]){let a=[];lb(e,!0,a),lb(t,!1,a),a.sort((s,c)=>s.y0-c.y0);let n=B5(a),l=V5(),r=[],i=0,o=[];for(let s=0;s+1<n.length;s+=1){let c=n[s],f=n[s+1];for(;i<a.length&&a[i].y0<=c;)o.push(a[i++]);o=o.filter(v=>v.y1>c),r.push(Y5(o,c,f,l))}return K5(I5(n,r))}var X5=e=>e.reduce((t,a)=>t+pu(a),0)/2;function Q5(e){let t=0,a=0;for(let l of e)l.forEach((r,i)=>{let o=l[(i+1)%l.length],s=r[0]*o[1]-o[0]*r[1];t+=(r[0]+o[0])*s,a+=(r[1]+o[1])*s});let n=6*X5(e);return[t/n,a/n]}var Cp=e=>pu(e)<0?e.reverse():e;function fb(e,t,a=4){let n=[];for(let l of e)l.forEach((r,i)=>{let o=l[(i+1)%l.length],s=l[(i+2)%l.length],c=Math.hypot(o[0]-r[0],o[1]-r[1]),f=(o[1]-r[1])/c,v=-(o[0]-r[0])/c,u=Math.hypot(s[0]-o[0],s[1]-o[1]),m=(s[1]-o[1])/u,b=-(s[0]-o[0])/u,x=t;n.push(Cp([[r[0]+f*x,r[1]+v*x],[o[0]+f*x,o[1]+v*x],[o[0]-f*x,o[1]-v*x],[r[0]-f*x,r[1]-v*x]]));let M=(o[0]-r[0])*(s[1]-o[1])-(o[1]-r[1])*(s[0]-o[0]);if(M===0)return;let d=M>0?1:-1,h=[o[0]+d*f*x,o[1]+d*v*x],g=[o[0]+d*m*x,o[1]+d*b*x],w=f+m,_=v+b,k=w*w+_*_;if(k>0&&2/Math.sqrt(k)<=a){let N=[o[0]+d*w*2*x/k,o[1]+d*_*2*x/k];n.push(Cp([o,h,N,g]))}else n.push(Cp([o,h,g]))});return n}var ib=e=>Math.round(e*100)/100;function ob(e){return e.map(t=>`M${t.map(([n,l])=>`${ib(n)} ${ib(l)}`).filter((n,l,r)=>n!==r[l-1]).join("L")}Z`).join("")}var pb=["crewlet","hexlet","peaklet","prismlet","towerlet","bricklet","gemlet","coglet","pluslet","shieldlet","stacklet","sparklet","cloudlet","foxlet","rocketlet","crownlet","cactlet","wisplet","heartlet","flasklet","chiplet","duolet","chatlet","pagelet","archlet","dashlet","octlet","conelet","hivelet","folderlet"],Yo=e=>typeof e=="string"&&pb.includes(e),fu=96,Z5=1.35,gb=.9,Vo=1.3,J5=2,kp={full:{width:.164,height:.62},compact:{width:.19,height:.68},offset:.312},Rp={half:3.2,depth:2.6},sb=e=>Math.round(e*100)/100;function cb(e,t){let a=[];return e.forEach((n,l)=>{let r=typeof t=="number"?t:t[l]??0;if(!r){a.push(n);return}let i=o=>{let s=o[0]-n[0],c=o[1]-n[1],f=Math.min(r/Math.hypot(s,c),.45);return[n[0]+s*f,n[1]+c*f]};a.push(i(e[(l-1+e.length)%e.length]),i(e[(l+1)%e.length]))}),a}var ub=e=>`M${e.map(([t,a])=>`${sb(t)} ${sb(a)}`).join("L")}Z`;function je(e,t=0){let a=typeof t=="number"?e.map(()=>t):t;return pu(e)<0?cb([...e].reverse(),[...a].reverse()):cb(e,a)}var me=(e,t,a,n,l=0)=>je([[e,t],[e+a,t],[e+a,t+n],[e,t+n]],l),Ie=(e,t,a,n=10)=>[me(e,a,n,fu-a),me(t,a,n,fu-a)];function F5(e,t,a,n,l){let r=[];for(let i=0;i<l;i+=1){let o=(i*360/l-90)*(Math.PI/180);for(let[s,c]of[[n,-15],[a,-8.5],[a,8.5],[n,15]]){let f=o+c*(Math.PI/180);r.push([e+s*Math.cos(f),t+s*Math.sin(f)])}}return je(r)}function $5(e){let t=e.flat(),a=t.map(([i])=>i),n=t.map(([,i])=>i),l=Math.min(...a),r=Math.min(...n);return{x:l,y:r,width:Math.max(...a)-l,height:Math.max(...n)-r}}var W5=([e,t,a,n])=>({x:e,y:t,width:a,height:n}),mb=new WeakMap;function Ee(e){let t=e.holes??[],a,n={kind:"drawn",name:e.name,shape:e.shape,shapes:e.shapes.map(ub),holes:t.map(ub),visor:W5(e.visor),notch:e.notch===void 0?null:[e.notchX??50,e.notch],get bounds(){return a??(a=$5([...qp(n),...vb(n)]))}};return mb.set(n,{parts:e.shapes,holes:t}),n}var gu=e=>mb.get(e);function qp(e){let t=gu(e);return t.silhouette??(t.silhouette=Lp(t.parts))}function vb(e){let t=gu(e);return t.reach??(t.reach=fb(qp(e),gb+Z5))}var Up=.095,wb=760,bb=869,Bp=(e,t)=>[50+(e-wb)*Up,fu+(t-bb)*Up],P5=Bp(Gp.centroid.x,Gp.centroid.y);function e_(){let{paths:e,box:t}=Gp,[a,n]=Bp(t.left,t.top),[l,r]=Bp(t.right,t.bottom);return{kind:"mark",name:"Crewlet",shape:"The original mark, arms raised",transform:`translate(50 ${fu}) scale(${Up}) translate(${-wb} ${-bb})`,keyline:e[0],body:[e[1],e[2]],bounds:{x:a,y:n,width:l-a,height:r-n}}}var Vp={crewlet:e_(),hexlet:Ee({name:"Hexlet",shape:"Hexagon with pointed flanks",shapes:[je([[30,22],[70,22],[86,54],[70,86],[30,86],[14,54]],[5,5,4,4,4,4]),...Ie(34,56,84)],visor:[28,38,44,20],notch:22}),peaklet:Ee({name:"Peaklet",shape:"Pentagon with a peaked roof",shapes:[je([[50,12],[82,36],[82,86],[18,86],[18,36]],[6,5,4,4,5]),...Ie(28,62,84)],visor:[26,44,48,20]}),prismlet:Ee({name:"Prismlet",shape:"Triangle with cut tips",shapes:[je([[50,10],[90,86],[10,86]],[9,8,8]),...Ie(28,62,84)],visor:[31,54,38,18]}),towerlet:Ee({name:"Towerlet",shape:"Tall pillar, narrow stance",shapes:[me(32,12,36,74,[8,8,4,4]),...Ie(35,55,84)],visor:[36,24,28,16],notch:12}),bricklet:Ee({name:"Bricklet",shape:"Wide, low slab",shapes:[me(10,42,80,44,[9,9,6,6]),...Ie(22,68,84)],visor:[21,50,58,19],notch:42}),gemlet:Ee({name:"Gemlet",shape:"Diamond on its point",shapes:[je([[50,6],[90,48],[50,90],[10,48]],[7,7,16,7]),...Ie(40,52,76,8)],visor:[27,38,46,20]}),coglet:Ee({name:"Coglet",shape:"Eight-tooth gear",shapes:[F5(50,52,37,31,8),...Ie(36,54,78)],visor:[30,40,40,18]}),pluslet:Ee({name:"Pluslet",shape:"Cross with squared arms",shapes:[me(34,14,32,72,[7,7,0,0]),me(10,34,80,30,7),...Ie(37,53,84)],visor:[20,40,60,18],notch:14}),shieldlet:Ee({name:"Shieldlet",shape:"Flat crown, pointed base",shapes:[je([[16,16],[84,16],[84,54],[50,92],[16,54]],[9,9,5,14,5]),...Ie(41,51,79,8)],visor:[26,28,48,20],notch:16}),stacklet:Ee({name:"Stacklet",shape:"Stepped crown, square base",shapes:[je([[34,12],[66,12],[66,26],[82,26],[82,86],[18,86],[18,26],[34,26]],[4,4,0,5,4,4,5,0]),...Ie(28,62,84)],visor:[26,40,48,20],notch:12}),sparklet:Ee({name:"Sparklet",shape:"Faceted drop",shapes:[je([[50,8],[80,48],[78,74],[64,86],[36,86],[22,74],[20,48]],[6,4,2,2,2,2,4]),...Ie(36,54,84)],visor:[30,48,40,18]}),cloudlet:Ee({name:"Cloudlet",shape:"Three-lobed cloud",shapes:[me(14,44,72,42,[0,0,8,8]),me(16,30,32,32,9),me(33,18,34,34,10),me(56,32,30,30,9),...Ie(30,60,84)],visor:[24,48,52,18],notch:18}),foxlet:Ee({name:"Foxlet",shape:"Square body, pointed ears",shapes:[me(18,34,64,52,6),je([[20,36],[26,12],[44,36]],[0,4,0]),je([[56,36],[74,12],[80,36]],[0,4,0]),...Ie(28,62,84)],visor:[26,46,48,20]}),rocketlet:Ee({name:"Rocketlet",shape:"Nose cone and swept fins",shapes:[je([[50,6],[66,26],[66,80],[34,80],[34,26]],[5,3,3,3,3]),je([[34,54],[34,80],[18,90],[18,70]],[0,0,3,3]),je([[66,54],[82,70],[82,90],[66,80]],[0,3,3,0]),...Ie(37,55,80,8)],visor:[37,32,26,16]}),crownlet:Ee({name:"Crownlet",shape:"Three-point crown",shapes:[me(18,40,64,46,[0,0,6,6]),je([[18,44],[18,18],[34,32],[50,12],[66,32],[82,18],[82,44]],[0,3,0,3,0,3,0]),...Ie(28,62,84)],visor:[27,48,46,20]}),cactlet:Ee({name:"Cactlet",shape:"Trunk with two raised arms",shapes:[me(32,12,36,74,[10,10,0,0]),me(16,50,18,9,[0,0,0,3]),me(16,28,9,31,[4.5,4.5,0,3]),me(66,58,18,9,[0,0,3,0]),me(75,38,9,29,[4.5,4.5,3,0]),...Ie(36,54,84)],visor:[37,26,26,16],notch:12}),wisplet:Ee({name:"Wisplet",shape:"Tall ghost with a zigzag hem",shapes:[je([[16,10],[84,10],[84,92],[72.5,82],[61,92],[50,82],[39,92],[27.5,82],[16,92]],[14,14,2,0,2,0,2,0,2])],visor:[26,28,48,20],notch:10}),heartlet:Ee({name:"Heartlet",shape:"Faceted heart",shapes:[je([[50,26],[62,14],[78,14],[90,26],[90,44],[50,84],[10,44],[10,26],[22,14],[38,14]],[0,3,3,3,4,6,4,3,3,3]),...Ie(41,51,74,8)],visor:[23,30,54,18]}),flasklet:Ee({name:"Flasklet",shape:"Lab flask with a narrow neck",shapes:[me(35,6,30,7,2),me(40,10,20,22),je([[40,28],[60,28],[86,80],[86,86],[14,86],[14,80]],[0,0,6,3,3,6]),...Ie(26,64,84)],visor:[33,54,34,14],notch:6}),chiplet:Ee({name:"Chiplet",shape:"Square chip with pins",shapes:[me(24,20,52,60,6),...[31,47,63].map(e=>me(e,11,6,10)),...[32,47,62].map(e=>me(15,e,10,6)),...[32,47,62].map(e=>me(75,e,10,6)),...[31,47,63].map(e=>me(e,78,6,18))],holes:[me(29,70,5,5)],visor:[31,34,38,18]}),duolet:Ee({name:"Duolet",shape:"Small head on a wide body",shapes:[me(30,10,40,34,8),me(18,40,64,46,6),...Ie(28,62,84)],visor:[36,19,28,15],notch:10}),chatlet:Ee({name:"Chatlet",shape:"Speech bubble with a tail",shapes:[me(14,22,72,54,8),je([[26,72],[46,72],[22,94]],[0,0,2])],visor:[24,34,52,22],notch:22}),pagelet:Ee({name:"Pagelet",shape:"Page with a folded corner",shapes:[je([[20,10],[64,10],[80,26],[80,86],[20,86]],[4,0,0,4,4]),...Ie(28,62,84)],holes:[me(63.3,10,1.4,17.4),me(63.3,25.3,17,1.4)],visor:[27,36,46,20],notch:10}),archlet:Ee({name:"Archlet",shape:"Gate with built-in legs",shapes:[je([[16,18],[84,18],[84,96],[64,96],[64,74],[36,74],[36,96],[16,96]],[8,8,0,0,4,4,0,0])],visor:[25,30,50,22],notch:18}),dashlet:Ee({name:"Dashlet",shape:"Body leaning forward",shapes:[je([[29,14],[87,14],[71,86],[13,86]],6),...Ie(20,48,84)],visor:[31.5,28,42,20],notch:14,notchX:58}),octlet:Ee({name:"Octlet",shape:"Regular octagon",shapes:[me(16,16,68,68,20),...Ie(35,55,81)],visor:[26,36,48,22],notch:16}),conelet:Ee({name:"Conelet",shape:"Narrow crown, wide base",shapes:[je([[30,12],[70,12],[88,84],[12,84]],[6,6,5,5]),...Ie(26,64,82)],visor:[28,40,44,20],notch:12}),hivelet:Ee({name:"Hivelet",shape:"Upright honeycomb cell",shapes:[je([[50,6],[84,24],[84,72],[50,90],[16,72],[16,24]],[6,4,4,6,4,4]),...Ie(40,52,80,8)],visor:[25,36,50,20]}),folderlet:Ee({name:"Folderlet",shape:"Folder with a tab",shapes:[je([[12,14],[38,14],[50,26],[88,26],[88,84],[12,84]],[4,0,0,6,5,5]),...Ie(26,64,82)],visor:[24,40,52,22]})},db=.5,Hp=(e,t,a,n)=>[[e,t],[e+a,t],[e+a,t+n],[e,t+n]];function t_(e){let t=1/0;return e.forEach((a,n)=>{let l=e[(n+1)%e.length],r=Math.hypot(l[0]-a[0],l[1]-a[1]);if(r===0)return;let i=Math.max(...e.map(o=>Math.abs((l[0]-a[0])*(o[1]-a[1])-(l[1]-a[1])*(o[0]-a[0]))/r));t=Math.min(t,i)}),t}function a_(e,t){let{visor:a,notch:n}=e,l=t==="full",r=l?kp.full:kp.compact,i=a.width*r.width,o=a.height*r.height,s=a.y+(a.height-o)/2,c=a.x+a.width/2,f=a.width*kp.offset,v=[c-f,c+f].map(u=>Hp(u-i/2,s,i,o));n&&v.push([[n[0]-Rp.half,n[1]-1],[n[0]+Rp.half,n[1]-1],[n[0],n[1]+Rp.depth]]);for(let u of gu(e).holes)(l||t_(u)>J5)&&v.push(u);if(l){let u=Vo/2;v.push(Hp(a.x-u,a.y-u,a.width+Vo,a.height+Vo)),v.push([...Hp(a.x+u,a.y+u,a.width-Vo,a.height-Vo)].reverse())}return v}function yb(e,t){let a=e.x+e.width/2,n=e.y+e.height/2,l=a+db*(t[0]-a),r=n+db*(t[1]-n),i=Math.max(e.width+2*Math.abs(l-a),e.height+2*Math.abs(r-n));return{x:l-i/2,y:r-i/2,width:i,height:i}}function n_(e){let{parts:t}=gu(e),a=qp(e),n={},l=i=>ob(Lp(t,a_(e,i))),r=()=>ob(Lp([...a,...vb(e)],[...a,...fb(a,gb)]));return{frame:yb(e.bounds,Q5(a)),paths:i=>n[i]??(n[i]=i==="full"?[r(),l("full")]:[l("compact")])}}var hb=new Map;function l_(e){let t=hb.get(e);if(t)return t;let a=Vp[e];if(a.kind==="mark"){let n=[a.keyline,...a.body];t={frame:yb(a.bounds,P5),paths:l=>l==="full"?n:a.body}}else t=n_(a);return hb.set(e,t),t}var r_=e=>Math.round(e*100)/100,i_=({character:e,detail:t="full",...a})=>{let n=Vp[e],{frame:l,paths:r}=l_(e),i=r(t).map(o=>(0,hu.jsx)("path",{d:o},o));return(0,hu.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:[l.x,l.y,l.width,l.height].map(r_).join(" "),width:"1em",height:"1em","aria-hidden":"true",focusable:"false","data-character":e,"data-detail":t,...a,children:(0,hu.jsx)("g",{fill:"currentColor",transform:n.kind==="mark"?n.transform:void 0,children:i})})},Yp=i_;var Mt=K(Te(),1);var o_={working:"working",needs:"needs you",stopped:"stopped"},vu={xs:20,sm:26,md:32,lg:40},s_=16,c_=2/9,xb=e=>Number.parseFloat(e),_b={min:xb(Sp.xs),max:xb(Sp.lg)},u_=/^agent(?:[\s._-]+)(?=\S)/i;function Tb(e,t){if(e===void 0||t!=="agent")return e;let a=e.replace(u_,"");return a.trim()?a:e}var d_=56,Eb=e=>{if(!e)return"?";let t=e.trim().split(/[\s\-_.:]+/).map(r=>r.replace(/^\p{P}+|\p{P}+$/gu,"")).filter(Boolean);if(t.length===0)return"?";let a=r=>(Array.from(r)[0]??"").toUpperCase();if(t.length>=2)return t.slice(0,2).map(a).join("")||"?";let n=t[0],l=n.split(/(?<=\p{Ll})(?=\p{Lu})/u);return l.length>=2?l.slice(0,2).map(a).join(""):Array.from(n).slice(0,2).map(r=>r.toUpperCase()).join("")||"?"},h_=10,f_=e=>{let t=0;for(let a=0;a<e.length;a+=1)t=t*31+e.charCodeAt(a)>>>0;return t%h_};function p_(e){return e==="text"?s_:typeof e=="number"?e:vu[e]}function Sb(e){return Math.min(_b.max,Math.max(_b.min,e*c_))}var Io=({src:e,name:t,size:a="md",kind:n="agent",tone:l="neutral",ring:r,status:i,mark:o,markLabel:s,decorative:c=!1,colorSeed:f,character:v,hue:u,icon:m,className:b,style:x,...M})=>{let[d,h]=(0,mu.useState)(!1);(0,mu.useEffect)(()=>{h(!1)},[e]);let g=a==="text",w=typeof a=="number"||g?null:a,_=p_(a),k=w===null&&!g?{"--crewlet-avatar-size":`${_}px`,fontSize:Math.max(9,Math.round(_*.36))}:{},N=l==="seeded"?f_(f??t??""):null,O=i===void 0&&o!==void 0&&o!==null,j=i!==void 0||O,z=i!==void 0?o_[i]:O?s:void 0,X=t?`${t} avatar`:"Avatar",$=z?`${X}, ${z}`:X,Se=H("crewlet-avatar",`crewlet-avatar--${n}`,w===null?null:`crewlet-avatar--${w}`,g?"crewlet-avatar--text":null,j?"crewlet-avatar--notched":null,r===void 0||j?null:`crewlet-avatar--ring-${r}`,j?null:b),ve=j?k:{...k,...x};function oe(){return v!==void 0&&n==="agent"?(0,Mt.jsx)("span",{...M,className:H(Se,"crewlet-avatar--character",u===void 0?"crewlet-avatar--neutral":`crewlet-avatar--hue-${u}`),style:ve,role:c?void 0:"img","aria-hidden":c?!0:void 0,"aria-label":c?void 0:$,children:(0,Mt.jsx)(Yp,{className:"crewlet-avatar__character",character:v,detail:_>=d_?"full":"compact"})}):e&&!d?(0,Mt.jsx)("img",{...M,className:H(Se,"crewlet-avatar--image"),style:ve,src:e,alt:c?"":z?`${t??""}, ${z}`:t??"","aria-hidden":c?!0:void 0,onError:()=>h(!0)}):(0,Mt.jsx)("span",{...M,className:H(Se,"crewlet-avatar--fallback",`crewlet-avatar--${l}`,N===null?null:`crewlet-avatar--tint-${N}`,m==null?null:"crewlet-avatar--icon"),style:ve,role:c?void 0:"img","aria-hidden":c?!0:void 0,"aria-label":c?void 0:$,children:m==null?g?(0,Mt.jsx)("span",{className:"crewlet-avatar__initials",children:Eb(Tb(t,n))}):Eb(Tb(t,n)):(0,Mt.jsx)("span",{className:"crewlet-avatar__icon","aria-hidden":"true",children:m})})}let L=oe();return j?(0,Mt.jsxs)("span",{className:H("crewlet-avatar-frame",b),style:g?x:{"--crewlet-avatar-size":`${_}px`,...x},children:[L,i!==void 0?(0,Mt.jsx)("span",{className:`crewlet-avatar__status crewlet-avatar__status--${i}`,"aria-hidden":"true",children:g_[i]}):(0,Mt.jsx)("span",{className:"crewlet-avatar__status crewlet-avatar__status--mark","aria-hidden":"true",children:o})]}):L},g_={working:(0,Mt.jsx)("svg",{viewBox:"0 0 14 14",focusable:"false",children:(0,Mt.jsx)("path",{d:"M5.4 3.9 10.2 7l-4.8 3.1z",fill:"currentColor"})}),needs:(0,Mt.jsxs)("svg",{viewBox:"0 0 14 14",focusable:"false",children:[(0,Mt.jsx)("path",{d:"M5.1 5.3a1.9 1.9 0 1 1 2.7 1.7c-.55.27-.8.62-.8 1.15v.3",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,Mt.jsx)("circle",{cx:"7",cy:"10.45",r:".85",fill:"currentColor"})]}),stopped:(0,Mt.jsx)("svg",{viewBox:"0 0 14 14",focusable:"false",children:(0,Mt.jsx)("rect",{x:"4.6",y:"4.6",width:"4.8",height:"4.8",rx:".7",fill:"currentColor"})})};var Rn=K(Te(),1);function Ip({members:e,self:t=!0,max:a=4,size:n="sm",onSelect:l,label:r,labels:i,className:o}){if(!Number.isInteger(a)||a<1)throw new RangeError(`PresenceStack max must be a whole number of at least 1; it was ${a}`);let s=Go(i),c=Gf(e);if(c.length===0&&!t)return null;let f=c.slice(0,a),v=c.slice(a),u=r??s.here(c.length,t),m=[u,...c.map(d=>s.member(d))].join(". "),b=d=>(0,Rn.jsx)(Io,{name:d.name,kind:d.kind,src:d.src,character:d.character!==void 0&&Yo(d.character)?d.character:void 0,hue:d.kind==="agent"?d.hue:void 0,size:n,decorative:!0,className:H("crewlet-presence-stack__badge",d.hue!==void 0&&d.activity!=="idle"&&bl(d.hue),d.hue!==void 0&&d.activity!=="idle"&&"crewlet-presence-stack__badge--present",d.activity==="idle"&&"crewlet-presence-stack__badge--idle")}),x=v.length>0?(0,Rn.jsxs)("span",{className:"crewlet-avatar-stack__member crewlet-avatar-stack__more","aria-hidden":"true",children:["+",v.length]}):null,M={"--crewlet-avatar-stack-size":`${vu[n]}px`,"--crewlet-presence-stack-corner":`${Sb(vu[n])}px`};return l===void 0?c.length===0?null:(0,Rn.jsxs)("span",{className:H("crewlet-avatar-stack","crewlet-presence-stack",o),style:M,role:"img","aria-label":m,children:[f.map(d=>(0,Rn.jsx)("span",{className:H("crewlet-avatar-stack__member","crewlet-presence-stack__member",`crewlet-presence-stack__member--${d.kind}`),children:b(d)},d.id)),x]}):(0,Rn.jsxs)("div",{className:H("crewlet-avatar-stack","crewlet-presence-stack",o),style:M,role:"group","aria-label":u,children:[f.map(d=>(0,Rn.jsx)("button",{type:"button",className:H("crewlet-avatar-stack__member","crewlet-presence-stack__member",`crewlet-presence-stack__member--${d.kind}`),"aria-label":s.member(d),title:s.member(d),onClick:()=>l(d),children:b(d)},d.id)),x,v.length>0?(0,Rn.jsx)(Bt,{children:`${s.more(v.length)}: ${v.map(d=>s.member(d)).join(", ")}`}):null]})}var jp=K(ht(),1),m_=K(Te(),1),Mb={text:"",n:0},v_=new Set,w_=0;function b_(e){if(e!==""){if(w_===0){console.warn("[crewlet] announce() was called with no <Announcer> mounted, so nothing was said:",e);return}Mb={text:e,n:Mb.n+1};for(let t of[...v_])t()}}function Ab(){return(0,jp.useCallback)(b_,[])}var Oa=K(ht(),1),yl=K(Te(),1);function Nb({label:e,max:t=6,overflow:a="expand",moreLabel:n=s=>`+${s} more`,countLabel:l=s=>`+${s}`,expandedMessage:r=s=>`Showing all ${s}.`,className:i,children:o}){let[s,c]=(0,Oa.useState)(!1),f=Ab(),v=(0,Oa.useRef)(null),u=Oa.Children.toArray(o),m=a==="fit",b=y_(v,m,u.length),x=m?u.slice(0,b):s?u:u.slice(0,t),M=u.length-x.length;return(0,yl.jsxs)("ul",{ref:v,tabIndex:-1,className:H("crewlet-tag-group",m&&"crewlet-tag-group--fit",i),"aria-label":`${e}, ${u.length}`,children:[x.map((d,h)=>(0,yl.jsx)("li",{className:"crewlet-tag-group__item",children:d},h)),M>0&&m?(0,yl.jsx)("li",{className:"crewlet-tag-group__item","data-count":"",children:(0,yl.jsx)("span",{className:"crewlet-tag-group__count",children:l(M)})}):M>0?(0,yl.jsx)("li",{className:"crewlet-tag-group__item",children:(0,yl.jsx)("button",{type:"button",className:"crewlet-tag-group__more",onClick:()=>{c(!0),v.current?.focus(),f(r(u.length))},children:n(M)})}):null]})}function y_(e,t,a){let[n,l]=(0,Oa.useState)(a),r=(0,Oa.useRef)(null);return(0,Oa.useLayoutEffect)(()=>{t&&l(a)},[t,a]),(0,Oa.useLayoutEffect)(()=>{let i=e.current;if(!t||!i)return;let o=[...i.children],s=o[0];if(!s)return;let c=s.offsetTop,f=c+s.offsetHeight,v=d=>d.offsetTop===c||d.offsetTop<f,u=o.filter(d=>!d.hasAttribute("data-count")),m=o.find(d=>d.hasAttribute("data-count")),b=u.filter(v).length,x=m&&!v(m)?b-1:b,M=Math.max(1,Math.min(x,u.length));M<u.length&&l(M)},[e,t,n,a]),(0,Oa.useLayoutEffect)(()=>{let i=e.current;if(!t||!i||typeof ResizeObserver!="function")return;let o=new ResizeObserver(([s])=>{let c=s?.contentRect.width??0;r.current!==null&&r.current!==c&&l(a),r.current=c});return o.observe(i),()=>o.disconnect()},[e,t,a]),t?n:a}var jo=K(Te(),1);function Ob({name:e,hue:t,kind:a="human",editing:n=!1,placement:l="top-end",className:r,...i}){let o=typeof e=="string"?e:e.join(", ");return(0,jo.jsxs)("span",{...i,"aria-hidden":"true",className:H("crewlet-cursor-flag",bl(t),`crewlet-cursor-flag--${a}`,`crewlet-cursor-flag--${l}`,r),children:[n?(0,jo.jsx)(bp,{size:"xs",className:"crewlet-cursor-flag__glyph"}):null,(0,jo.jsx)("span",{className:"crewlet-cursor-flag__name",children:o})]})}var Kp=K(Te(),1);function zb({by:e,at:t,previous:a=null,locale:n,className:l,labels:r}){let i=nu({by:e,at:t},Do(r),a,n);return(0,Kp.jsx)(Da,{content:i,children:(0,Kp.jsx)("span",{"aria-hidden":"true",className:H("crewlet-change-mark",l)})})}var Ko=K(Te(),1);function Xo({tone:e="neutral",pulse:t=!1,children:a,wrap:n=!1,className:l}){let r=a!=null&&a!==!1&&a!=="",i=(0,Ko.jsx)("span",{"aria-hidden":!0,className:H("crewlet-status-dot",`crewlet-status-dot--${e}`,t&&"is-pulsing",!r&&l)});return r?(0,Ko.jsxs)("span",{className:H("crewlet-status",n&&"crewlet-status--wrap",l),children:[i," ",(0,Ko.jsx)("span",{className:"crewlet-status__label",children:a})]}):i}var Qt=K(Te(),1);function wu(e){let{variant:t="neutral",hue:a,appearance:n="soft",size:l="sm",leadingIcon:r,dot:i=!1,count:o,monospace:s=!1,animateIn:c=!1,onClick:f,pressed:v,onRemove:u,removeAriaLabel:m="Remove tag",className:b,children:x,...M}=e,d=f!==void 0,h=d||u!==void 0,g=d&&u!==void 0;h&&l==="xs"&&console.warn('[crewlet] Tag size="xs" cannot act: an interactive tag starts at "sm", so its target clears 24px. Drawn at "sm".');let w=h&&l==="xs"?"sm":l,_=H("crewlet-tag",a===void 0?`crewlet-tag--${t}`:`crewlet-tag--hue-${a}`,`crewlet-tag--${n}`,`crewlet-tag--${w}`,s&&"crewlet-tag--monospace",c&&"crewlet-tag--animate-in",h&&"crewlet-tag--acts",d&&!g&&"crewlet-tag--actionable",g&&"crewlet-tag--split",g&&v===!0&&"is-pressed",b),k=(0,Qt.jsxs)(Qt.Fragment,{children:[i?(0,Qt.jsx)(Xo,{tone:a===void 0?t:"neutral",className:"crewlet-tag__dot"}):null,r?(0,Qt.jsx)("span",{className:"crewlet-tag__icon","aria-hidden":!0,children:r}):null,(0,Qt.jsx)("span",{className:"crewlet-tag__label",children:x}),o===void 0?null:(0,Qt.jsx)("span",{className:"crewlet-tag__count",children:o})]}),N=u===void 0?null:(0,Qt.jsx)("button",{type:"button",className:"crewlet-tag__remove",onClick:O=>{O.stopPropagation(),u()},"aria-label":m,children:(0,Qt.jsx)(Bo,{size:"xs"})});return g?(0,Qt.jsxs)("span",{...M,className:_,children:[(0,Qt.jsx)("button",{type:"button",className:"crewlet-tag__press",onClick:f,"aria-pressed":v===!0,children:k}),N]}):d?(0,Qt.jsx)("button",{...M,type:"button",className:_,onClick:f,"aria-pressed":v===!0,children:k}):(0,Qt.jsxs)("span",{...M,className:_,children:[k,N]})}var Qe=K(ht(),1),Cb=K(cr(),1),bi=K(Te(),1);function kb({trigger:e,children:t,align:a="start",side:n="bottom",width:l="auto",alignOffset:r,sideOffset:i=at,initialFocus:o,role:s="dialog",label:c,entrance:f="rise",className:v,open:u,defaultOpen:m=!1,onOpenChange:b}){let M=`${(0,Qe.useId)()}-popover`,[d,h]=(0,Qe.useState)(m),g=u??d,w=(0,Qe.useRef)(null),_=(0,Qe.useRef)(null),[k,N]=(0,Qe.useState)(null),O=vl(),j=(0,Qe.useRef)(u!==void 0),z=(0,Qe.useRef)(b),X=(0,Qe.useRef)(r),$=(0,Qe.useRef)(o);j.current=u!==void 0,z.current=b,X.current=r,$.current=o;let Se=(0,Qe.useCallback)((I,Ce)=>{j.current||h(I),z.current?.(I,Ce)},[]),ve=(0,Qe.useCallback)(I=>{let Ce=_.current?.contains(document.activeElement)??!1;(I==="escape"||I==="tab"||I==="content"&&Ce)&&si(w.current),Se(!1,I)},[Se]),oe=mi({open:g,onDismiss:ve}),L=(0,Qe.useCallback)(()=>{let I=w.current,Ce=_.current;if(!I||!Ce||!O)return;let At=O!==document.body,vt=At?O.getBoundingClientRect():kn(),Ze=I.getBoundingClientRect();Ce.style.width=l==="match"?`${Ze.width}px`:"";let q=Ce.getBoundingClientRect(),ee=X.current,Je=typeof ee=="function"?ee(Ce,I):ee??0,qt={x:(a==="end"?Ze.right-q.width:Ze.left)+Je-(At?vt.x:0),y:Ze.top-(At?vt.y:0),width:Ze.width,height:Ze.height},dt={x:at,y:at,width:vt.width-2*at,height:vt.height-2*at};if(fi(Ze,vt,At)){ve("anchor-gone");return}let Zt=l==="match"?Ze.width:void 0,wt=hi(qt,{width:q.width,height:q.height},dt,i,n==="top"?"above":"below");N(rt=>rt&&rt.left===wt.left&&rt.top===wt.top&&rt.side===wt.side&&rt.width===Zt?rt:{left:wt.left,top:wt.top,side:wt.side,width:Zt})},[a,ve,O,n,i,l]);(0,Qe.useLayoutEffect)(()=>{if(!g)return;L();let I=()=>L();O?.addEventListener(Cn,I),window.addEventListener("resize",I),window.addEventListener("scroll",I,!0);let Ce=typeof ResizeObserver=="function"?new ResizeObserver(I):null;return _.current&&Ce?.observe(_.current),()=>{O?.removeEventListener(Cn,I),window.removeEventListener("resize",I),window.removeEventListener("scroll",I,!0),Ce?.disconnect()}},[g,O,L]),(0,Qe.useEffect)(()=>{g||N(null)},[g]);let Me=g&&k!==null;(0,Qe.useEffect)(()=>{if(!Me||s!=="dialog")return;let I=_.current;I&&!I.contains(document.activeElement)&&($.current?.()??er(I)[0]??I).focus()},[Me,s]);let se=(0,Qe.useCallback)(()=>{g?ve("trigger"):Se(!0,"trigger")},[ve,g,Se]),C=e(g,se),R=s==="none"?void 0:s,U=ml(w,oe.insideRef,C.props.ref),be=(0,Qe.cloneElement)(C,{ref:U,"aria-expanded":g,"aria-haspopup":C.props["aria-haspopup"]??R,"aria-controls":g?M:void 0});function ze(I){I.key!=="Escape"&&I.key!=="Tab"&&!I.ctrlKey&&!I.metaKey&&!I.altKey&&I.stopPropagation()}let ae=k?{left:k.left,top:k.top,width:k.width}:{visibility:"hidden"},lt=g?(0,bi.jsx)("div",{ref:I=>{_.current=I,oe.panelRef(I)},id:M,className:H("crewlet-popover",`crewlet-popover--${k?.side??(n==="top"?"above":"below")}`,O!==null&&O!==document.body?"crewlet-popover--in-host":"crewlet-popover--fixed",f==="instant"&&"crewlet-popover--instant",v),style:{...ae,zIndex:oe.zIndex},role:s==="none"?void 0:s,"aria-label":s==="none"?void 0:c,"aria-modal":s==="dialog"?!1:void 0,tabIndex:s==="dialog"?-1:void 0,onKeyDown:ze,onPointerDown:I=>I.stopPropagation(),onClick:I=>I.stopPropagation(),children:typeof t=="function"?t(()=>ve("content")):t}):null;return(0,bi.jsxs)(bi.Fragment,{children:[be,lt&&O?(0,Cb.createPortal)(lt,O):null]})}var De=K(ht(),1),Rb=K(cr(),1);var ut=K(Te(),1),x_="[role='menuitem'],[role='menuitemradio']";function __(e){let t=[];for(let a of e){if(a.kind==="separator"){t.push({kind:"separator",key:a.key});continue}let n=t[t.length-1];a.checked===void 0?t.push({kind:"action",item:a}):n?.kind==="answers"?n.items.push(a):t.push({kind:"answers",key:`${a.key}:answers`,items:[a]})}return t}function Hb({label:e,items:t,icon:a,trigger:n,trailingIcon:l,triggerVariant:r="ghost",valueTrigger:i=!1,triggerTabIndex:o,open:s,onOpenChange:c,align:f="start",width:v="content",renderTrigger:u,header:m,tooltip:b,entrance:x="rise",activeDescendant:M=!1,className:d}){let h=(0,De.useId)(),g=`${h}-menu`,w=`${h}-header`,_=S=>`${h}-item-${S}`,[k,N]=(0,De.useState)(-1),[O,j]=(0,De.useState)(!1),z=s??O,X=(0,De.useRef)(null),$=(0,De.useRef)(null),Se=(0,De.useRef)(null),ve=(0,De.useRef)("first"),[oe,L]=(0,De.useState)(null),Me=vl(),se=(0,De.useRef)(s!==void 0),C=(0,De.useRef)(c),R=(0,De.useRef)(M);se.current=s!==void 0,C.current=c,R.current=M;let U=(0,De.useCallback)(S=>{se.current||j(S),C.current?.(S)},[]),be=(0,De.useCallback)(()=>{let S=Se.current,ce=S&&S.isConnected&&S!==document.body?S:X.current;si(ce)},[]),ze=(0,De.useCallback)(S=>{S&&be(),U(!1)},[be,U]),ae=mi({open:z,onDismiss:S=>ze(S!=="outside")}),lt=ml(X,ae.insideRef),I=()=>$.current?[...$.current.querySelectorAll(x_)]:[];(0,De.useLayoutEffect)(()=>{if(!z)return;let S=document.activeElement;S instanceof Node&&$.current?.contains(S)||(Se.current=S instanceof HTMLElement?S:null)},[z]);let Ce=(0,De.useCallback)(()=>{let S=X.current,ce=$.current;if(!S||!ce||!Me)return;let G=Me!==document.body,V=G?Me.getBoundingClientRect():kn(),ue=S.getBoundingClientRect(),Le=qw(V,G),Vt=ue.top-(G?V.y:0),ke=Math.max(Le.y+Le.height-(Vt+ue.height+at),Vt-at-Le.y,0);ce.style.setProperty("--crewlet-menu-room",`${ke}px`);let Pe=ce.getBoundingClientRect(),xi=v==="trigger"?ue.width:void 0,na={width:Math.max(Pe.width,xi??0),height:Pe.height},_u={x:(f==="end"?ue.right-na.width:ue.left)-(G?V.x:0),y:ue.top-(G?V.y:0),width:ue.width,height:ue.height};if(fi(ue,V,G)){ze(!0);return}let Ia=hi(_u,{width:na.width,height:na.height},Le,at);L(Hn=>Hn&&Hn.left===Ia.left&&Hn.top===Ia.top&&Hn.floor===xi&&Hn.room===ke?Hn:{left:Ia.left,top:Ia.top,floor:xi,room:ke})},[f,ze,Me,v]);(0,De.useLayoutEffect)(()=>{if(!z)return;Ce();let S=()=>Ce();Me?.addEventListener(Cn,S),window.addEventListener("resize",S),window.addEventListener("scroll",S,!0);let ce=typeof ResizeObserver=="function"?new ResizeObserver(S):null;return $.current&&ce?.observe($.current),()=>{Me?.removeEventListener(Cn,S),window.removeEventListener("resize",S),window.removeEventListener("scroll",S,!0),ce?.disconnect()}},[z,Me,Ce]),(0,De.useEffect)(()=>{z||L(null)},[z]);let At=z&&oe!==null;(0,De.useLayoutEffect)(()=>{if(!At)return;let S=I();R.current?($.current?.focus(),N(ve.current==="none"||S.length===0?-1:ve.current==="last"?S.length-1:0)):(ve.current==="last"?S[S.length-1]:S[0])?.focus(),ve.current="first"},[At]),(0,De.useEffect)(()=>{z||N(-1)},[z]),(0,De.useEffect)(()=>{!M||k<0||I()[k]?.scrollIntoView?.({block:"nearest"})},[k,M]);function vt(S){(S.key==="ArrowDown"||S.key==="ArrowUp")&&(S.preventDefault(),ve.current=S.key==="ArrowUp"?"last":"first",U(!0))}function Ze(S){S.key!=="Escape"&&S.key!=="Tab"&&!S.ctrlKey&&!S.metaKey&&!S.altKey&&S.stopPropagation();let ce=I(),G=M?k:ce.indexOf(document.activeElement),V=ue=>{let Le=(ue+ce.length)%ce.length;M?N(Le):ce[Le]?.focus()};switch(S.key){case"ArrowDown":S.preventDefault(),V(G<0?0:G+1);return;case"ArrowUp":S.preventDefault(),V(G<0?ce.length-1:G-1);return;case"Enter":case" ":if(!M)return;S.preventDefault(),G>=0&&ce[G]?.click();return;case"Home":S.preventDefault(),V(0);return;case"End":S.preventDefault(),V(ce.length-1);return;case"Tab":ze(!0);return;default:if(S.key.length===1&&!S.ctrlKey&&!S.metaKey&&!S.altKey&&S.key!==" "){let ue=S.key.toLocaleLowerCase();for(let Le=1;Le<=ce.length;Le++){let Vt=ce[(G+Le)%ce.length];if((Vt.textContent??"").trim().toLocaleLowerCase().startsWith(ue)){S.preventDefault(),V(ce.indexOf(Vt));return}}}}}function q(S){S.disabled||(ze(!0),S.onSelect())}let ee=S=>S.description!==void 0&&S.description!==null&&S.description!==!1&&S.description!=="",Je=new Map(t.filter(S=>S.kind!=="separator").map((S,ce)=>[S.key,ce])),qt=S=>(0,ut.jsxs)("button",{type:"button",role:S.checked===void 0?"menuitem":"menuitemradio","aria-checked":S.checked,tabIndex:-1,id:M?_(Je.get(S.key)):void 0,onPointerMove:M?()=>N(Je.get(S.key)):void 0,onMouseDown:M?ce=>ce.preventDefault():void 0,className:H(M&&Je.get(S.key)===k&&"is-active","crewlet-menu__item",ee(S)?"crewlet-menu__item--described":void 0,S.danger&&"is-danger",S.disabled&&"is-disabled"),"aria-disabled":S.disabled||void 0,onClick:()=>q(S),children:[S.checked!==void 0&&(0,ut.jsx)("span",{className:"crewlet-menu__check","aria-hidden":!0,children:S.checked&&(0,ut.jsx)(ci,{size:"sm"})}),S.icon&&(0,ut.jsx)("span",{className:"crewlet-menu__icon",children:S.icon}),(0,ut.jsxs)("span",{className:"crewlet-menu__text",children:[(0,ut.jsx)("span",{className:"crewlet-menu__label",children:S.label}),ee(S)?(0,ut.jsx)("span",{className:"crewlet-menu__description",children:S.description}):null]}),S.hint&&(0,ut.jsx)("span",{className:"crewlet-menu__hint",children:S.hint})]},S.key),dt=z?(0,ut.jsxs)("div",{className:H("crewlet-menu",Me!==null&&Me!==document.body?"crewlet-menu--in-host":null,x==="instant"&&"crewlet-menu--instant",M&&"crewlet-menu--descendant",d),id:g,role:"menu","aria-label":e,"aria-describedby":m?w:void 0,"aria-activedescendant":M&&k>=0?_(k):void 0,tabIndex:-1,ref:S=>{$.current=S,ae.panelRef(S)},style:oe?{left:oe.left,top:oe.top,zIndex:ae.zIndex,"--crewlet-menu-room":`${oe.room}px`,...oe.floor===void 0?null:{"--crewlet-menu-floor":`${oe.floor}px`}}:{visibility:"hidden"},onKeyDown:Ze,onPointerDown:S=>S.stopPropagation(),onClick:S=>S.stopPropagation(),children:[m?(0,ut.jsx)("div",{role:"presentation",id:w,className:"crewlet-menu__header",children:m}):null,__(t).map(S=>S.kind==="separator"?(0,ut.jsx)("div",{role:"separator",className:"crewlet-menu__separator"},S.key):S.kind==="answers"?(0,ut.jsx)("div",{role:"group",className:"crewlet-menu__group",children:S.items.map(qt)},S.key):qt(S.item))]}):null,Zt={ref:lt,"aria-haspopup":"menu","aria-expanded":z,"aria-controls":z?g:void 0,tabIndex:o,onClick:()=>{z?ze(!0):(ve.current=M?"none":"first",U(!0))},onKeyDown:vt},wt=b!=null,rt=S=>wt?(0,ut.jsx)(Da,{content:(0,ut.jsx)("span",{"aria-hidden":"true",children:b}),disabled:z,children:S}):S;return(0,ut.jsxs)("span",{className:"crewlet-menu-anchor",children:[u?u(Zt):rt(n===void 0?(0,ut.jsx)(wl,{...Zt,label:e,icon:a??(0,ut.jsx)(vp,{}),size:"sm",...wt?{title:""}:{}}):(0,ut.jsx)(Ua,{...Zt,"aria-label":e,variant:r,size:"small",flush:i,className:i?"crewlet-menu__value-trigger":void 0,leadingIcon:a,trailingIcon:l,children:n})),dt&&Me?(0,Rb.createPortal)(dt,Me):null]})}var A=K(ht(),1);var T=K(Te(),1);function Qp({column:e,id:t,labels:a}){let n=zn(e,t);if(!n)return(0,T.jsx)(wu,{size:"xs",children:t});if(n.archived)return(0,T.jsx)(wu,{size:"xs",appearance:"outline",children:a.archived(n.label)});let l=Wc(n.color);return(0,T.jsx)(wu,{size:"xs",hue:l==="neutral"?void 0:l,children:n.label})}function Db({person:e,fallback:t}){return e?(0,T.jsxs)("span",{className:"crewlet-sheet-cell__person",children:[(0,T.jsx)(Io,{name:e.name,kind:e.kind==="human"?"human":"agent",src:e.src,character:e.character!==void 0&&Yo(e.character)?e.character:void 0,hue:e.kind==="agent"?e.hue:void 0,size:"xs",decorative:!0}),(0,T.jsx)("span",{className:"crewlet-sheet-cell__text",children:e.name})]}):(0,T.jsx)("span",{className:"crewlet-sheet-cell__muted",children:t})}function Zp({column:e,value:t,context:a,onOpenLink:n}){let{labels:l}=a;if(e.type==="checkbox"){let r=t===!0;return(0,T.jsxs)("span",{className:"crewlet-sheet-cell__checkbox",children:[(0,T.jsx)("span",{className:H("crewlet-sheet-cell__check",r&&"crewlet-sheet-cell__check--on"),"aria-hidden":"true",children:r?(0,T.jsx)(ci,{size:"xs"}):null}),(0,T.jsx)(Bt,{children:r?l.checked:l.unchecked})]})}if(sn(t))return(0,T.jsx)(Bt,{children:l.empty});switch(e.type){case"select":return(0,T.jsx)(Qp,{column:e,id:String(t),labels:l});case"multiselect":return(0,T.jsx)(Nb,{label:e.label,overflow:"fit",className:"crewlet-sheet-cell__chips",children:t.map(r=>(0,T.jsx)(Qp,{column:e,id:r,labels:l},r))});case"status":{let r=zn(e,String(t)),i=Ma(e,t,a);return(0,T.jsx)(Xo,{tone:r&&!r.archived?Pc(r):"neutral",children:i})}case"person":return(0,T.jsx)(Db,{person:ri(a.people,String(t)),fallback:l.unknownPerson});case"rating":{let r=on(e),i=Number(t);return(0,T.jsxs)("span",{className:"crewlet-sheet-cell__rating",children:[(0,T.jsx)("span",{className:"crewlet-sheet-cell__stars","aria-hidden":"true",children:Array.from({length:r},(o,s)=>(0,T.jsx)(xp,{size:"sm",filled:s<i,className:H("crewlet-sheet-cell__star",s<i&&"crewlet-sheet-cell__star--on")},s))}),(0,T.jsx)(Bt,{children:l.rating(i,r)})]})}case"url":{let r=String(t);return(0,T.jsx)("a",{className:"crewlet-sheet-cell__link",href:r,target:"_blank",rel:"noopener noreferrer",tabIndex:-1,onClick:n?i=>{i.preventDefault(),n(r)}:void 0,children:r})}case"number":return(0,T.jsx)("span",{className:"crewlet-sheet-cell__text crewlet-sheet-cell__number",children:Ma(e,t,a)});default:return(0,T.jsx)("span",{className:"crewlet-sheet-cell__text",children:Ma(e,t,a)})}}var T_=new Set(["text","number","url","date","rating"]),E_=new Set(["text","longtext"]),S_=6,M_=8,Lb=new Set(["select","multiselect","status","person"]),A_=e=>e!=="checkbox",Gb=e=>T_.has(e)||Lb.has(e)||e==="longtext";function Ub(e,t){if(e.key==="Tab")return e.shiftKey?"left":"right";if(e.key==="Enter")return t?e.shiftKey&&!Wl(e)?void 0:"down":e.shiftKey?"up":"down"}function Jp(e,t){e&&(e.focus({preventScroll:!0}),t&&(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement)&&e.setSelectionRange(e.value.length,e.value.length))}function Fp(e){let t=(0,A.useRef)(!1);return{finish:()=>{t.current=!0},onBlur:a=>{if(t.current)return;let n=a.relatedTarget;n!==null&&a.currentTarget.contains(n)||(t.current=!0,e())}}}function N_(e){let t=new Date(e);if(Number.isNaN(t.getTime()))return"";let a=n=>String(n).padStart(2,"0");return`${t.getFullYear()}-${a(t.getMonth()+1)}-${a(t.getDate())}T${a(t.getHours())}:${a(t.getMinutes())}`}function $p({conflict:e,labels:t}){return(0,T.jsxs)("div",{className:"crewlet-sheet-editor__conflict",role:"alert",children:[(0,T.jsx)("p",{className:"crewlet-sheet-editor__conflict-text",children:t.conflict(e.writer,e.value)}),(0,T.jsxs)("div",{className:"crewlet-sheet-editor__conflict-actions",children:[(0,T.jsx)(Ua,{size:"small",variant:"secondary",onClick:e.onKeepMine,children:t.keepMine}),(0,T.jsx)(Ua,{size:"small",variant:"ghost",onClick:e.onUseTheirs,children:t.useTheirs(e.writer)})]})]})}function Wp({id:e,message:t}){return(0,T.jsxs)("p",{id:e,className:"crewlet-sheet-editor__error",children:[(0,T.jsx)(ui,{size:"xs","aria-hidden":"true"}),(0,T.jsx)("span",{children:t})]})}function Bb(e){let{column:t}=e;return Lb.has(t.type)?(0,T.jsx)(H_,{...e}):E_.has(t.type)?(0,T.jsx)(z_,{...e}):(0,T.jsx)(O_,{...e})}function O_({column:e,value:t,context:a,seed:n,label:l,onCommit:r,onCancel:i,conflict:o}){let{labels:s}=a,c=(0,A.useId)(),f=(0,A.useRef)(null),v=e.type==="date",u=(0,A.useMemo)(()=>{if(v){let g=typeof t=="string"?t:"";return e.time?N_(g):g}return n??ii(e,t,a)},[]),[m,b]=(0,A.useState)(u),[x,M]=(0,A.useState)(null);(0,A.useLayoutEffect)(()=>{Jp(f.current,!v)},[v]);let d=g=>{let w=v&&e.time&&m!==""?new Date(m).toISOString():m,_=oi(e,w,a);return _.ok?(h.finish(),r(_.value,g),!0):(M(_.error),!1)},h=Fp(()=>{d(null)||i()});return(0,T.jsxs)("div",{className:"crewlet-sheet-editor crewlet-sheet-editor--line",onBlur:h.onBlur,children:[(0,T.jsx)("input",{ref:f,className:"crewlet-sheet-editor__input",type:v?e.time?"datetime-local":"date":e.type==="url"?"url":"text",inputMode:e.type==="number"?"decimal":e.type==="rating"?"numeric":void 0,"aria-label":l,"aria-invalid":x!==null,"aria-describedby":x!==null?c:void 0,maxLength:e.type==="text"?gl(e):void 0,value:m,onChange:g=>{b(g.target.value),M(null)},onKeyDown:g=>{if(gi(g))return;if(g.key==="Escape"){g.preventDefault(),g.stopPropagation(),h.finish(),i();return}if(g.key==="Tab"&&o)return;let w=Ub(g,!1);w!==void 0&&(g.preventDefault(),g.stopPropagation(),d(w))}}),x!==null||o?(0,T.jsxs)("div",{className:H("crewlet-sheet-editor__panel"),children:[x!==null?(0,T.jsx)(Wp,{id:c,message:x}):null,o?(0,T.jsx)($p,{conflict:o,labels:s}):null]}):null]})}function z_({column:e,value:t,context:a,seed:n,label:l,onCommit:r,onCancel:i,side:o="below",conflict:s}){let{labels:c}=a,f=e.type==="longtext",v=(0,A.useId)(),u=(0,A.useRef)(null),[m,b]=(0,A.useState)(()=>n??ii(e,t,a)),[x,M]=(0,A.useState)(null);(0,A.useLayoutEffect)(()=>{Jp(u.current,!0)},[]),(0,A.useLayoutEffect)(()=>{let g=u.current;!g||g.scrollHeight===0||(g.style.height="auto",g.style.height=`${g.scrollHeight}px`)},[m]);let d=g=>{let w=oi(e,m,a);return w.ok?(h.finish(),r(w.value,g),!0):(M(w.error),!1)},h=Fp(()=>{d(null)||i()});return(0,T.jsx)("div",{className:H("crewlet-sheet-editor","crewlet-sheet-editor--text",f&&"crewlet-sheet-editor--long",`crewlet-sheet-editor--${o}`),onBlur:h.onBlur,children:(0,T.jsxs)("div",{className:"crewlet-sheet-editor__overlay",children:[(0,T.jsx)("textarea",{ref:u,className:"crewlet-sheet-editor__textarea","aria-label":l,"aria-multiline":f,"aria-invalid":x!==null,"aria-describedby":x!==null?v:void 0,maxLength:gl(e),rows:1,style:{"--crewlet-sheet-editor-lines":S_},value:m,onChange:g=>{b(f?g.target.value:g.target.value.replace(/\r?\n/g," ")),M(null)},onKeyDown:g=>{if(gi(g))return;if(g.key==="Escape"){g.preventDefault(),g.stopPropagation(),h.finish(),i();return}if(g.key==="Tab"&&s)return;let w=Ub(g,f);w!==void 0&&(g.preventDefault(),g.stopPropagation(),d(w))}}),x!==null?(0,T.jsx)(Wp,{id:v,message:x}):null,s?(0,T.jsx)($p,{conflict:s,labels:c}):null]})})}function C_(e,t){return e.type==="person"?(t.people??[]).map(a=>({id:a.id,label:a.name,person:a})):$l(e).map(a=>({id:a.id,label:a.label,option:a}))}function k_({column:e,choice:t,context:a}){return t.person?(0,T.jsx)(Db,{person:t.person,fallback:t.label}):e.type==="status"&&t.option?(0,T.jsx)(Xo,{tone:Pc(t.option),children:t.label}):(0,T.jsx)(Qp,{column:e,id:t.id,labels:a.labels})}var dn="";function R_(e,t,a){let n=t.y+at,l=t.y+t.height-at,r=l-e.top,i=e.bottom-n,o=a(Math.max(r,i,0)),c=r>=o.height||r>=i?e.top:e.bottom-o.height;return{top:Math.max(n,Math.min(c,l-o.height)),left:Math.max(t.x+at,Math.min(e.left,t.x+t.width-at-o.width))}}function H_({column:e,value:t,context:a,seed:n,label:l,onCommit:r,onCancel:i,side:o="below",conflict:s}){let{labels:c}=a,f=e.type==="multiselect",v=(0,A.useId)(),u=(0,A.useId)(),m=(0,A.useRef)(null),b=(0,A.useRef)(null),x=(0,A.useRef)(null),M=(0,A.useRef)(null),d=(0,A.useMemo)(()=>C_(e,a),[e,a]),h=d.length>M_,[g,w]=(0,A.useState)(h?n??"":""),[_,k]=(0,A.useState)(()=>f?[...t??[]]:typeof t=="string"?[t]:[]),[N,O]=(0,A.useState)(null),j=!f&&!e.required,z=(0,A.useMemo)(()=>{let C=g.trim().toLowerCase(),R=C===""?d:d.filter(U=>U.label.toLowerCase().includes(C));return j&&C===""?[...R,{id:dn,label:c.clear}]:R},[d,g,j,c.clear]),[X,$]=(0,A.useState)(()=>{let C=!h&&n?z.findIndex(U=>U.id!==dn&&U.label.toLowerCase().startsWith(n.toLowerCase())):-1;if(C>=0)return C;let R=z.findIndex(U=>U.id!==dn&&_.includes(U.id));return R>=0?R:0});(0,A.useEffect)(()=>{$(C=>Math.min(C,Math.max(z.length-1,0)))},[z.length]),(0,A.useLayoutEffect)(()=>{Jp(h?m.current:b.current,!1)},[h]),(0,A.useLayoutEffect)(()=>{let C=()=>{let R=x.current?.getBoundingClientRect(),U=M.current;if(!R||!U)return;let be=R_(R,kn(),ze=>{U.style.setProperty("--crewlet-sheet-editor-cell",`${R.width}px`),U.style.setProperty("--crewlet-sheet-editor-room",`${ze}px`);let ae=U.getBoundingClientRect();return{width:ae.width,height:ae.height}});U.style.setProperty("--crewlet-sheet-editor-top",`${be.top}px`),U.style.setProperty("--crewlet-sheet-editor-left",`${be.left}px`)};return C(),window.addEventListener("resize",C),window.addEventListener("scroll",C,!0),()=>{window.removeEventListener("resize",C),window.removeEventListener("scroll",C,!0)}},[z.length]);let Se=(C,R)=>{let U=Vf(e,C,a);return U!==null?(O(U),!1):(ve.finish(),r(C,R),!0)},ve=Fp(()=>{(!f||!Se(_,null))&&i()}),oe=(C,R)=>{if(C){if(!f){Se(C.id===dn?null:C.id,R);return}O(null),k(U=>U.includes(C.id)?U.filter(be=>be!==C.id):[...U,C.id])}},L=C=>`${v}-${C}`,Me=z.length>0?L(X):void 0,se=C=>{if(!gi(C))switch(C.key){case"Escape":C.preventDefault(),C.stopPropagation(),ve.finish(),i();return;case"ArrowDown":C.preventDefault(),C.stopPropagation(),$(R=>Math.min(R+1,z.length-1));return;case"ArrowUp":C.preventDefault(),C.stopPropagation(),$(R=>Math.max(R-1,0));return;case"Home":case"End":if(g!=="")return;C.preventDefault(),C.stopPropagation(),$(C.key==="Home"?0:z.length-1);return;case"Enter":C.preventDefault(),C.stopPropagation(),f&&Wl(C)?Se(_,"down"):oe(z[X],C.shiftKey?"up":"down");return;case" ":if(h)return;C.preventDefault(),C.stopPropagation(),oe(z[X],f?null:"down");return;case"Tab":if(s)return;C.preventDefault(),C.stopPropagation(),Se(f?_:t,C.shiftKey?"left":"right");return;default:if(!h&&C.key.length===1&&!C.ctrlKey&&!C.metaKey&&!C.altKey){let R=C.key.toLowerCase(),U=X+1,ze=[...z.slice(U),...z.slice(0,U)].find(ae=>ae.id!==dn&&ae.label.toLowerCase().startsWith(R));ze&&(C.preventDefault(),C.stopPropagation(),$(z.indexOf(ze)))}return}};return(0,T.jsx)("div",{ref:x,className:H("crewlet-sheet-editor","crewlet-sheet-editor--list",`crewlet-sheet-editor--${o}`),onBlur:ve.onBlur,children:(0,T.jsxs)("div",{ref:M,className:"crewlet-sheet-editor__panel crewlet-sheet-editor__panel--list",children:[h?(0,T.jsx)("input",{ref:m,className:"crewlet-sheet-editor__filter",role:"combobox","aria-label":l,"aria-expanded":"true","aria-controls":v,"aria-autocomplete":"list","aria-activedescendant":Me,"aria-invalid":N!==null,"aria-describedby":N!==null?u:void 0,placeholder:c.filter,value:g,onChange:C=>{w(C.target.value),$(0)},onKeyDown:se}):null,(0,T.jsx)("ul",{ref:b,className:"crewlet-sheet-editor__list",id:v,role:"listbox","aria-label":l,"aria-multiselectable":f||void 0,tabIndex:-1,"aria-activedescendant":h?void 0:Me,"aria-invalid":h?void 0:N!==null,"aria-describedby":!h&&N!==null?u:void 0,onKeyDown:h?void 0:se,children:z.length===0?(0,T.jsx)("li",{className:"crewlet-sheet-editor__empty",role:"presentation",children:c.noOptions}):z.map((C,R)=>{let U=C.id===dn?_.length===0:_.includes(C.id);return(0,T.jsxs)("li",{id:L(R),role:"option","aria-selected":U,className:H("crewlet-sheet-editor__option",C.id===dn&&"crewlet-sheet-editor__option--clear",R===X&&"crewlet-sheet-editor__option--highlight",U&&"crewlet-sheet-editor__option--selected"),onMouseDown:be=>be.preventDefault(),onMouseEnter:()=>$(R),onClick:()=>oe(C,f?null:"down"),children:[(0,T.jsx)("span",{className:"crewlet-sheet-editor__mark","aria-hidden":"true",children:U&&C.id!==dn?(0,T.jsx)(ci,{size:"xs"}):null}),C.id===dn?(0,T.jsx)("span",{className:"crewlet-sheet-cell__muted",children:C.label}):(0,T.jsx)(k_,{column:e,choice:C,context:a})]},C.id===dn?"\0clear":C.id)})}),N!==null?(0,T.jsx)(Wp,{id:u,message:N}):null,s?(0,T.jsx)($p,{conflict:s,labels:c}):null]})})}var xl=-1,G_=.6;function Pp({label:e,columns:t,rows:a,people:n,mode:l="edit",onEdit:r,onAddRow:i,onShowHistory:o,onActiveCellChange:s,onEditingChange:c,onUndo:f,onRedo:v,onOpenLink:u,presence:m,sort:b,onSortChange:x,sync:M,onRetry:d,height:h,fit:g="container",onDeleteRow:w,onDismissRefused:_,renderColumnEditor:k,settingsColumn:N,onSettingsColumnChange:O,onAddColumn:j,locale:z,className:X,labels:$,presenceLabels:Se,ref:ve}){let oe=(0,A.useId)(),L=(0,A.useMemo)(()=>Do($),[$]),Me=(0,A.useMemo)(()=>Go(Se),[Se]),se=(0,A.useMemo)(()=>({people:n,locale:z,labels:L}),[n,z,L]),C=(0,A.useMemo)(()=>Jf(t),[t]),[R,U]=(0,A.useState)(0),be=(0,A.useRef)(a);(0,A.useLayoutEffect)(()=>{be.current=a});let ze=a.length>0,[ae,lt]=(0,A.useState)(null);(0,A.useLayoutEffect)(()=>{let p=ze?be.current:[];lt(new Map(C.filter(y=>!(y.width&&y.width>0)).map(y=>[y.field,Wf(y,p,se)])))},[C,ze,se]);let[I,Ce]=(0,A.useState)(0);(0,A.useEffect)(()=>{let p=typeof document>"u"?void 0:document.fonts;if(!p)return;let y=!0,D=()=>{y&&Ce(J=>J+1)};return p.ready.then(D),p.addEventListener("loadingdone",D),()=>{y=!1,p.removeEventListener("loadingdone",D)}},[]);let At=(0,A.useRef)(null),[vt,Ze]=(0,A.useState)(new Map);(0,A.useLayoutEffect)(()=>{let p=At.current;if(!p)return;let y=new Map;for(let D of p.querySelectorAll("[data-measure]")){let J=0;for(let re of D.children)J=Math.max(J,re.getBoundingClientRect().width);y.set(D.dataset.measure??"",J)}Ze(y)},[ae,I]);let q=(0,A.useMemo)(()=>{let p=Y=>Y.width!==void 0&&Y.width>0,y=C.map(Y=>p(Y)?Y:{...Y,width:$f(Y.type,vt.get(Y.field)??0)});if(R<=0)return y;let D=Math.floor(R*G_)-Pl,J=y.filter(Y=>Y.frozen).reduce((Y,Re)=>Y+cn(Re),0)-D,re=C.filter(Y=>Y.frozen&&!p(Y)).length;if(J<=0||re===0)return y;let Ae=Math.ceil(J/re);return y.map((Y,Re)=>Y.frozen&&!p(C[Re])?{...Y,width:Math.max(au[Y.type][0],cn(Y)-Ae)}:Y)},[C,vt,R]),ee=(0,A.useMemo)(()=>lp(q,a,b,se),[q,a,b,se]),Je=l==="edit"&&r!==void 0,qt=l==="edit"&&w!==void 0,dt=l==="edit"&&k!==void 0,Zt=l==="edit"&&j!==void 0,[wt,rt]=(0,A.useState)(null),S=N!==void 0?N:wt,ce=p=>{N===void 0&&rt(p),O?.(p)},G=(0,A.useRef)(null),V=(0,A.useRef)(null),ue=(0,A.useRef)(null),[Le,Vt]=(0,A.useState)(0),ke=(0,A.useRef)(0),[Pe,xi]=(0,A.useState)(tu),[na,_u]=(0,A.useState)(tu),[Ia,Hn]=(0,A.useState)(0),[Xb,Qb]=(0,A.useState)(0),[l0,r0]=(0,A.useState)(0),[Zb,Jb]=(0,A.useState)(!1),[Jo,Fo]=(0,A.useState)(null),[i0,$o]=(0,A.useState)(null),[W,_i]=(0,A.useState)(null),[o0,s0]=(0,A.useState)(new Map),[c0,Fb]=(0,A.useState)({text:"",n:0}),Tu=(0,A.useRef)(!1),[u0,d0]=(0,A.useState)(null),Jt=(0,A.useCallback)(p=>Fb(y=>({text:p,n:y.n+1})),[]),h0=(0,A.useRef)(new Map);(0,A.useEffect)(()=>{let p=new Map;for(let y of a)for(let[D,J]of Object.entries(y.refused??{}))p.set(Aa(y.id,D),J);for(let[y,D]of p)if(h0.current.get(y)!==D){Jt(L.notSaved(D));break}h0.current=p},[a,L,Jt]),(0,A.useLayoutEffect)(()=>{let p=()=>{let D=V.current?.offsetHeight??0;D>0&&xi(D);let J=ue.current?.querySelector(".crewlet-sheet-grid__row--head")?.offsetHeight??0;J>0&&_u(J),Hn(G.current?.clientHeight??0),U(G.current?.clientWidth??0);let re=G.current;if(re){let Ae=getComputedStyle(re),Y=re.offsetHeight-re.clientHeight-(parseFloat(Ae.borderTopWidth)||0)-(parseFloat(Ae.borderBottomWidth)||0);Qb(Math.max(0,Math.round(Y)))}};if(p(),typeof ResizeObserver!="function")return;let y=new ResizeObserver(p);return G.current&&y.observe(G.current),V.current&&y.observe(V.current),()=>y.disconnect()},[]);let tr=(0,A.useMemo)(()=>Zf(q),[q]),$b=(0,A.useMemo)(()=>[`${Pl}px`,...q.map((p,y)=>y===q.length-1?`minmax(${cn(p)}px, 1fr)`:`${cn(p)}px`)].join(" "),[q]),Wb=(0,A.useMemo)(()=>q.reduce((p,y)=>p+cn(y),Pl),[q]),Wo=(0,A.useMemo)(()=>q.reduce((p,y,D)=>y.frozen?D:p,-1),[q]),Eu=(0,A.useMemo)(()=>{let p=Pl;return q.forEach((y,D)=>{y.frozen&&(p=(tr[D]??p)+cn(y))}),p},[q,tr]),_l=(0,A.useMemo)(()=>new Map(ee.map((p,y)=>[p.id,y])),[ee]),Po=(0,A.useMemo)(()=>new Map(q.map((p,y)=>[p.field,y])),[q]),ar=(0,A.useCallback)(p=>{if(!p)return null;let y=Po.get(p.field);if(y===void 0)return null;if(p.rowId===null)return{row:xl,col:y};let D=_l.get(p.rowId);return D===void 0?null:{row:D,col:y}},[Po,_l]),hn=(0,A.useCallback)(p=>{let y=q[p.col];if(!y)return null;if(p.row===xl)return{rowId:null,field:y.field};let D=ee[p.row];return D?{rowId:D.id,field:y.field}:null},[q,ee]),Pb=ee.length>0&&q.length>0?{rowId:ee[0].id,field:q[0].field}:q.length>0?{rowId:null,field:q[0].field}:null,he=ar(Jo)??ar(Pb),bt=he?hn(he):null,f0=ar(i0)??he,Fe=he&&f0&&he.row!==xl?If(f0,he):null,p0=(0,A.useMemo)(()=>rp(m),[m]),ey=(0,A.useMemo)(()=>ip(m),[m]),ty=(0,A.useMemo)(()=>op(m),[m]),g0=(0,A.useRef)(null);(0,A.useEffect)(()=>{let p=bt&&bt.rowId!==null?{rowId:bt.rowId,field:bt.field}:null,y=p?Aa(p.rowId,p.field):null;y!==g0.current&&(g0.current=y,s?.(p))},[bt,s]);let m0=(0,A.useRef)(null);(0,A.useEffect)(()=>{let p=W?Aa(W.rowId,W.field):null;p!==m0.current&&(m0.current=p,c?.(W?{rowId:W.rowId,field:W.field}:null))},[W,c]);let es=(0,A.useCallback)(p=>{p.length!==0&&(s0(y=>{let D=new Map(y);for(let J of p)D.set(Aa(J.rowId,J.field),J.error);return D}),Jt(p[0].error))},[Jt]),ts=(0,A.useCallback)(p=>{s0(y=>{if(!p.some(J=>y.has(J)))return y;let D=new Map(y);for(let J of p)D.delete(J);return D})},[]),Gn=(0,A.useCallback)(p=>{p.length===0||!r||(ts(p.map(y=>Aa(y.rowId,y.field))),r(p))},[r,ts]),Tl=(0,A.useCallback)(p=>q[Po.get(p)??-1],[q,Po]),El=(0,A.useCallback)(p=>ee[_l.get(p)??-1],[ee,_l]),nr=(0,A.useCallback)(p=>Je&&p!==void 0&&!p.readOnly,[Je]),Su=(0,A.useCallback)(()=>Vt(p=>p+1),[]),Dn=(0,A.useCallback)((p,y=!1)=>{p&&(Fo(p),y||$o(p),Su())},[Su]);(0,A.useImperativeHandle)(ve,()=>({focusCell:p=>Dn({rowId:p.rowId,field:p.field})}),[Dn]);let v0=p=>{Jo&&Jo.rowId===p.rowId&&Jo.field===p.field||(Fo(p),$o(p))},Ti=he?.row??null,Ei=he?.col??null;(0,A.useLayoutEffect)(()=>{if(Ti===null||Ei===null)return;let p=G.current;if(p&&Ti>=0){let y=Xf(Ti,p.scrollTop,p.clientHeight,Pe,na);y!==p.scrollTop&&(p.scrollTop=y,r0(y));let D=q[Ei];if(D&&!D.frozen){let J=tr[Ei]??0,re=J+cn(D);J-Eu<p.scrollLeft?p.scrollLeft=Math.max(J-Eu,0):re>p.scrollLeft+p.clientWidth&&(p.scrollLeft=re-p.clientWidth)}}Le===ke.current||W||(ke.current=Le,document.getElementById(Xp(oe,{row:Ti,col:Ei}))?.focus({preventScroll:!0}))},[Ti,Ei,Le,W,oe,Pe,na,q,tr,Eu]);let as=(0,A.useCallback)((p,y)=>{if(p.rowId===null)return;let D=Tl(p.field),J=El(p.rowId);if(!(!J||!D)){if(!nr(D)){Jt(Je?L.readOnly(D.label):L.forbidden);return}A_(D.type)&&(ts([Aa(p.rowId,p.field)]),_i({rowId:p.rowId,field:p.field,seed:y,base:Ut(D,J.values[D.field])}))}},[nr,ts,Tl,Je,L,El,Jt]),Mu=(0,A.useCallback)(p=>{if(p.rowId===null)return;let y=Tl(p.field),D=El(p.rowId);if(!(!D||!y||y.type!=="checkbox")){if(!nr(y)){Jt(Je?L.readOnly(y.label):L.forbidden);return}Gn([{rowId:D.id,field:y.field,value:Ut(y,D.values[y.field])!==!0}])}},[nr,Tl,Je,Gn,L,El,Jt]),w0=(0,A.useCallback)((p,y)=>{if(y===null)return hn(p);let D={down:{row:Math.min(p.row+1,ee.length-1),col:p.col},up:{row:Math.max(p.row-1,0),col:p.col},right:{row:p.row,col:Math.min(p.col+1,q.length-1)},left:{row:p.row,col:Math.max(p.col-1,0)}}[y];return hn(D)},[hn,q.length,ee.length]),b0=(0,A.useCallback)((p,y)=>{if(!W)return;let D=ar({rowId:W.rowId,field:W.field}),J=Tl(W.field),re=El(W.rowId);_i(null),p!==void 0&&J&&re&&!li(p,Ut(J,re.values[J.field]))&&Gn([{rowId:re.id,field:J.field,value:p}]);let Ae=document.activeElement,Y=Ae!==null&&Ae!==document.body&&!!ue.current?.contains(Ae);D&&Y&&Dn(w0(D,y))},[Tl,W,Gn,Dn,ar,El,w0]);(0,A.useEffect)(()=>{W&&!_l.has(W.rowId)&&_i(null)},[W,_l]);let ns=W?El(W.rowId):void 0,lr=W?Tl(W.field):void 0,Au=W&&ns&&lr?Ut(lr,ns.values[lr.field]):null,y0=!!(W&&ns&&lr&&!li(Au,W.base)),ay=y0&&W?ns?.changed?.[W.field]?.by??L.someone:"",ls=y0&&W&&lr?{writer:ay,value:Ma(lr,Au,se)||L.empty,onKeepMine:()=>_i(p=>p&&{...p,base:Au}),onUseTheirs:()=>{let p=ar({rowId:W.rowId,field:W.field});_i(null),p&&Dn(hn(p))}}:null,Nu=ls?L.conflict(ls.writer,ls.value):"";(0,A.useEffect)(()=>{Nu&&Jt(Nu)},[Nu,Jt]);let x0=p=>{W||!Fe||yi(p)||(p.preventDefault(),p.clipboardData.setData("text/plain",Pf(q,ee,Fe,se)))},_0=(0,A.useCallback)(()=>{if(!Fe)return;if(!Je){Jt(L.forbidden);return}let p=ap(q,ee,Fe,se);Gn(p.edits),es(p.refused)},[q,se,Je,Gn,L.forbidden,Fe,es,ee,Jt]),ny=p=>{W||!Fe||yi(p)||(x0(p),_0())},ly=p=>{if(W||!Fe||yi(p))return;if(p.preventDefault(),!Je){Jt(L.forbidden);return}let y=tp(q,ee,Fe,ep(p.clipboardData.getData("text/plain")),se);Gn(y.edits),es(y.refused)},ry=Math.max(1,Math.floor(Math.max(Ia-na,Pe)/Pe)-1),iy=p=>{if(W||gi(p)||!he||!bt||yi(p)||p.target.closest(".crewlet-sheet-grid__row-actions"))return;let y=q[he.col],D=Wl(p);if(D&&p.altKey&&p.key.toLowerCase()==="h"){o&&bt.rowId!==null&&(p.preventDefault(),o({rowId:bt.rowId,field:bt.field}));return}if(D&&!p.altKey&&p.key.toLowerCase()==="z"){let re=p.shiftKey?v:f;re&&(p.preventDefault(),re());return}if(D&&!p.altKey&&p.key.toLowerCase()==="y"){v&&(p.preventDefault(),v());return}if(D&&!p.altKey&&p.key.toLowerCase()==="a"){if(p.preventDefault(),ee.length===0)return;$o(hn({row:0,col:0})),Fo(hn({row:ee.length-1,col:q.length-1})),Su();return}if(qt&&bt.rowId!==null&&(p.key==="ContextMenu"||p.shiftKey&&p.key==="F10")){p.preventDefault(),d0(bt.rowId);return}let J=Yf(he,p,{rows:ee.length,cols:q.length,page:ry});if(J){p.preventDefault();let re=p.shiftKey&&J.row!==xl&&he.row!==xl;Dn(hn(J),re);return}if(p.key==="Tab"){let re=p.shiftKey?-1:1,Ae=he.col+re;if(Ae<0||Ae>=q.length)return;p.preventDefault(),Dn(hn({row:he.row,col:Ae}));return}if(he.row===xl){(p.key==="Enter"||p.key===" ")&&y&&dt?(p.preventDefault(),ce(y.field)):(p.key==="Enter"||p.key===" ")&&y&&x&&(p.preventDefault(),x(ru(b,y.field)));return}switch(p.key){case"Enter":case"F2":if(p.preventDefault(),p.key==="Enter"&&D&&y?.type==="url"){let re=ee[he.row],Ae=re?Ut(y,re.values[y.field]):null;typeof Ae=="string"&&Ae&&(u?u(Ae):window.open(Ae,"_blank","noopener,noreferrer"));return}y?.type==="checkbox"?Mu(bt):as(bt);return;case" ":p.preventDefault(),y?.type==="checkbox"?Mu(bt):y&&Gb(y.type)&&as(bt," ");return;case"Delete":case"Backspace":p.preventDefault(),_0();return;case"Escape":i0&&Fe&&(Fe.top!==Fe.bottom||Fe.left!==Fe.right)&&(p.preventDefault(),$o(bt));return}if(Ff(p)&&y){if(y.type==="rating"&&/^\d$/.test(p.key)){if(p.preventDefault(),!nr(y)){Jt(Je?L.readOnly(y.label):L.forbidden);return}let re=Number(p.key),Ae=ee[he.row];if(!Ae)return;if(re>on(y)){es([{rowId:Ae.id,field:y.field,error:L.notARating(y.label,on(y))}]);return}Gn([{rowId:Ae.id,field:y.field,value:re===0?null:re}]);return}Gb(y.type)&&(p.preventDefault(),as(bt,y.type==="date"?void 0:p.key))}};(0,A.useEffect)(()=>{let p=()=>{Tu.current=!1};return window.addEventListener("mouseup",p),()=>window.removeEventListener("mouseup",p)},[]);let T0=(p,y)=>{if(p.button!==0)return;let D=p.shiftKey&&y.rowId!==null&&bt?.rowId!==null;W&&W.rowId===y.rowId&&W.field===y.field||Dn(y,D),Tu.current=y.rowId!==null},oy=p=>{!Tu.current||p.rowId===null||Fo(p)},[E0,S0]=Kf(Math.max(l0-na,0),Ia,Pe,ee.length),Si=[];for(let p=E0;p<=S0;p+=1)Si.push(p);if(he&&he.row>=0&&(he.row<E0||he.row>S0)&&Si.push(he.row),W){let p=_l.get(W.rowId);p!==void 0&&!Si.includes(p)&&Si.push(p)}let M0=`${oe}-described`,A0=`${oe}-help`,Mi=he?q[he.col]:void 0,rs=he&&he.row>=0?ee[he.row]:void 0,sy=rs&&Mi?p0.get(Aa(rs.id,Mi.field))??[]:[],cy=rs&&Mi?cp(Mi,D_(rs,o0,Mi.field),sy,se,Me):"",uy={"--crewlet-sheet-columns":$b,"--crewlet-sheet-row-height":`${Pe}px`,width:`${Wb}px`},Ou=na+ee.length*Pe+2+Xb,N0=na+ee.length*Pe>=Ia,O0=ee.length===0&&N0,dy=g==="content"?{height:`${h!==void 0?Math.min(Ou,h):Ou}px`,"--crewlet-sheet-content-height":`${Ou}px`}:h!==void 0?{height:`${h}px`}:void 0,hy=p=>{let y=na+p*Pe-l0,D=Ia>0?Ia:Pe*12;return Qf(y,y+Pe,na,D,Pe*8)};return(0,T.jsxs)("div",{className:H("crewlet-sheet-grid",l==="read"&&"crewlet-sheet-grid--read",g==="content"&&"crewlet-sheet-grid--fit-content",X),children:[(0,T.jsx)("div",{ref:V,className:"crewlet-sheet-grid__probe","aria-hidden":"true"}),(0,T.jsxs)("div",{ref:G,className:H("crewlet-sheet-grid__scroller",Zb&&"crewlet-sheet-grid__scroller--across",Zt&&"crewlet-sheet-grid__scroller--add-column"),style:dy,onScroll:p=>{r0(p.currentTarget.scrollTop),Jb(p.currentTarget.scrollLeft>0)},children:[(0,T.jsxs)("div",{ref:ue,role:"grid","aria-label":e,"aria-rowcount":ee.length+1,"aria-colcount":q.length+1,"aria-readonly":!Je||void 0,"aria-multiselectable":"true","aria-describedby":A0,tabIndex:-1,className:H("crewlet-sheet-grid__grid",Fe&&(Fe.top!==Fe.bottom||Fe.left!==Fe.right)&&"crewlet-sheet-grid__grid--range"),style:uy,onKeyDown:iy,onCopy:x0,onCut:ny,onPaste:ly,children:[(0,T.jsx)("div",{role:"rowgroup",className:"crewlet-sheet-grid__head",children:(0,T.jsxs)("div",{role:"row","aria-rowindex":1,className:H("crewlet-sheet-grid__row","crewlet-sheet-grid__row--head",O0&&"crewlet-sheet-grid__row--floor"),children:[(0,T.jsx)("div",{role:"columnheader","aria-colindex":1,className:H("crewlet-sheet-grid__corner",Wo<0&&"crewlet-sheet-grid__frozen-edge"),children:(0,T.jsx)(Bt,{children:L.rowHeader})}),q.map((p,y)=>{let D={row:xl,col:y},J=he?.row===xl&&he.col===y,re=b?.field===p.field?b.direction:void 0,Ae=ty.get(p.field)??[],Y=(0,T.jsxs)("div",{id:Xp(oe,D),role:"columnheader","aria-colindex":y+2,"aria-sort":re??(x?"none":void 0),tabIndex:J?0:-1,className:H("crewlet-sheet-grid__header",`crewlet-sheet-grid__header--${p.type}`,p.frozen&&"crewlet-sheet-grid__cell--frozen",y===Wo&&"crewlet-sheet-grid__frozen-edge",J&&"crewlet-sheet-grid__header--active",dt&&"crewlet-sheet-grid__header--settings",S===p.field&&"crewlet-sheet-grid__header--open"),style:p.frozen?{insetInlineStart:`${tr[y]}px`}:void 0,onMouseDown:Re=>{yi(Re)||T0(Re,{rowId:null,field:p.field})},onFocus:Re=>{Re.target===Re.currentTarget&&v0({rowId:null,field:p.field})},onClick:Re=>{yi(Re)||(dt?ce(S===p.field?null:p.field):x&&x(ru(b,p.field)))},title:dt?L.columnSettings(p.label):x?L.sortBy(p.label):p.label,children:[(0,T.jsx)("span",{className:"crewlet-sheet-grid__header-label",children:p.label}),(0,T.jsx)(Bt,{children:`, ${L.types[p.type]}`}),re?(0,T.jsx)("span",{className:"crewlet-sheet-grid__sort","aria-hidden":"true",children:re==="ascending"?(0,T.jsx)(fp,{size:"xs"}):(0,T.jsx)(su,{size:"xs"})}):null,Ae.length>0?(0,T.jsx)("span",{className:"crewlet-sheet-grid__header-presence","aria-hidden":"true",children:Ae.map(Re=>(0,T.jsx)(Io,{name:Re.name,kind:Re.kind,size:16,decorative:!0,className:H("crewlet-sheet-grid__header-badge",bl(Re.hue))},Re.id))}):null]},p.field);return dt?(0,T.jsx)(kb,{label:L.columnSettings(p.label),open:S===p.field,onOpenChange:Re=>{!Re&&S===p.field&&ce(null)},trigger:()=>Y,className:"crewlet-sheet-grid__column-settings",children:Re=>k(p,Re)},p.field):Y})]})}),(0,T.jsx)("div",{role:"rowgroup",className:"crewlet-sheet-grid__body",style:{height:`${ee.length*Pe}px`},children:Si.map(p=>{let y=ee[p],D=ey.get(y.id),J=`${oe}-r${p}-name`,re=Fe!==null&&p>=Fe.top&&p<=Fe.bottom,Ae=L.rowActions(p+1);return(0,T.jsxs)("div",{role:"row","aria-rowindex":p+2,className:H("crewlet-sheet-grid__row",p===ee.length-1&&N0&&"crewlet-sheet-grid__row--floor"),style:{top:`${p*Pe}px`},"data-row-id":y.id,children:[(0,T.jsxs)("div",{role:"rowheader","aria-colindex":1,"aria-labelledby":J,className:H("crewlet-sheet-grid__rownum",Wo<0&&"crewlet-sheet-grid__frozen-edge",qt&&"crewlet-sheet-grid__rownum--actions",re&&"crewlet-sheet-grid__rownum--selected",u0===y.id&&"crewlet-sheet-grid__rownum--open",D&&"crewlet-sheet-grid__rownum--present",D&&bl(D.hue)),children:[(0,T.jsx)("span",{className:"crewlet-sheet-grid__rownum-number","aria-hidden":"true",children:p+1}),(0,T.jsx)(Bt,{id:J,children:iu(q,y,p,se)}),qt?(0,T.jsx)("span",{className:"crewlet-sheet-grid__row-actions",children:(0,T.jsx)(Hb,{label:Ae,triggerTabIndex:-1,open:u0===y.id,onOpenChange:Y=>d0(Y?y.id:null),renderTrigger:Y=>(0,T.jsx)(Da,{content:Ae,align:"start",children:(0,T.jsx)(wl,{...Y,label:Ae,icon:(0,T.jsx)(mp,{}),size:"sm",title:""})}),items:[{key:"delete",label:L.deleteRow,icon:(0,T.jsx)(_p,{size:"sm"}),danger:!0,onSelect:()=>w?.(y.id)}]})}):null]}),q.map((Y,Re)=>{let fy={row:p,col:Re},z0=Aa(y.id,Y.field),Ai=he?.row===p&&he.col===Re,C0=Fe?jf(Fe,p,Re):!1,py=y.pending?.includes(Y.field)??!1,is=y.refused?.[Y.field]??o0.get(z0),Ni=y.changed?.[Y.field],k0=Ut(Y,y.values[Y.field]),os=p0.get(z0),Ln=os?.[0],Oi=W?.rowId===y.id&&W.field===Y.field,R0=Ai&&o!==void 0&&!Oi;return(0,T.jsxs)("div",{id:Xp(oe,fy),role:"gridcell","aria-colindex":Re+2,"aria-selected":C0,"aria-readonly":!nr(Y)||void 0,"aria-describedby":Ai?M0:void 0,tabIndex:Ai&&!Oi?0:-1,className:H("crewlet-sheet-grid__cell",`crewlet-sheet-grid__cell--${Y.type}`,Y.frozen&&"crewlet-sheet-grid__cell--frozen",Re===Wo&&"crewlet-sheet-grid__frozen-edge",C0&&"crewlet-sheet-grid__cell--selected",Ai&&"crewlet-sheet-grid__cell--active",py&&"crewlet-sheet-grid__cell--pending",is!==void 0&&"crewlet-sheet-grid__cell--refused",Oi&&"crewlet-sheet-grid__cell--editing",R0&&"crewlet-sheet-grid__cell--history",Ln&&"crewlet-presence-ring",Ln&&bl(Ln.hue),Ln&&(Ln.idle?"crewlet-presence-ring--idle":null)),style:Y.frozen?{insetInlineStart:`${tr[Re]}px`}:void 0,onMouseDown:ga=>T0(ga,{rowId:y.id,field:Y.field}),onFocus:ga=>{ga.target===ga.currentTarget&&v0({rowId:y.id,field:Y.field})},onMouseEnter:()=>oy({rowId:y.id,field:Y.field}),onDoubleClick:()=>{Y.type!=="checkbox"&&as({rowId:y.id,field:Y.field})},onClick:ga=>{Y.type==="checkbox"&&ga.target.closest(".crewlet-sheet-cell__check")&&Mu({rowId:y.id,field:Y.field})},children:[(0,T.jsx)("span",{className:"crewlet-sheet-grid__value",children:(0,T.jsx)(Zp,{column:Y,value:k0,context:se,onOpenLink:u})}),is!==void 0?(0,T.jsx)("span",{className:"crewlet-sheet-grid__refused","aria-hidden":"true",children:(0,T.jsx)(ui,{size:"xs"})}):null,Ni?(0,T.jsx)(zb,{by:Ni.by,at:Ni.at,previous:lu(Ni)&&Ma(Y,Ut(Y,Ni.previous),se)||null,locale:z,labels:L}):null,os&&Ln?(0,T.jsx)(Ob,{name:sp(os),hue:Ln.hue,kind:Ln.kind,editing:os.some(ga=>ga.editing)}):null,Ai&&is!==void 0&&!Oi?(0,T.jsx)("span",{className:"crewlet-sheet-grid__message","aria-hidden":"true",children:is}):null,R0?(0,T.jsx)("button",{type:"button",tabIndex:-1,"aria-hidden":"true",className:"crewlet-sheet-grid__history",title:L.history,onMouseDown:ga=>ga.stopPropagation(),onClick:()=>o?.({rowId:y.id,field:Y.field}),children:(0,T.jsx)(yp,{size:"xs"})}):null,Oi?(0,T.jsx)(Bb,{column:Y,value:k0,context:se,seed:W.seed,label:`${Y.label}, ${iu(q,y,p,se)}`,side:hy(p),conflict:ls,onCommit:(ga,gy)=>b0(ga,gy),onCancel:()=>b0(void 0,null)}):null]},Y.field)})]},y.id)})})]}),Zt?(0,T.jsx)("div",{className:H("crewlet-sheet-grid__add-column",O0&&"crewlet-sheet-grid__add-column--floor"),style:{height:`${na}px`},children:(0,T.jsx)(Da,{content:L.addColumn,children:(0,T.jsx)(wl,{label:L.addColumn,icon:(0,T.jsx)(uu,{size:"xs"}),size:"sm",title:"",onClick:j})})}):null]}),ae?(0,T.jsx)("div",{ref:At,className:"crewlet-sheet-grid__measure","aria-hidden":"true",inert:!0,children:C.filter(p=>ae.has(p.field)).map(p=>(0,T.jsxs)("div",{"data-measure":p.field,children:[(0,T.jsxs)("div",{className:H("crewlet-sheet-grid__header",`crewlet-sheet-grid__header--${p.type}`),children:[(0,T.jsx)("span",{className:"crewlet-sheet-grid__header-label",children:p.label}),x?(0,T.jsx)("span",{className:"crewlet-sheet-grid__sort",children:(0,T.jsx)(su,{size:"xs"})}):null]}),(ae.get(p.field)??[]).map((y,D)=>(0,T.jsx)("div",{className:H("crewlet-sheet-grid__cell",`crewlet-sheet-grid__cell--${p.type}`),children:(0,T.jsx)("span",{className:"crewlet-sheet-grid__value",children:(0,T.jsx)(Zp,{column:p,value:y,context:se})})},D))]},p.field))}):null,(0,T.jsx)(Bt,{id:M0,children:cy}),(0,T.jsx)(Bt,{id:A0,children:[L.keyboardHelp,qt?L.rowActionsHelp:"",dt?L.columnSettingsHelp:""].filter(Boolean).join(" ")}),(0,T.jsx)(Bt,{children:(0,T.jsx)("span",{role:"status","aria-live":"polite",children:(0,T.jsx)("span",{children:c0.text},c0.n)})}),i||M?(0,T.jsxs)("div",{className:"crewlet-sheet-grid__foot",children:[i&&Je?(0,T.jsx)(Ua,{size:"small",variant:"ghost",onClick:i,leadingIcon:(0,T.jsx)(uu,{size:"sm"}),children:L.addRow}):null,M?(0,T.jsxs)("span",{className:H("crewlet-sheet-grid__sync",((M.failed??0)>0||!M.offline&&(M.refused??0)>0)&&"crewlet-sheet-grid__sync--failed"),children:[(0,T.jsx)("span",{children:L.sync(M)}),(M.failed??0)>0&&d?(0,T.jsx)(Ua,{size:"small",variant:"ghost",onClick:d,children:L.retry}):null,(M.failed??0)===0&&(M.refused??0)>0&&_?(0,T.jsx)(Ua,{size:"small",variant:"ghost",onClick:_,children:L.dismiss}):null]}):null]}):null]})}function yi(e){return!e.currentTarget.contains(e.target)}function Xp(e,t){return`${e}-r${t.row<0?"h":t.row}-c${t.col}`}function D_(e,t,a){let n=t.get(Aa(e.id,a));return n===void 0||e.refused?.[a]!==void 0?e:{...e,refused:{...e.refused,[a]:n}}}var e0="crewlet:ready";function t0(e=window){let t=e.crewlet;return t?Qo(t):new Promise(a=>{let n=()=>{let l=e.crewlet;l&&(e.removeEventListener(e0,n),a(Qo(l)))};e.addEventListener(e0,n)})}function Qo(e){return e.ready.then(()=>e)}function qb(){let e=crypto.getRandomValues(new Uint8Array(12));return Array.from(e,t=>t.toString(16).padStart(2,"0")).join("")}var Ya=K(Te(),1),Va={noData:"This sheet cannot load, because this version of the page was published without access to its data.",noColumns:e=>`The \u201C${e}\u201D collection has no columns yet.`,loadFailed:(e,t)=>t==="forbidden"?`You do not have access to the \u201C${e}\u201D collection.`:t==="not_found"?`This page has no collection named \u201C${e}\u201D.`:`The \u201C${e}\u201D collection could not be loaded. Reload the page to try again.`,inSheet:e=>e===1?"1 other person is in this sheet":`${e} other people are in this sheet`,stepOvertaken:e=>`Somebody changed this after you, so the ${e} was skipped.`,addRowFailed:e=>`Could not add a row. ${e}`,deleteRowTitle:"Delete this row?",deleteRowMessage:"The row is removed for everyone who can open this page.",deleteRowConfirm:"Delete row",deleteRowCancel:"Cancel"};function bu(e,t){console.warn(`[crewlet artifact-kit] ${e}`,t)}function a0(e){return e.verdict==="applied"||e.verdict==="pending"?null:Lo(e.verdict,e.reason,Fl)}function yu(e){let t=typeof e?.code=="string"?e.code:"",a=e instanceof Error?e.message:void 0;return Lo(t,a,Fl)}function Vb(e,t){let{capabilities:a}=e;return{settled:t,db:a.has("db"),presence:a.has("presence"),identity:a.has("identity")}}var L_=(e,t)=>e.settled===t.settled&&e.db===t.db&&e.presence===t.presence&&e.identity===t.identity;function U_(e){let[t,a]=(0,F.useState)(()=>Vb(e,!1));return(0,F.useEffect)(()=>{let n=!0,l=r=>{let i=Vb(e,r);a(o=>L_(o,i)?o:i)};return l(!1),e.ready.then(()=>{n&&l(!0)}),()=>{n=!1}},[e]),t}function Yb({runtime:e,collection:t,columns:a,sort:n,frozen:l,readOnly:r=!1,label:i,height:o}){let s=U_(e),c=s.db,f=s.presence,v=s.identity,u=(0,F.useMemo)(()=>e.data.collection(t),[e,t]),[m,b]=(0,F.useState)(null),[x,M]=(0,F.useState)(void 0),[d,h]=(0,F.useState)([]),[g,w]=(0,F.useState)(null),[_,k]=(0,F.useState)(n),[N,O]=(0,F.useState)(null),[j,z]=(0,F.useState)([]),[X,$]=(0,F.useState)([]),[Se,ve]=(0,F.useState)(!1),[oe,L]=(0,F.useState)(0),[Me,se]=(0,F.useState)({text:"",n:0}),[C,R]=(0,F.useState)(null),U=(0,F.useCallback)(G=>se(V=>({text:G,n:V.n+1})),[]),[,be]=(0,F.useState)(0),ze=(0,F.useRef)(new Map),ae=(0,F.useMemo)(()=>new np,[]);(0,F.useEffect)(()=>k(n),[n]),(0,F.useEffect)(()=>ae.subscribe(()=>be(G=>G+1)),[ae]),(0,F.useEffect)(()=>{if(!c)return;let G=!0;return e.data.schema().then(V=>{if(!G)return;let ue=V.find(Le=>Le.name===t)??null;M(ue?.title),a||b(_w(ue))}).catch(V=>{bu(`the schema of ${t} could not be read`,V),G&&!a&&b([])}),()=>{G=!1}},[e,a,c,t]),(0,F.useEffect)(()=>{if(c)return w(null),u.subscribe(G=>h(G.map(V=>({id:V.id,values:V.data}))),G=>w(Va.loadFailed(t,G.code)))},[u,c,t]),(0,F.useEffect)(()=>{if(!v)return;let G=!0;return e.identity.me().then(V=>{G&&O(V)}).catch(V=>bu("the reader could not be identified",V)),e.identity.people().then(V=>{G&&z(V.map(Nw))}).catch(V=>bu("the people a person cell offers could not be listed",V)),()=>{G=!1}},[e,v]);let lt=(0,F.useMemo)(()=>Mw(a??m??[],l),[a,m,l]);(0,F.useEffect)(()=>{if(f)return $(e.presence.roster().members),e.presence.subscribe(G=>$(G.members))},[e,f]),(0,F.useEffect)(()=>{if(e.connection)return ve(e.connection.state==="offline"),e.connection.subscribe(G=>ve(G==="offline"))},[e]);let I=(0,F.useMemo)(()=>{let G=zw(X,ze.current);return ze.current=G,G},[X]),Ce=N?.seat??null,At=(0,F.useMemo)(()=>Cw(X,t,Ce,I),[X,t,Ce,I]),vt=(0,F.useMemo)(()=>Rw(kw(X,t),Ce,I),[X,t,Ce,I]),Ze=(0,F.useCallback)(G=>{let V=G.map(ke=>ae.begin(ke.rowId,ke.field)),ue=ke=>{for(let Pe of V)Pe(ke===null?{ok:!0}:{ok:!1,message:ke})},Le=ke=>({[ke.field]:ke.value}),Vt;if(G.length===1){let[ke]=G;Vt=u.merge(ke.rowId,Le(ke))}else{let ke=e.data.batch();for(let Pe of G)ke.merge(t,Pe.rowId,Le(Pe));Vt=ke.commit()}Vt.then(ke=>ue(a0(ke)),ke=>ue(yu(ke)))},[t,ae,e,u]),q=(0,F.useCallback)(()=>{u.set(qb(),{}).then(G=>{let V=a0(G);L(ue=>V===null?0:ue+1),V!==null&&U(Va.addRowFailed(V))},G=>{L(V=>V+1),U(Va.addRowFailed(yu(G)))})},[u,U]),ee=(0,F.useCallback)(G=>{let V=lt[0],ue=V?ae.begin(G,V.field):()=>{};u.delete(G).then(Le=>{let Vt=a0(Le);if(ue(Vt===null?{ok:!0}:{ok:!1,message:Vt}),Vt===null)for(let ke of lt)ae.dismiss(G,ke.field)},Le=>ue({ok:!1,message:yu(Le)}))},[lt,ae,u]),Je=(0,F.useCallback)(G=>{e.data[G]().then(V=>{V===null||V.verdict==="applied"||V.verdict==="pending"||U(V.verdict==="conflict"?Va.stepOvertaken(G):Lo(V.verdict,V.reason,Fl))},V=>U(yu(V)))},[e,U]),qt=(0,F.useRef)({active:null,editing:null}),dt=(0,F.useCallback)(()=>{if(!f)return;let{active:G,editing:V}=qt.current,ue=V??G,Le=ue?{collection:t,doc:ue.rowId,field:ue.field}:{};e.presence.set({activity:V?"editing":"viewing",focus:Le})},[e,f,t]),Zt=(0,F.useCallback)(G=>{qt.current.active=G,dt()},[dt]),wt=(0,F.useCallback)(G=>{qt.current.editing=G,dt()},[dt]);if(!c)return s.settled?(0,Ya.jsx)(di,{variant:"warning",children:Va.noData}):null;if(g!==null)return(0,Ya.jsx)(di,{variant:"warning",children:g});if(lt.length===0&&(a!==null||m!==null))return(0,Ya.jsx)(di,{variant:"neutral",children:Va.noColumns(t)});let rt=r||N?.role==="viewer",S={...ae.sync(Se),failed:oe},ce=C===null?void 0:d.find(G=>G.id===C);return(0,Ya.jsxs)("div",{className:"crewlet-kit-sheet",children:[vt.length>0?(0,Ya.jsx)("div",{className:"crewlet-kit-sheet__presence",children:(0,Ya.jsx)(Ip,{members:vt,self:!1,size:"xs",label:Va.inSheet(vt.length)})}):null,(0,Ya.jsx)(Pp,{label:i??x??t,columns:lt,rows:ae.decorate(d),people:j,mode:rt?"read":"edit",onEdit:rt?void 0:Ze,onAddRow:rt?void 0:q,onDeleteRow:rt?void 0:R,onActiveCellChange:Zt,onEditingChange:wt,onOpenLink:G=>{e.openLink(G).catch(V=>bu("a link could not be opened",V))},onUndo:()=>Je("undo"),onRedo:()=>Je("redo"),presence:At,sort:_,onSortChange:k,sync:rt?void 0:S,onRetry:oe>0?q:void 0,onDismissRefused:()=>ae.dismissAll(),height:o,fit:"content"}),(0,Ya.jsx)(zp,{open:ce!==void 0,onClose:()=>R(null),onConfirm:()=>{ce&&ee(ce.id),R(null)},title:Va.deleteRowTitle,message:Va.deleteRowMessage,confirmLabel:Va.deleteRowConfirm,cancelLabel:Va.deleteRowCancel,destructive:!0}),Me.text?(0,Ya.jsx)(di,{variant:"warning",live:"polite",children:Me.text},Me.n):null]})}var Kb=K(Te(),1);function jb(e,t){let a=e.ownerDocument.createElement("div");a.className="crewlet-kit-sheet__root",e.append(a);let n=(0,Ib.createRoot)(a),l=t,r=null,i=!1,o=()=>{i||!r||n.render((0,Kb.jsx)(Yb,{runtime:r,collection:l.collection,columns:l.columns&&l.columns.length>0?l.columns:null,sort:l.sort??null,frozen:l.frozen,readOnly:l.readOnly,label:l.label,height:l.height}))},s=c=>{c.then(f=>{r=f,o()})};return s(t.runtime?Qo(t.runtime):t0(e.ownerDocument.defaultView??window)),{update(c){l=c,c.runtime&&c.runtime!==r&&s(Qo(c.runtime)),o()},unmount(){i=!0,n.unmount(),a.remove()}}}var Zo=class extends HTMLElement{static get observedAttributes(){return Tw}attributeChangedCallback(){this.closest("crewlet-sheet")?.dispatchEvent(new Event("crewlet-columnchange"))}toColumn(){return Ew(t=>this.getAttribute(t))}},B_=["collection","sort","frozen","readonly","label","height"],xu=class extends HTMLElement{constructor(){super(...arguments);fn(this,"mounted",null);fn(this,"observer",typeof MutationObserver=="function"?new MutationObserver(()=>this.refresh()):null);fn(this,"onColumnChange",()=>this.refresh())}static get observedAttributes(){return B_}connectedCallback(){this.addEventListener("crewlet-columnchange",this.onColumnChange),this.observer?.observe(this,{childList:!0}),this.refresh()}disconnectedCallback(){this.removeEventListener("crewlet-columnchange",this.onColumnChange),this.observer?.disconnect(),this.mounted?.unmount(),this.mounted=null}attributeChangedCallback(){this.isConnected&&this.refresh()}options(){let a=this.getAttribute("collection")?.trim();if(!a)return null;let n=[...this.children].filter(s=>s instanceof Zo).map(s=>s.toColumn()).filter(s=>s!==null),l=Number(this.getAttribute("frozen")),r=Number(this.getAttribute("height")),i={collection:a,columns:n,sort:Sw(this.getAttribute("sort")),readOnly:this.hasAttribute("readonly")};this.hasAttribute("frozen")&&Number.isInteger(l)&&l>=0&&(i.frozen=l),this.hasAttribute("height")&&Number.isFinite(r)&&r>0&&(i.height=r);let o=this.getAttribute("label")?.trim();return o&&(i.label=o),i}refresh(){let a=this.options();if(!a){this.mounted?.unmount(),this.mounted=null;return}this.mounted?this.mounted.update(a):this.mounted=jb(this,a)}};function n0(e=customElements){e.get("crewlet-column")||e.define("crewlet-column",Zo),e.get("crewlet-sheet")||e.define("crewlet-sheet",xu)}n0();export{Zo as CrewletColumnElement,xu as CrewletSheetElement,e0 as RUNTIME_READY_EVENT,n0 as defineElements,jb as mountSheet,t0 as whenRuntime};
12
+ `?(a.push(n),t.push(a),a=[],n=""):n+=o,r+=1}return(n!==""||a.length>0)&&(a.push(n),t.push(a)),t}function tp(e,t,a,n,l){let r={edits:[],refused:[]};if(n.length===0)return r;let i=n.length===1&&n[0].length===1,o=i?a.bottom-a.top+1:n.length,s=i?a.right-a.left+1:Math.max(...n.map(c=>c.length));for(let c=0;c<o;c+=1){let f=t[a.top+c];if(!f)break;for(let v=0;v<s;v+=1){let u=e[a.left+v];if(!u)break;if(u.readOnly)continue;let m=i?n[0][0]:n[c]?.[v];if(m===void 0)continue;let b=oi(u,m,l);if(!b.ok){r.refused.push({rowId:f.id,field:u.field,error:b.error});continue}li(b.value,Ut(u,f.values[u.field]))||r.edits.push({rowId:f.id,field:u.field,value:b.value})}}return r}function ap(e,t,a,n){let l={edits:[],refused:[]};for(let r=a.top;r<=a.bottom;r+=1){let i=t[r];if(i)for(let o=a.left;o<=a.right;o+=1){let s=e[o];if(!s||s.readOnly)continue;let c=s.type==="checkbox"?!1:s.type==="multiselect"?[]:null;if(!li(Ut(s,i.values[s.field]),c)){if(s.required&&s.type!=="checkbox"){l.refused.push({rowId:i.id,field:s.field,error:n.labels.required(s.label)});continue}l.edits.push({rowId:i.id,field:s.field,value:c})}}}return l}function Lo(e,t,a){if(e==="forbidden"||e==="capability_not_declared")return a.forbidden;let n=t?.trim();return n||a.couldNotSave}var Fc=(e,t)=>`${e}\0${t}`,np=class{constructor(){fn(this,"waiting",new Map);fn(this,"refusals",new Map);fn(this,"listeners",new Set);fn(this,"failed",0)}begin(e,t){let a=Fc(e,t);this.refusals.delete(a),this.waiting.set(a,(this.waiting.get(a)??0)+1),this.emit();let n=!1;return l=>{if(n)return;n=!0;let r=(this.waiting.get(a)??1)-1;r<=0?this.waiting.delete(a):this.waiting.set(a,r),l.ok||(this.refusals.set(a,l.message),this.failed+=1),this.emit()}}isPending(e,t){return this.waiting.has(Fc(e,t))}refusal(e,t){return this.refusals.get(Fc(e,t))}dismiss(e,t){this.refusals.delete(Fc(e,t))&&this.emit()}get saving(){let e=0;for(let t of this.waiting.values())e+=t;return e}dismissAll(){this.refusals.size!==0&&(this.refusals.clear(),this.emit())}sync(e=!1){return{saving:this.saving,offline:e,refused:this.refusals.size}}get failures(){return this.failed}resetFailures(){this.failed=0}decorate(e){return this.waiting.size===0&&this.refusals.size===0?[...e]:e.map(t=>{let a=[],n={};for(let l of this.waiting.keys()){let[r,i]=l.split("\0");r===t.id&&a.push(i)}for(let[l,r]of this.refusals){let[i,o]=l.split("\0");i===t.id&&(n[o]=r)}return a.length===0&&Object.keys(n).length===0?t:{...t,pending:[...t.pending??[],...a],refused:{...t.refused,...n}}})}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}emit(){for(let e of this.listeners)e()}};function pw(e,t){let a=e instanceof Date?e:new Date(e);return Number.isNaN(a.getTime())?"":new Intl.DateTimeFormat(t,{hour:"2-digit",minute:"2-digit"}).format(a)}function nu(e,t,a,n){return t.changed(e.by,pw(e.at,n),a)}var lu=e=>e.previous!==void 0;function lp(e,t,a,n){if(!a)return[...t];let l=e.find(i=>i.field===a.field);if(!l)return[...t];let r=a.direction==="descending"?-1:1;return t.map((i,o)=>({row:i,index:o,value:Ut(l,i.values[l.field])})).sort((i,o)=>{let s=c=>c===null||c===""||Array.isArray(c)&&c.length===0;return l.type!=="checkbox"&&(s(i.value)||s(o.value))?s(i.value)===s(o.value)?i.index-o.index:s(i.value)?1:-1:r*hw(l,i.value,o.value,n)||i.index-o.index}).map(({row:i})=>i)}function ru(e,t){return!e||e.field!==t?{field:t,direction:"ascending"}:e.direction==="ascending"?{field:t,direction:"descending"}:null}var Aa=(e,t)=>`${e}\0${t}`;function rp(e){let t=new Map;for(let a of e??[]){let n=Aa(a.rowId,a.field),l=t.get(n);l?l.push(a):t.set(n,[a])}for(let a of t.values())a.sort((n,l)=>+!!l.editing-+!!n.editing);return t}function ip(e){let t=new Map;for(let a of e??[])t.has(a.rowId)||t.set(a.rowId,a);return t}function op(e,t=2){let a=new Map;for(let n of e??[]){let l=a.get(n.field)??[];l.length<t&&!l.some(r=>r.id===n.id)&&l.push(n),a.set(n.field,l)}return a}function sp(e){return e.map(t=>t.name).join(", ")}function cp(e,t,a,n,l=Ho){let{labels:r}=n,i=[`${e.label}.`];e.readOnly&&i.push(r.readOnly(e.label)),t.pending?.includes(e.field)&&i.push(`${r.saving}.`);let o=t.refused?.[e.field];o&&i.push(o);let s=a.map(f=>f.name);s.length>0&&i.push(l.alsoHere(s));let c=t.changed?.[e.field];if(c){let f=lu(c)&&Ma(e,Ut(e,c.previous),n)||null;i.push(nu(c,r,f,n.locale))}return i.join(" ")}function iu(e,t,a,n){let l=e.find(r=>r.type==="text");if(l){let r=Ma(l,Ut(l,t.values[l.field]),n);if(r)return r}return String(a+1)}var gw=K(ht(),1);function c5(e,t){if(typeof e=="function"){let n=e(t);return typeof n=="function"?n:()=>{e(null)}}if(!e)return()=>{};let a=e;return a.current=t,()=>{a.current=null}}function u5(...e){return t=>{let a=e.map(n=>c5(n,t));return()=>{for(let n of a)n()}}}function d5(e,t){return e.length===t.length&&e.every((a,n)=>a===t[n])}function ml(...e){let t=(0,gw.useRef)(null);return(!t.current||!d5(t.current.refs,e))&&(t.current={refs:e,callback:u5(...e)}),t.current.callback}function up(e){return Number.parseFloat(e)}var h5=K(ht(),1),f5="data-crewlet-focus";var dp="data-crewlet-focus-returned";function si(e,t){if(!e)return!1;let a=()=>e.removeAttribute(dp);return e.setAttribute(dp,""),e.addEventListener("blur",a,{once:!0}),e.focus(t),e.ownerDocument.activeElement===e?!0:(e.removeEventListener("blur",a),a(),!1)}function mw(e){let t;try{t=e.matches(":focus-visible")}catch{t=!0}return t?!(e.ownerDocument.documentElement.getAttribute(f5)==="pointer"&&e.hasAttribute(dp)):!1}var hp=K(ht(),1),yw=K(Te(),1),m5=(0,hp.createContext)(2);function xw({level:e,children:t}){return(0,yw.jsx)(m5.Provider,{value:e,children:t})}function H(...e){return e.filter(Boolean).join(" ")}var v5=["todo","in_progress","done","blocked"];function w5(e){if(e.options)return e.options.map(t=>{let a={id:t.id,label:t.label};return t.color&&(a.color=t.color),t.category&&v5.includes(t.category)&&(a.category=t.category),t.archived&&(a.archived=!0),a})}function _w(e){let t=[];for(let a of e?.columns??[]){if(a.hidden)continue;let n=a.type,l=$c(n),r={field:a.key,label:a.label||a.key,type:l?n:"text"};l||(r.readOnly=!0),a.primary&&(r.frozen=!0),a.required&&(r.required=!0),a.min!==void 0&&(r.min=a.min),a.max!==void 0&&(r.max=a.max),a.max_length!==void 0&&(r.maxLength=a.max_length),a.max_items!==void 0&&(r.maxItems=a.max_items);let i=w5(a);i&&(r.options=i),t.push(r)}return t}function b5(e,t){let a=t.trim();if(a===""||a==="plain")return;let n=/^currency:([A-Za-z]{3})$/.exec(a);if(n){e.numberStyle="currency",e.currency=n[1].toUpperCase();return}if(a==="percent"){e.numberStyle="percent";return}let l=/^0(?:\.(0+))?(%)?$/.exec(a);l&&(e.precision=l[1]?.length??0,l[2]&&(e.numberStyle="percent"))}var Uo=e=>{if(e===null||e.trim()==="")return;let t=Number(e);return Number.isFinite(t)?t:void 0},Tw=["field","type","label","format","options","width","readonly","required","frozen","min","max","max-length","max-items","time"];function Ew(e){let t=e("field")?.trim();if(!t)return null;let a=e("type")?.trim()??"text",n=$c(a),l={field:t,label:e("label")?.trim()||t,type:n?a:"text"};(!n||e("readonly")!==null)&&(l.readOnly=!0),e("required")!==null&&(l.required=!0),e("frozen")!==null&&(l.frozen=!0),e("time")!==null&&(l.time=!0);let r=Uo(e("width"));r!==void 0&&(l.width=r);let i=Uo(e("min"));i!==void 0&&(l.min=i);let o=Uo(e("max"));o!==void 0&&(l.max=o);let s=Uo(e("max-length"));s!==void 0&&(l.maxLength=s);let c=Uo(e("max-items"));c!==void 0&&(l.maxItems=c);let f=e("options");f&&(l.options=qf(f));let v=e("format");return v&&l.type==="number"&&b5(l,v),l}function Sw(e){let t=e?.trim();return t?t.startsWith("-")?{field:t.slice(1),direction:"descending"}:{field:t,direction:"ascending"}:null}function Mw(e,t){return t===void 0?[...e]:e.map((a,n)=>n<t?{...a,frozen:!0}:a)}var Aw=e=>e!==void 0&&Ro(e)?e:void 0;function Nw(e){let t={id:e.seat,name:e.displayName,kind:e.kind},a=Aw(e.avatar?.hue);return a&&(t.hue=a),e.avatar?.character&&(t.character=e.avatar.character),t}function Ow(e,t){return e.filter(a=>a.seat!==t)}function zw(e,t){return Df(e.map(a=>({id:a.session,kind:a.kind,hue:Aw(a.avatar?.hue)})),t)}function Cw(e,t,a,n){let l=[];for(let r of Ow(e,a)){let i=r.focus;i.collection!==t||!i.doc||!i.field||l.push({rowId:i.doc,field:i.field,id:r.session,name:r.displayName,kind:r.kind,hue:n.get(r.session)??"purple",editing:r.activity==="editing",idle:r.activity==="idle"})}return l}function kw(e,t){return e.filter(a=>a.focus.collection===t)}function Rw(e,t,a){return Ow(e,t).map(n=>{let l={id:n.session,seat:n.seat,name:n.displayName,kind:n.kind,activity:n.activity},r=a.get(n.session);return r&&(l.hue=r),n.avatar?.character&&(l.character=n.avatar.character),l})}var F=K(ht(),1);var Gw=K(Te(),1),Hw={xs:12,sm:14,md:16,lg:20,xl:24},Dw=1.75,y5=`var(--crewlet-glyph-stroke, ${Dw})`;function x5(e){return e===void 0?"1em":typeof e=="number"?`${e}px`:e in Hw?`${Hw[e]}px`:e}function Et({size:e,title:t,filled:a=!1,fillable:n,className:l,style:r,children:i,...o}){let s=x5(e);return(0,Gw.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:s,height:s,stroke:"currentColor",...t?{role:"img","aria-label":t}:{"aria-hidden":!0,focusable:!1},className:l===void 0?"crewlet-glyph":`crewlet-glyph ${l}`,...o,viewBox:"0 0 24 24",fill:n&&a?"currentColor":"none",strokeWidth:Dw,strokeLinecap:"round",strokeLinejoin:"round",style:{...r,strokeWidth:y5},children:i})}var B=K(Te(),1);function su(e){return(0,B.jsxs)(Et,{...e,fillable:!1,children:[(0,B.jsx)("path",{d:"M12 5v14"}),(0,B.jsx)("path",{d:"m19 12-7 7-7-7"})]})}function fp(e){return(0,B.jsxs)(Et,{...e,fillable:!1,children:[(0,B.jsx)("path",{d:"m5 12 7-7 7 7"}),(0,B.jsx)("path",{d:"M12 19V5"})]})}function ci(e){return(0,B.jsx)(Et,{...e,fillable:!1,children:(0,B.jsx)("path",{d:"M20 6 9 17l-5-5"})})}function pp(e){return(0,B.jsx)(Et,{...e,fillable:!1,children:(0,B.jsx)("path",{d:"m15 18-6-6 6-6"})})}function ui(e){return(0,B.jsxs)(Et,{...e,fillable:!1,children:[(0,B.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,B.jsx)("line",{x1:"12",x2:"12",y1:"8",y2:"12"}),(0,B.jsx)("line",{x1:"12",x2:"12.01",y1:"16",y2:"16"})]})}function gp(e){return(0,B.jsxs)(Et,{...e,fillable:!1,children:[(0,B.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,B.jsx)("path",{d:"m16 9-5.5 5.5L8 12"})]})}function mp(e){return(0,B.jsxs)(Et,{...e,fillable:!1,children:[(0,B.jsx)("circle",{cx:"12",cy:"12",r:"1"}),(0,B.jsx)("circle",{cx:"19",cy:"12",r:"1"}),(0,B.jsx)("circle",{cx:"5",cy:"12",r:"1"})]})}function vp(e){return(0,B.jsxs)(Et,{...e,fillable:!1,children:[(0,B.jsx)("circle",{cx:"12",cy:"12",r:"1"}),(0,B.jsx)("circle",{cx:"12",cy:"5",r:"1"}),(0,B.jsx)("circle",{cx:"12",cy:"19",r:"1"})]})}function wp(e){return(0,B.jsxs)(Et,{...e,fillable:!1,children:[(0,B.jsx)("path",{d:"M15 3h6v6"}),(0,B.jsx)("path",{d:"M10 14 21 3"}),(0,B.jsx)("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"})]})}function cu(e){return(0,B.jsxs)(Et,{...e,fillable:!1,children:[(0,B.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,B.jsx)("path",{d:"M12 16v-4"}),(0,B.jsx)("path",{d:"M12 8h.01"})]})}function bp(e){return(0,B.jsxs)(Et,{...e,fillable:!1,children:[(0,B.jsx)("path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"}),(0,B.jsx)("path",{d:"m15 5 4 4"})]})}function uu(e){return(0,B.jsxs)(Et,{...e,fillable:!1,children:[(0,B.jsx)("path",{d:"M5 12h14"}),(0,B.jsx)("path",{d:"M12 5v14"})]})}function yp(e){return(0,B.jsxs)(Et,{...e,fillable:!1,children:[(0,B.jsx)("path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}),(0,B.jsx)("path",{d:"M3 3v5h5"}),(0,B.jsx)("path",{d:"M12 7v5l4 2"})]})}function xp(e){return(0,B.jsx)(Et,{...e,fillable:!0,children:(0,B.jsx)("path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"})})}function _p(e){return(0,B.jsxs)(Et,{...e,fillable:!1,children:[(0,B.jsx)("path",{d:"M10 11v6"}),(0,B.jsx)("path",{d:"M14 11v6"}),(0,B.jsx)("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"}),(0,B.jsx)("path",{d:"M3 6h18"}),(0,B.jsx)("path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})]})}function Tp(e){return(0,B.jsxs)(Et,{...e,fillable:!1,children:[(0,B.jsx)("path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"}),(0,B.jsx)("path",{d:"M12 9v4"}),(0,B.jsx)("path",{d:"M12 17h.01"})]})}function Bo(e){return(0,B.jsxs)(Et,{...e,fillable:!1,children:[(0,B.jsx)("path",{d:"M18 6 6 18"}),(0,B.jsx)("path",{d:"m6 6 12 12"})]})}var Na=K(Te(),1),_5={neutral:(0,Na.jsx)(cu,{size:"md"}),info:(0,Na.jsx)(cu,{size:"md"}),success:(0,Na.jsx)(gp,{size:"md"}),warning:(0,Na.jsx)(Tp,{size:"md"}),danger:(0,Na.jsx)(ui,{size:"md"})},di=({variant:e="info",title:t,icon:a,layout:n="card",appearance:l="tinted",action:r,live:i,className:o,children:s,...c})=>(0,Na.jsxs)("div",{...c,"aria-live":i,className:H("crewlet-callout",`crewlet-callout--${e}`,`crewlet-callout--${n}`,l==="quiet"&&"crewlet-callout--quiet",o),children:[(0,Na.jsx)("span",{className:"crewlet-callout__icon","aria-hidden":!0,children:a??_5[e]}),(0,Na.jsxs)("div",{className:"crewlet-callout__content",children:[t?(0,Na.jsx)("span",{className:"crewlet-callout__title",children:t}):null,s]}),r?(0,Na.jsx)("div",{className:"crewlet-callout__action",children:r}):null]});var Lw=K(Te(),1);function Uw({size:e="em",className:t,...a}){return(0,Lw.jsx)("span",{...a,"aria-hidden":"true",className:H("crewlet-spinner",`crewlet-spinner--${e}`,t)})}function du(e,t){return t?`${e}. ${t}`:e}var qo=K(ht(),1),Bw=K(Te(),1),Cn="crewlet:viewchange",at=4;function hi(e,t,a,n=at,l="below"){let r=e.y+e.height+n,i=e.y-n-t.height,o=a.y+a.height-r,s=e.y-n-a.y,f=(l==="below"?o>=t.height||o>=s:s>=t.height||s>=o)?l:l==="below"?"above":"below",v=f==="below"?r:i,u=a.y+a.height-t.height,m=Math.max(a.y,Math.min(v,u)),b=a.x+a.width-t.width;return{left:Math.max(a.x,Math.min(e.x,b)),top:m,side:f}}function kn(){return{x:0,y:0,width:window.innerWidth,height:window.innerHeight}}function qw(e,t,a=at){let n=kn(),l=t?e:n,r=Math.max(l.x,n.x),i=Math.max(l.y,n.y),o=Math.min(l.x+l.width,n.x+n.width),s=Math.min(l.y+l.height,n.y+n.height);return{x:r-(t?l.x:0)+a,y:i-(t?l.y:0)+a,width:Math.max(0,o-r-2*a),height:Math.max(0,s-i-2*a)}}function fi(e,t,a){let n={x:e.left-(a?t.x:0),y:e.top-(a?t.y:0),width:e.width,height:e.height};return T5(n,{x:0,y:0,width:t.width,height:t.height})}function T5(e,t){return e.x+e.width<t.x||e.y+e.height<t.y||e.x>t.x+t.width||e.y>t.y+t.height}var E5=(0,qo.createContext)(null);function vl(){let e=(0,qo.useContext)(E5);return e||(typeof document>"u"?null:document.body)}var Ye=K(ht(),1);var Ep={duration:{instant:"75ms",fast:"120ms",base:"150ms",moderate:"200ms",slow:"300ms",breath:"2200ms",turn:"1000ms",sweep:"1500ms",spark:"1600ms"},easing:{default:"ease",out:"ease-out",inOut:"ease-in-out",emphasized:"cubic-bezier(0.16, 1, 0.3, 1)",spring:"cubic-bezier(0.34, 1.56, 0.64, 1)"}},Sp={none:"0px",xs:"4px",sm:"6px",md:"8px",lg:"12px",xl:"16px","2xl":"24px",sheet:"14px",chip:"calc(8px - 1px)",pill:"999px",circle:"50%"};var Vw={0:"0px",1:"4px",2:"8px",3:"12px",4:"16px",5:"20px",6:"24px",7:"32px",8:"40px",9:"48px",10:"64px",11:"80px"};var Mp={base:"0",raised:"1",sticky:"10",presence:"20",dropdown:"100",overlay:"200",layerBase:"9000",layerMax:"9899",modal:"9999",popover:"10000",toast:"10001"};var Yw=Symbol.for("crewlet.layer-stack");function S5(){let e=globalThis,t=e[Yw];if(t)return t;let a={entries:[],opened:0,armed:null,listeners:new Set,version:0,locks:0,restore:null};return e[Yw]=a,a}var Oe=S5();function Iw(){Oe.version+=1;for(let e of[...Oe.listeners])e()}function M5(e){return Oe.listeners.add(e),()=>Oe.listeners.delete(e)}function pi(e){let t;for(let a of Oe.entries)e&&a.kind!==e||(!t||a.order>t.order)&&(t=a);return t}var Ap={base:Number(Mp.layerBase),max:Number(Mp.layerMax)};function A5(e){let t=0;for(let a of Oe.entries)a.order<e&&(t+=1);return t}function N5(e){return e===0?Ap.base:Math.min(Ap.base+A5(e),Ap.max)}var O5=229;function gi(e){let t="nativeEvent"in e&&e.nativeEvent||e;return!!t.isComposing||t.keyCode===O5}function er(e){let t=["a[href]","button:not([disabled])","input:not([disabled]):not([type='hidden'])","select:not([disabled])","textarea:not([disabled])","[contenteditable='true']","[tabindex]"].join(",");return[...e.querySelectorAll(t)].filter(a=>a.tabIndex>=0&&!a.disabled&&!a.closest("[hidden],[inert]")&&(typeof a.checkVisibility!="function"||a.checkVisibility()))}function jw(e){if(gi(e))return;if(e.key==="Escape"){if(e.defaultPrevented)return;let c=pi();if(!c)return;e.preventDefault(),c.dismissable()&&c.dismiss("escape");return}if(e.key!=="Tab"||e.defaultPrevented)return;let t=pi("modal"),a=t?.panel();if(!t||!a)return;let n=pi("popup"),l=document.activeElement;if(n&&n.order>t.order&&l&&n.panel()?.contains(l))return;let r=er(a);if(r.length===0){e.preventDefault(),a.focus();return}let i=r[0],o=r[r.length-1];if(!(l instanceof Node)||!a.contains(l)){e.preventDefault(),(e.shiftKey?o:i).focus();return}let s=c=>(l.compareDocumentPosition(c)&Node.DOCUMENT_POSITION_FOLLOWING)!==0;e.shiftKey&&!r.some(c=>c!==l&&!s(c))?(e.preventDefault(),o.focus()):!e.shiftKey&&!r.some(c=>c!==l&&s(c))&&(e.preventDefault(),i.focus())}function Kw(e){Oe.armed=null;let t=pi();if(!t||!(e.target instanceof Node))return;let a=e.target;if(t.kind==="modal"){a===t.veil()&&(Oe.armed=t);return}[t.panel(),...t.inside()].some(l=>l?.contains(a))||t.dismissable()&&t.dismiss("outside")}function Xw(e){let t=Oe.armed;Oe.armed=null,!(!t||t!==pi()||e.target!==t.veil())&&t.dismissable()&&t.dismiss("outside")}function Qw(e){return Oe.entries.length===0&&(document.addEventListener("keydown",jw),document.addEventListener("pointerdown",Kw,!0),document.addEventListener("click",Xw,!0)),Oe.entries.push(e),Iw(),()=>{let t=Oe.entries.indexOf(e);t>=0&&Oe.entries.splice(t,1),Oe.armed===e&&(Oe.armed=null),Oe.entries.length===0&&(document.removeEventListener("keydown",jw),document.removeEventListener("pointerdown",Kw,!0),document.removeEventListener("click",Xw,!0)),Iw()}}function Zw(e){let t=(0,Ye.useRef)(0);return e&&t.current===0&&(t.current=++Oe.opened),e||(t.current=0),t.current}function z5(e){if(!e)return[];let t;for(let n of Oe.entries)n.kind!=="modal"||!n.panel()?.contains(e)||(!t||n.order>t.order)&&(t=n);let a=t?.panel();return t&&a?[e,a,...t.returnTo]:[e]}function Jw(e){return(0,Ye.useSyncExternalStore)(M5,()=>Oe.version,()=>0),{zIndex:N5(e),isTopmost:e!==0&&pi()?.order===e}}function Fw({onClose:e,dismissable:t=!0,initialFocus:a}){let n=(0,Ye.useRef)(null),l=(0,Ye.useRef)(null),r=(0,Ye.useRef)(e),i=(0,Ye.useRef)(t),o=(0,Ye.useRef)(a);r.current=e,i.current=t,o.current=a;let s=Zw(!0),[c]=(0,Ye.useState)(()=>typeof document>"u"?[]:z5(document.activeElement)),f=Jw(s);(0,Ye.useLayoutEffect)(()=>Qw({kind:"modal",order:s,panel:()=>n.current,returnTo:c,veil:()=>l.current,inside:()=>[],dismiss:()=>r.current(),dismissable:()=>i.current}),[s,c]),(0,Ye.useEffect)(()=>{let m=n.current;return m&&!m.contains(document.activeElement)&&(o.current?.()??er(m)[0]??m).focus(),()=>{let b=document.activeElement;if(!(b&&Oe.entries.some(x=>x.panel()?.contains(b)))){for(let x of c)if(!(!(x instanceof HTMLElement)||!x.isConnected||x===document.body)&&si(x,{preventScroll:C5(x)}))return}}},[c]);let v=(0,Ye.useCallback)(m=>{n.current=m},[]),u=(0,Ye.useCallback)(m=>{l.current=m},[]);return{panelRef:v,veilRef:u,...f}}function mi({open:e,onDismiss:t}){let a=(0,Ye.useRef)(null),n=(0,Ye.useRef)(null),l=(0,Ye.useRef)(t);l.current=t;let r=Zw(e),i=Jw(r);(0,Ye.useLayoutEffect)(()=>{if(e)return Qw({kind:"popup",order:r,panel:()=>a.current,returnTo:[],veil:()=>null,inside:()=>[n.current],dismiss:c=>l.current(c),dismissable:()=>!0})},[e,r]);let o=(0,Ye.useCallback)(c=>{a.current=c},[]),s=(0,Ye.useCallback)(c=>{n.current=c},[]);return{panelRef:o,insideRef:s,...i}}function $w(e){(0,Ye.useLayoutEffect)(()=>{if(!(!e||typeof document>"u"))return Oe.locks===0&&(Oe.restore=document.body.style.overflow,document.body.style.overflow="hidden"),Oe.locks+=1,()=>{Oe.locks-=1,Oe.locks===0&&(document.body.style.overflow=Oe.restore??"",Oe.restore=null)}},[e])}function C5(e){let t=e.getBoundingClientRect();return t.width>0&&t.bottom>0&&t.right>0&&t.top<window.innerHeight&&t.left<window.innerWidth}var We=K(ht(),1),Ww=K(cr(),1);var vi=K(Te(),1);function k5(e,t){return typeof e!="function"?t:typeof t!="function"?e:(...a)=>{e(...a),t(...a)}}var R5=up(Ep.duration.fast),H5=up(Ep.duration.base),G5=Number.parseFloat(Vw[2]);function Da({content:e,placement:t="top",align:a="center",disabled:n=!1,openDelay:l=R5,closeDelay:r=H5,className:i,children:o,ref:s,...c}){let v=`${(0,We.useId)()}-tooltip`,[u,m]=(0,We.useState)(!1),b=(0,We.useRef)(null),x=(0,We.useRef)(null),M=(0,We.useRef)(void 0),d=(0,We.useRef)({pointer:!1,focus:!1,pressed:!1}),[h,g]=(0,We.useState)(null),w=vl(),_=(0,We.useCallback)(()=>{M.current!==void 0&&clearTimeout(M.current),M.current=void 0},[]),k=(0,We.useCallback)(R=>{if(_(),!n){if(R<=0){m(!0);return}M.current=setTimeout(()=>m(!0),R)}},[_,n]),N=(0,We.useCallback)(R=>{_();let U=()=>{d.current.pointer||d.current.focus||m(!1)};if(R<=0){U();return}M.current=setTimeout(U,R)},[_]),O=mi({open:u,onDismiss:()=>{d.current={pointer:!1,focus:!1,pressed:!1},_(),m(!1)}});(0,We.useEffect)(()=>_,[_]),(0,We.useEffect)(()=>{n&&(_(),m(!1))},[n,_]);let j=(0,We.useCallback)(()=>{let R=b.current,U=x.current;if(!R||!U||!w)return;let be=w!==document.body,ze=be?w.getBoundingClientRect():kn(),ae=R.getBoundingClientRect(),lt=U.getBoundingClientRect(),I=getComputedStyle(R).direction==="rtl",At={x:(a==="center"?ae.x+ae.width/2-lt.width/2:I?ae.right-lt.width:ae.x)-(be?ze.x:0),y:ae.y-(be?ze.y:0),width:ae.width,height:ae.height},vt={x:at,y:at,width:ze.width-2*at,height:ze.height-2*at};if(fi(ae,ze,be)){m(!1);return}let Ze=hi(At,{width:lt.width,height:lt.height},vt,G5,t==="top"?"above":"below");g(q=>q&&q.left===Ze.left&&q.top===Ze.top&&q.side===Ze.side?q:Ze)},[a,w,t]);(0,We.useLayoutEffect)(()=>{if(!u)return;j();let R=()=>j();w?.addEventListener(Cn,R),window.addEventListener("resize",R),window.addEventListener("scroll",R,!0);let U=typeof ResizeObserver=="function"?new ResizeObserver(R):null;return x.current&&U?.observe(x.current),()=>{w?.removeEventListener(Cn,R),window.removeEventListener("resize",R),window.removeEventListener("scroll",R,!0),U?.disconnect()}},[u,w,j]),(0,We.useEffect)(()=>{u||g(null)},[u]);let z=o,X=c,$={...X};for(let R of Object.keys(X))/^on[A-Z]/.test(R)&&($[R]=k5(z.props[R],X[R]));X.style!==void 0&&($.style={...z.props.style,...X.style});let Se=H(z.props["aria-describedby"],X["aria-describedby"])||void 0,ve=z.props.ref,oe=ml(b,O.insideRef,ve,s),L=(R,U)=>($[R]??z.props[R])?.(U),Me=(0,We.cloneElement)(z,{...$,ref:oe,"aria-describedby":u?H(Se,v):Se,onPointerEnter:R=>{d.current.pointer=!0,d.current.pressed||k(l),L("onPointerEnter",R)},onPointerLeave:R=>{d.current.pointer=!1,d.current.pressed=!1,N(r),L("onPointerLeave",R)},onPointerDown:R=>{d.current.pressed=!0,d.current.focus=!1,_(),m(!1),L("onPointerDown",R)},onFocus:R=>{let U=!d.current.pressed&&mw(R.currentTarget);d.current.focus=U,U&&k(0),L("onFocus",R)},onBlur:R=>{d.current.focus=!1,d.current.pressed=!1,N(0),L("onBlur",R)}}),se=h?{left:h.left,top:h.top,zIndex:O.zIndex}:{visibility:"hidden",zIndex:O.zIndex},C=u?(0,vi.jsx)("div",{ref:R=>{x.current=R,O.panelRef(R)},id:v,role:"tooltip",className:H("crewlet-tooltip",`crewlet-tooltip--${h?.side??(t==="top"?"above":"below")}`,w!==null&&w!==document.body?"crewlet-tooltip--in-host":"crewlet-tooltip--fixed",i),style:se,onPointerEnter:()=>{d.current.pointer=!0,_()},onPointerLeave:()=>{d.current.pointer=!1,N(r)},children:e}):null;return(0,vi.jsxs)(vi.Fragment,{children:[Me,C&&w?(0,Ww.createPortal)(C,w):null]})}var Pw=K(Te(),1);function Bt({as:e="span",id:t,className:a,children:n}){return(0,Pw.jsx)(e,{id:t,className:H("crewlet-visually-hidden",a),children:n})}var La=K(ht(),1);var ct=K(Te(),1);function eb({variant:e="primary",size:t="medium",shape:a="square",block:n,flush:l,className:r},i){return H("crewlet-btn",`crewlet-btn--${e}`,`crewlet-btn--${t}`,`crewlet-btn--${a}`,n&&"crewlet-btn--block",l&&"crewlet-btn--flush",i,r)}function Np({leadingIcon:e,trailingIcon:t,loading:a,children:n}){return(0,ct.jsxs)(ct.Fragment,{children:[a?(0,ct.jsx)(Uw,{className:"crewlet-btn__spinner"}):e?(0,ct.jsx)("span",{className:"crewlet-btn__icon",children:e}):null,(0,ct.jsx)("span",{className:"crewlet-btn__label",children:n}),t?(0,ct.jsx)("span",{className:"crewlet-btn__icon",children:t}):null]})}var Ua=(0,La.forwardRef)(function({variant:t="primary",size:a="medium",shape:n="square",leadingIcon:l,trailingIcon:r,block:i,flush:o,className:s,type:c="button",asChild:f=!1,loading:v=!1,pressed:u,disabledReason:m,tooltip:b,disabled:x,onClick:M,title:d,children:h,...g},w){let _=(0,La.useId)(),k=typeof b=="string"?du(b,m):b?m:void 0,O=eb({variant:t,size:a,shape:n,block:i,flush:o,className:s},v?"crewlet-btn--loading":void 0);if(f){let X=La.Children.only(h);if(!(0,La.isValidElement)(X))throw new Error("Button with asChild expects exactly one valid React element child.");let $=X;return(0,La.cloneElement)($,{...g,title:d,className:H($.props.className,O)},(0,ct.jsx)(Np,{leadingIcon:l,trailingIcon:r,children:$.props.children}))}let j=v||m!==void 0,z=(0,ct.jsx)("button",{...g,ref:w,type:c,className:O,disabled:x,title:d,"aria-label":g["aria-label"]??(h===void 0?d:void 0),"aria-pressed":u,"aria-busy":v||void 0,"aria-disabled":j||void 0,"aria-describedby":m===void 0?g["aria-describedby"]:H(g["aria-describedby"],_),onClick:X=>{if(j){X.preventDefault();return}M?.(X)},children:(0,ct.jsx)(Np,{leadingIcon:l,trailingIcon:r,loading:v,children:h})});return(0,ct.jsxs)(ct.Fragment,{children:[k?(0,ct.jsx)(Da,{content:(0,ct.jsx)("span",{"aria-hidden":"true",children:k}),children:z}):z,m===void 0?null:(0,ct.jsx)(Bt,{id:_,children:m})]})}),US=(0,La.forwardRef)(function({variant:t="primary",size:a="medium",shape:n="square",leadingIcon:l,trailingIcon:r,block:i,flush:o,className:s,external:c=!1,title:f,children:v,...u},m){let b=r??(c?(0,ct.jsx)(wp,{size:"sm"}):void 0);return(0,ct.jsx)("a",{...u,ref:m,className:eb({variant:t,size:a,shape:n,block:i,flush:o,className:s}),title:f,"aria-label":u["aria-label"]??(v===void 0?f:void 0),target:c?"_blank":u.target,rel:c?"noreferrer":u.rel,children:(0,ct.jsx)(Np,{leadingIcon:l,trailingIcon:b,children:v})})});var Ba=K(ht(),1),un=K(Te(),1),wl=(0,Ba.forwardRef)(function({label:t,icon:a,size:n="md",variant:l="ghost",pressed:r,disabledReason:i,tooltip:o,className:s,type:c="button",asChild:f=!1,disabled:v,onClick:u,title:m,children:b,...x},M){let d=(0,Ba.useId)(),h=H("crewlet-icon-btn",`crewlet-icon-btn--${n}`,`crewlet-icon-btn--${l}`,s),g=a??b;if(f){let O=Ba.Children.only(b);if(!(0,Ba.isValidElement)(O))throw new Error("IconButton with asChild expects exactly one valid React element child.");let j=O;return(0,Ba.cloneElement)(j,{...x,"aria-label":t,title:m??t,className:H(j.props.className,h)})}let w=i!==void 0,_=typeof o=="string"?o:o?t:void 0,k=_===void 0?void 0:du(_,i),N=(0,un.jsx)("button",{...x,ref:M,type:c,className:h,disabled:v,title:m??(k===void 0?t:""),"aria-label":t,"aria-pressed":r,"aria-disabled":w||void 0,"aria-describedby":w?H(x["aria-describedby"],d):x["aria-describedby"],onClick:O=>{if(w){O.preventDefault();return}u?.(O)},children:g});return(0,un.jsxs)(un.Fragment,{children:[k===void 0?N:(0,un.jsx)(Da,{content:(0,un.jsx)("span",{"aria-hidden":"true",children:k}),children:N}),w?(0,un.jsx)(Bt,{id:d,children:i}):null]})}),QS=(0,Ba.forwardRef)(function({label:t,href:a,icon:n,size:l="md",variant:r="ghost",current:i=!1,className:o,title:s,...c},f){return(0,un.jsx)("a",{...c,ref:f,href:a,className:H("crewlet-icon-btn",`crewlet-icon-btn--${l}`,`crewlet-icon-btn--${r}`,i&&"crewlet-icon-btn--current",o),title:s??t,"aria-label":t,"aria-current":i?"page":void 0,children:n})});var qa=K(ht(),1),ab=K(cr(),1);var ge=K(Te(),1);function nb({open:e,...t}){let a=vl();return e&&a?(0,ge.jsx)(L5,{container:a,...t},D5(a)):null}var tb=new WeakMap,Op=0;function D5(e){let t=tb.get(e);return t!==void 0?t:(Op+=1,tb.set(e,Op),Op)}function St(e){return e!=null&&e!==!1&&e!==""}function L5({container:e,onClose:t,title:a,subtitle:n,icon:l,footer:r,footerStart:i,headerActions:o,onBack:s,backLabel:c="Back",children:f,size:v="sm",variant:u="dialog",side:m="end",shape:b="framed",placement:x,phoneSheet:M=!1,role:d="dialog",dismissable:h=!0,closeOnBackdrop:g=!0,backdrop:w="veil",showCloseButton:_=!0,stackBody:k=!1,flush:N=!1,fill:O=!1,className:j,ariaLabel:z,describedBy:X,initialFocus:$,onSubmit:Se,closeLabel:ve="Close",closeDisabledReason:oe="Closing is unavailable until this finishes.",...L}){let Me=(0,qa.useId)(),se=`${Me}-title`,C=`${Me}-subtitle`,R=b==="prompt"&&u==="dialog",U=!R,be=u==="sheet",ze=x??(R?"center":"top"),ae=M&&u==="dialog"&&!R,lt=(0,qa.useRef)(null),I=(0,qa.useRef)(null),Ce=(0,qa.useRef)(null),At=(0,qa.useRef)($);At.current=$;let vt=(0,qa.useCallback)(()=>{let wt=At.current?.();if(wt)return wt;let rt=I.current?er(I.current)[0]:void 0;return rt||((Ce.current?er(Ce.current)[0]:void 0)??lt.current)},[]),Ze=Fw({onClose:t,dismissable:h,initialFocus:vt}),q=ml(lt,Ze.panelRef);$w(!0);let ee=St(a)?se:void 0,Je=X??(St(n)?C:void 0),qt={...L,ref:q,className:H("crewlet-modal",`crewlet-modal--${u}`,u==="dialog"?`crewlet-modal--${v}`:void 0,be&&m==="start"?"crewlet-modal--start":void 0,R?"crewlet-modal--prompt":void 0,j),role:d,"aria-modal":!0,"aria-labelledby":ee,"aria-label":ee===void 0?z:void 0,"aria-describedby":Je,tabIndex:-1},dt=U&&_,Zt=(0,ge.jsxs)(ge.Fragment,{children:[U&&(St(a)||St(n)||St(o)||dt||s)?(0,ge.jsxs)("div",{className:H("crewlet-modal__header",be?"crewlet-modal__header--sheet":St(n)?"crewlet-modal__header--subtitled":void 0),children:[s?(0,ge.jsx)(wl,{className:"crewlet-modal__back",label:c,icon:(0,ge.jsx)(pp,{size:"md"}),onClick:s}):null,St(l)?(0,ge.jsx)("span",{className:"crewlet-modal__icon","aria-hidden":"true",children:l}):null,(0,ge.jsxs)("div",{className:"crewlet-modal__heading",children:[St(a)?(0,ge.jsx)("h1",{className:H("crewlet-modal__title",be?"crewlet-modal__title--sheet":void 0),id:se,children:a}):null,St(n)?(0,ge.jsx)("p",{className:"crewlet-modal__subtitle",id:C,children:n}):null]}),St(o)?(0,ge.jsx)("div",{className:"crewlet-modal__actions",children:o}):null,dt?(0,ge.jsx)(wl,{className:"crewlet-modal__close",label:ve,icon:(0,ge.jsx)(Bo,{size:"md"}),onClick:t,disabledReason:h?void 0:oe}):null]}):null,St(f)||R&&St(a)?(0,ge.jsxs)("div",{ref:I,className:H("crewlet-modal__body",k?"crewlet-modal__body--stacked":void 0,N?"crewlet-modal__body--flush":void 0,O?"crewlet-modal__body--fill":void 0,be?"crewlet-modal__body--sheet":void 0),children:[R&&St(a)?(0,ge.jsx)("p",{className:"crewlet-modal__prompt-title",id:se,children:a}):null,(0,ge.jsx)(xw,{level:2,children:f})]}):null,St(r)||St(i)?(0,ge.jsxs)("div",{ref:Ce,className:H("crewlet-modal__footer",be?"crewlet-modal__footer--sheet":void 0),children:[St(i)?(0,ge.jsx)("div",{className:"crewlet-modal__footer-start",children:i}):null,(0,ge.jsx)("div",{className:"crewlet-modal__footer-end",children:r})]}):null]});return(0,ab.createPortal)((0,ge.jsx)("div",{ref:g?Ze.veilRef:void 0,className:H("crewlet-modal-overlay",`crewlet-modal-overlay--${u}`,`crewlet-modal-overlay--${ze}`,be&&m==="start"&&"crewlet-modal-overlay--start",ae&&"crewlet-modal-overlay--phone-sheet",w==="clear"&&"crewlet-modal-overlay--clear",e===document.body?"crewlet-modal-overlay--fixed":"crewlet-modal-overlay--in-host"),role:"presentation",style:{zIndex:Ze.zIndex},children:(0,ge.jsx)("div",{...qt,children:Se?(0,ge.jsx)("form",{className:"crewlet-modal__form",onSubmit:wt=>{wt.preventDefault(),Se()},children:Zt}):Zt})}),e)}function zp({open:e,onClose:t,onConfirm:a,title:n,message:l,children:r,confirmLabel:i="Confirm",cancelLabel:o="Cancel",destructive:s=!1,confirmVariant:c,cancelVariant:f="ghost",confirmDisabled:v=!1,confirmDisabledReason:u="Complete the confirmation above to continue.",submitting:m=!1,busyReason:b="Waiting for this to finish.",shape:x="prompt",size:M="sm"}){let d=`${(0,qa.useId)()}-message`,h=c??(s?"danger":"primary"),g=v||m,w=(0,qa.useCallback)(()=>{g||(async()=>{try{await a()}catch{}})()},[g,a]);return(0,ge.jsxs)(nb,{open:e,onClose:t,title:n,shape:x,size:M,role:s?"alertdialog":"dialog",describedBy:St(l)?d:void 0,dismissable:!m,closeDisabledReason:b,onSubmit:w,stackBody:!0,footer:(0,ge.jsxs)(ge.Fragment,{children:[(0,ge.jsx)(Ua,{variant:f,onClick:t,disabledReason:m?b:void 0,children:o}),(0,ge.jsx)(Ua,{type:"submit",variant:h,loading:m,disabledReason:v?u:void 0,children:i})]}),children:[St(l)?(0,ge.jsx)("p",{className:"crewlet-modal__message",id:d,children:l}):null,r]})}var U5=K(Te(),1);function bl(e){return`crewlet-presence-hue--${e}`}var mu=K(ht(),1);var hu=K(Te(),1),Gp={paths:["M543.42 868.92 l-34.44 -0.24 0 -58.77 0 -58.77 -28.92 0 -28.80 0 -40.20 -39.61 c-119.78 -118.25 -181.49 -179.97 -204.30 -204.30 -15.87 -16.93 -82.75 -96.74 -92.51 -110.38 l-3.76 -5.17 26.80 -18.46 c14.69 -10.11 34.09 -23.51 43.14 -29.86 55.25 -38.32 70.29 -48.43 71.12 -47.49 0.47 0.47 11.64 13.87 24.69 29.74 13.17 15.87 27.98 33.62 32.80 39.50 4.94 5.88 21.63 26.10 37.15 44.90 15.52 18.81 28.56 34.21 29.15 34.21 0.47 0.12 0.82 -30.44 0.82 -67.83 l0 -68.06 37.26 -34.56 c43.38 -40.20 61.83 -57.13 75.11 -69 l9.52 -8.46 261.78 0 261.90 0 47.14 45.73 c25.98 25.16 52.43 51.02 58.66 57.36 l11.52 11.52 0.24 67.94 0.35 67.83 31.74 -40.79 c17.51 -22.33 34.91 -45.02 38.91 -50.19 15.16 -20.34 44.32 -57.72 45.14 -58.07 0.71 -0.24 104.97 75.82 126.83 92.51 2.23 1.65 4.58 3.41 5.17 3.76 1.65 1.18 -7.99 14.22 -46.08 62.07 -35.38 44.32 -49.84 61.13 -92.39 106.97 -19.28 20.81 -38.91 41.73 -148.70 157.40 l-34.68 36.56 -26.45 0.12 c-19.04 0 -26.92 0.35 -27.98 1.41 -1.06 1.06 -1.41 15.05 -1.41 55.72 l0 54.31 -34.91 0.47 c-19.28 0.24 -53.72 0.24 -76.41 0 l-41.49 -0.47 0 -55.72 0 -55.72 -99.33 0 -99.33 0 -0.24 56.19 -0.35 56.07 -39.97 0 c-21.98 0 -55.48 -0.12 -74.29 -0.35z m94.74 -13.87 l7.17 -0.82 0 -54.89 c0 -49.02 0.24 -55.13 1.88 -55.72 1.06 -0.35 51.84 -0.71 112.85 -0.71 l110.97 0 0 55.84 0 55.84 62.89 0 62.89 0 0 -55.84 0 -55.84 31.50 0 31.50 0 14.69 -14.93 c30.80 -31.50 113.20 -118.49 144.47 -152.58 48.66 -53.01 81.34 -90.28 104.85 -119.43 22.80 -28.45 44.43 -56.42 44.43 -57.48 0 -0.59 -2 -2.47 -4.35 -4.23 -2.47 -1.76 -7.05 -5.17 -10.34 -7.64 -3.17 -2.35 -16.93 -12.34 -30.56 -22.22 -13.52 -9.87 -33.50 -24.57 -44.43 -32.68 -16.34 -12.11 -19.98 -14.34 -21.39 -13.17 -0.94 0.82 -5.88 6.82 -10.81 13.40 -4.94 6.47 -13.99 18.46 -20.10 26.57 -6.23 8.11 -26.57 34.44 -45.37 58.54 -18.81 24.10 -36.56 47.02 -39.50 50.78 -5.29 7.05 -5.29 7.05 -11.40 7.05 l-6.23 0 0 -79.58 0 -79.58 -37.85 -37.03 c-20.92 -20.45 -45.14 -44.08 -53.95 -52.66 l-15.99 -15.63 -256.84 0 -256.73 0 -47.49 44.20 c-26.21 24.33 -51.13 47.49 -55.60 51.37 l-7.88 7.05 0 79.11 0 79.23 -6.35 0 -6.35 0 -48.66 -58.54 c-26.80 -32.09 -55.95 -67.24 -64.89 -78.17 -8.93 -10.81 -16.69 -19.63 -17.16 -19.63 -0.94 0 -8.58 5.17 -34.32 22.92 -34.21 23.74 -46.08 31.86 -62.65 43.26 -10.34 7.05 -19.28 13.28 -19.87 13.87 -0.59 0.47 2.35 5.05 6.47 10.11 13.87 16.93 53.13 63.12 66.77 78.40 21.86 24.57 83.81 87.69 145.41 148.23 31.62 31.03 68.65 67.36 82.28 80.76 l24.69 24.45 33.50 0.24 33.38 0.35 0.35 59.13 0.24 59.01 53.37 0 c29.27 0 56.54 -0.35 60.54 -0.71z","M535.78 783.81 l-0.35 -59.13 -36.67 0 -36.67 0 -6.82 -6.47 c-48.78 -46.43 -176.91 -173.03 -210.41 -207.82 -24.69 -25.74 -75.70 -81.70 -93.69 -102.85 -3.29 -3.88 -5.29 -7.17 -4.70 -7.76 1.29 -1.06 58.30 -40.32 82.05 -56.42 l16.34 -11.05 3.64 4.47 c11.05 13.87 76.99 92.51 98.98 118.14 l25.74 29.97 15.63 0.35 15.52 0.35 0 -82.87 0 -82.75 50.55 -46.67 c27.86 -25.74 50.55 -47.14 50.55 -47.72 0 -0.59 46.78 -1.06 111.55 -1.06 l111.55 0 15.52 14.81 c15.28 14.58 15.52 14.69 17.98 12.58 1.29 -1.18 8.46 -7.76 15.75 -14.58 l13.40 -12.46 17.75 -0.71 c9.76 -0.47 58.77 -0.82 108.85 -0.82 l90.98 0 14.34 13.75 c7.76 7.64 24.57 23.86 37.15 36.20 12.58 12.34 29.15 28.45 36.67 35.85 l13.87 13.40 0.24 82.87 0.35 82.99 14.22 0.35 14.34 0.35 4.47 -5.64 c2.47 -3.06 11.52 -14.11 19.98 -24.45 8.46 -10.34 30.56 -38.32 49.14 -62.30 43.85 -56.42 46.20 -59.36 48.43 -59.36 2.12 0 4.82 1.88 47.96 33.27 43.02 31.27 45.37 33.03 45.37 34.09 0 0.82 -39.03 46.20 -62.42 72.53 -62.42 70.29 -106.50 117.67 -184.08 197.60 l-50.78 52.43 -13.28 0.71 c-7.29 0.47 -23.98 0.82 -37.03 0.82 l-23.86 0 0 57.01 0 57.01 -49.37 0 -49.37 0 0 -56.42 0 -56.42 -114.37 0 c-63.01 0 -120.13 0.35 -126.95 0.82 l-12.58 0.71 0 55.72 0 55.60 -47.61 0 -47.61 0 -0.24 -59.01z m443.16 -373.22 l-0.35 -119.66 -223.93 0.12 -223.93 0.12 -0.35 119.43 -0.24 119.55 224.52 0 224.52 0 -0.24 -119.55z","M546.36 516.39 c-0.24 -0.59 -0.47 -4.94 -0.35 -9.76 0 -4.82 0.12 -52.54 0.35 -106.15 l0.24 -97.21 209.59 0.24 209.47 0.35 0.35 106.73 0.24 106.62 -209.71 0 c-115.43 0 -209.94 -0.35 -210.18 -0.82z m121.07 -100.50 l-0.35 -66.18 -34.32 -0.35 -34.44 -0.24 0 66.41 0 66.41 34.68 0 34.68 0 -0.24 -66.06z m260.96 0 l-0.35 -66.18 -34.09 0 -34.09 0 0 10.93 c0 5.88 0.12 35.62 0.35 66.06 l0.24 55.25 34.09 0 34.09 0 -0.24 -66.06z"],box:{left:110.48999999999992,top:196.30999999999992,right:1389.0800000000002,bottom:869.2899999999998},centroid:{x:755.6746766446299,y:497.3295661269271}},pu=e=>e.reduce((t,a,n)=>{let l=e[(n+1)%e.length];return t+a[0]*l[1]-l[0]*a[1]},0);function lb(e,t,a){for(let n of e)n.forEach((l,r)=>{let i=n[(r+1)%n.length];l[1]!==i[1]&&a.push(l[1]<i[1]?{x0:l[0],y0:l[1],x1:i[0],y1:i[1],wind:1,add:t}:{x0:i[0],y0:i[1],x1:l[0],y1:l[1],wind:-1,add:t})})}var wi=(e,t)=>t===e.y0?e.x0:t===e.y1?e.x1:e.x0+(t-e.y0)*(e.x1-e.x0)/(e.y1-e.y0);function B5(e){let t=new Set;for(let a of e)t.add(a.y0),t.add(a.y1);for(let a=0;a<e.length;a+=1){let n=e[a];for(let l=a+1;l<e.length&&e[l].y0<n.y1;l+=1){let r=e[l],i=Math.max(n.y0,r.y0),o=Math.min(n.y1,r.y1);if(o<=i)continue;let s=wi(n,i)-wi(r,i),c=wi(n,o)-wi(r,o);s*c<0&&t.add(i+(o-i)*s/(s-c))}}return[...t].sort((a,n)=>a-n)}var q5=1e-9;function V5(){let e=new Map;return(t,a)=>{let n=e.get(t);n||e.set(t,n=[]);for(let l of n)if(Math.abs(l-a)<=q5)return l;return n.push(a),a}}function Y5(e,t,a,n){let l=e.map(f=>({e:f,a:n(t,wi(f,t)),b:n(a,wi(f,a))})).sort((f,v)=>f.a+f.b-(v.a+v.b)),r=[],i=0,o=0,s=!1,c=[0,0];for(let f=0;f<l.length;){let{a:v,b:u}=l[f];for(;f<l.length&&l[f].a===v&&l[f].b===u;f+=1){let{e:b}=l[f];b.add?i+=b.wind:o+=b.wind}let m=i!==0&&o===0;m&&!s?c=[v,u]:!m&&s&&r.push({left:c,right:[v,u]}),s=m}return r}function rb(e,t){let a=[],n=0;for(let[l,r]of e){let i=l;for(;n<t.length&&t[n][1]<=i;)n+=1;for(let o=n;o<t.length&&t[o][0]<r&&i<r;o+=1){let[s,c]=t[o];s>i&&a.push([i,s]),i=Math.max(i,c)}i<r&&a.push([i,r])}return a}function I5(e,t){let a=[];return t.forEach((n,l)=>{let r=e[l],i=e[l+1];for(let{left:o,right:s}of n)a.push([[s[0],r],[s[1],i]]),a.push([[o[1],i],[o[0],r]])}),e.forEach((n,l)=>{let r=l>0?t[l-1].map(({left:o,right:s})=>[o[1],s[1]]):[],i=l<t.length?t[l].map(({left:o,right:s})=>[o[0],s[0]]):[];for(let[o,s]of rb(i,r))a.push([[o,n],[s,n]]);for(let[o,s]of rb(r,i))a.push([[s,n],[o,n]])}),a.filter(([n,l])=>n[0]!==l[0]||n[1]!==l[1])}var Dp=1e-9;function j5(e){let t=[...e],a=!0;for(;a&&t.length>=3;){a=!1;let n=[];for(let l=0;l<t.length;l+=1){let r=n.length>0?n[n.length-1]:t[t.length-1],i=t[l],o=t[(l+1)%t.length],s=i[0]-r[0],c=i[1]-r[1],f=o[0]-i[0],v=o[1]-i[1],u=Math.hypot(s,c)<Dp,m=Math.abs(s*v-c*f)<Dp;if(u||m){a=!0;continue}n.push(i)}t=n}return t}function K5(e){let t=r=>`${r[0]} ${r[1]}`,a=new Map;e.forEach(([r],i)=>{let o=a.get(t(r));o?o.push(i):a.set(t(r),[i])});let n=new Uint8Array(e.length),l=[];return e.forEach((r,i)=>{if(n[i])return;let o=[],s=i;for(;s!==void 0;){n[s]=1;let[c,f]=e[s];if(o.push(c),f[0]===r[0][0]&&f[1]===r[0][1])break;s=a.get(t(f))?.find(v=>!n[v])}l.push(o)}),l.map(j5).filter(r=>r.length>=3&&Math.abs(pu(r))>Dp)}function Lp(e,t=[]){let a=[];lb(e,!0,a),lb(t,!1,a),a.sort((s,c)=>s.y0-c.y0);let n=B5(a),l=V5(),r=[],i=0,o=[];for(let s=0;s+1<n.length;s+=1){let c=n[s],f=n[s+1];for(;i<a.length&&a[i].y0<=c;)o.push(a[i++]);o=o.filter(v=>v.y1>c),r.push(Y5(o,c,f,l))}return K5(I5(n,r))}var X5=e=>e.reduce((t,a)=>t+pu(a),0)/2;function Q5(e){let t=0,a=0;for(let l of e)l.forEach((r,i)=>{let o=l[(i+1)%l.length],s=r[0]*o[1]-o[0]*r[1];t+=(r[0]+o[0])*s,a+=(r[1]+o[1])*s});let n=6*X5(e);return[t/n,a/n]}var Cp=e=>pu(e)<0?e.reverse():e;function fb(e,t,a=4){let n=[];for(let l of e)l.forEach((r,i)=>{let o=l[(i+1)%l.length],s=l[(i+2)%l.length],c=Math.hypot(o[0]-r[0],o[1]-r[1]),f=(o[1]-r[1])/c,v=-(o[0]-r[0])/c,u=Math.hypot(s[0]-o[0],s[1]-o[1]),m=(s[1]-o[1])/u,b=-(s[0]-o[0])/u,x=t;n.push(Cp([[r[0]+f*x,r[1]+v*x],[o[0]+f*x,o[1]+v*x],[o[0]-f*x,o[1]-v*x],[r[0]-f*x,r[1]-v*x]]));let M=(o[0]-r[0])*(s[1]-o[1])-(o[1]-r[1])*(s[0]-o[0]);if(M===0)return;let d=M>0?1:-1,h=[o[0]+d*f*x,o[1]+d*v*x],g=[o[0]+d*m*x,o[1]+d*b*x],w=f+m,_=v+b,k=w*w+_*_;if(k>0&&2/Math.sqrt(k)<=a){let N=[o[0]+d*w*2*x/k,o[1]+d*_*2*x/k];n.push(Cp([o,h,N,g]))}else n.push(Cp([o,h,g]))});return n}var ib=e=>Math.round(e*100)/100;function ob(e){return e.map(t=>`M${t.map(([n,l])=>`${ib(n)} ${ib(l)}`).filter((n,l,r)=>n!==r[l-1]).join("L")}Z`).join("")}var pb=["crewlet","hexlet","peaklet","prismlet","towerlet","bricklet","gemlet","coglet","pluslet","shieldlet","stacklet","sparklet","cloudlet","foxlet","rocketlet","crownlet","cactlet","wisplet","heartlet","flasklet","chiplet","duolet","chatlet","pagelet","archlet","dashlet","octlet","conelet","hivelet","folderlet"],Yo=e=>typeof e=="string"&&pb.includes(e),fu=96,Z5=1.35,gb=.9,Vo=1.3,J5=2,kp={full:{width:.164,height:.62},compact:{width:.19,height:.68},offset:.312},Rp={half:3.2,depth:2.6},sb=e=>Math.round(e*100)/100;function cb(e,t){let a=[];return e.forEach((n,l)=>{let r=typeof t=="number"?t:t[l]??0;if(!r){a.push(n);return}let i=o=>{let s=o[0]-n[0],c=o[1]-n[1],f=Math.min(r/Math.hypot(s,c),.45);return[n[0]+s*f,n[1]+c*f]};a.push(i(e[(l-1+e.length)%e.length]),i(e[(l+1)%e.length]))}),a}var ub=e=>`M${e.map(([t,a])=>`${sb(t)} ${sb(a)}`).join("L")}Z`;function je(e,t=0){let a=typeof t=="number"?e.map(()=>t):t;return pu(e)<0?cb([...e].reverse(),[...a].reverse()):cb(e,a)}var me=(e,t,a,n,l=0)=>je([[e,t],[e+a,t],[e+a,t+n],[e,t+n]],l),Ie=(e,t,a,n=10)=>[me(e,a,n,fu-a),me(t,a,n,fu-a)];function F5(e,t,a,n,l){let r=[];for(let i=0;i<l;i+=1){let o=(i*360/l-90)*(Math.PI/180);for(let[s,c]of[[n,-15],[a,-8.5],[a,8.5],[n,15]]){let f=o+c*(Math.PI/180);r.push([e+s*Math.cos(f),t+s*Math.sin(f)])}}return je(r)}function $5(e){let t=e.flat(),a=t.map(([i])=>i),n=t.map(([,i])=>i),l=Math.min(...a),r=Math.min(...n);return{x:l,y:r,width:Math.max(...a)-l,height:Math.max(...n)-r}}var W5=([e,t,a,n])=>({x:e,y:t,width:a,height:n}),mb=new WeakMap;function Ee(e){let t=e.holes??[],a,n={kind:"drawn",name:e.name,shape:e.shape,shapes:e.shapes.map(ub),holes:t.map(ub),visor:W5(e.visor),notch:e.notch===void 0?null:[e.notchX??50,e.notch],get bounds(){return a??(a=$5([...qp(n),...vb(n)]))}};return mb.set(n,{parts:e.shapes,holes:t}),n}var gu=e=>mb.get(e);function qp(e){let t=gu(e);return t.silhouette??(t.silhouette=Lp(t.parts))}function vb(e){let t=gu(e);return t.reach??(t.reach=fb(qp(e),gb+Z5))}var Up=.095,wb=760,bb=869,Bp=(e,t)=>[50+(e-wb)*Up,fu+(t-bb)*Up],P5=Bp(Gp.centroid.x,Gp.centroid.y);function e_(){let{paths:e,box:t}=Gp,[a,n]=Bp(t.left,t.top),[l,r]=Bp(t.right,t.bottom);return{kind:"mark",name:"Crewlet",shape:"The original mark, arms raised",transform:`translate(50 ${fu}) scale(${Up}) translate(${-wb} ${-bb})`,keyline:e[0],body:[e[1],e[2]],bounds:{x:a,y:n,width:l-a,height:r-n}}}var Vp={crewlet:e_(),hexlet:Ee({name:"Hexlet",shape:"Hexagon with pointed flanks",shapes:[je([[30,22],[70,22],[86,54],[70,86],[30,86],[14,54]],[5,5,4,4,4,4]),...Ie(34,56,84)],visor:[28,38,44,20],notch:22}),peaklet:Ee({name:"Peaklet",shape:"Pentagon with a peaked roof",shapes:[je([[50,12],[82,36],[82,86],[18,86],[18,36]],[6,5,4,4,5]),...Ie(28,62,84)],visor:[26,44,48,20]}),prismlet:Ee({name:"Prismlet",shape:"Triangle with cut tips",shapes:[je([[50,10],[90,86],[10,86]],[9,8,8]),...Ie(28,62,84)],visor:[31,54,38,18]}),towerlet:Ee({name:"Towerlet",shape:"Tall pillar, narrow stance",shapes:[me(32,12,36,74,[8,8,4,4]),...Ie(35,55,84)],visor:[36,24,28,16],notch:12}),bricklet:Ee({name:"Bricklet",shape:"Wide, low slab",shapes:[me(10,42,80,44,[9,9,6,6]),...Ie(22,68,84)],visor:[21,50,58,19],notch:42}),gemlet:Ee({name:"Gemlet",shape:"Diamond on its point",shapes:[je([[50,6],[90,48],[50,90],[10,48]],[7,7,16,7]),...Ie(40,52,76,8)],visor:[27,38,46,20]}),coglet:Ee({name:"Coglet",shape:"Eight-tooth gear",shapes:[F5(50,52,37,31,8),...Ie(36,54,78)],visor:[30,40,40,18]}),pluslet:Ee({name:"Pluslet",shape:"Cross with squared arms",shapes:[me(34,14,32,72,[7,7,0,0]),me(10,34,80,30,7),...Ie(37,53,84)],visor:[20,40,60,18],notch:14}),shieldlet:Ee({name:"Shieldlet",shape:"Flat crown, pointed base",shapes:[je([[16,16],[84,16],[84,54],[50,92],[16,54]],[9,9,5,14,5]),...Ie(41,51,79,8)],visor:[26,28,48,20],notch:16}),stacklet:Ee({name:"Stacklet",shape:"Stepped crown, square base",shapes:[je([[34,12],[66,12],[66,26],[82,26],[82,86],[18,86],[18,26],[34,26]],[4,4,0,5,4,4,5,0]),...Ie(28,62,84)],visor:[26,40,48,20],notch:12}),sparklet:Ee({name:"Sparklet",shape:"Faceted drop",shapes:[je([[50,8],[80,48],[78,74],[64,86],[36,86],[22,74],[20,48]],[6,4,2,2,2,2,4]),...Ie(36,54,84)],visor:[30,48,40,18]}),cloudlet:Ee({name:"Cloudlet",shape:"Three-lobed cloud",shapes:[me(14,44,72,42,[0,0,8,8]),me(16,30,32,32,9),me(33,18,34,34,10),me(56,32,30,30,9),...Ie(30,60,84)],visor:[24,48,52,18],notch:18}),foxlet:Ee({name:"Foxlet",shape:"Square body, pointed ears",shapes:[me(18,34,64,52,6),je([[20,36],[26,12],[44,36]],[0,4,0]),je([[56,36],[74,12],[80,36]],[0,4,0]),...Ie(28,62,84)],visor:[26,46,48,20]}),rocketlet:Ee({name:"Rocketlet",shape:"Nose cone and swept fins",shapes:[je([[50,6],[66,26],[66,80],[34,80],[34,26]],[5,3,3,3,3]),je([[34,54],[34,80],[18,90],[18,70]],[0,0,3,3]),je([[66,54],[82,70],[82,90],[66,80]],[0,3,3,0]),...Ie(37,55,80,8)],visor:[37,32,26,16]}),crownlet:Ee({name:"Crownlet",shape:"Three-point crown",shapes:[me(18,40,64,46,[0,0,6,6]),je([[18,44],[18,18],[34,32],[50,12],[66,32],[82,18],[82,44]],[0,3,0,3,0,3,0]),...Ie(28,62,84)],visor:[27,48,46,20]}),cactlet:Ee({name:"Cactlet",shape:"Trunk with two raised arms",shapes:[me(32,12,36,74,[10,10,0,0]),me(16,50,18,9,[0,0,0,3]),me(16,28,9,31,[4.5,4.5,0,3]),me(66,58,18,9,[0,0,3,0]),me(75,38,9,29,[4.5,4.5,3,0]),...Ie(36,54,84)],visor:[37,26,26,16],notch:12}),wisplet:Ee({name:"Wisplet",shape:"Tall ghost with a zigzag hem",shapes:[je([[16,10],[84,10],[84,92],[72.5,82],[61,92],[50,82],[39,92],[27.5,82],[16,92]],[14,14,2,0,2,0,2,0,2])],visor:[26,28,48,20],notch:10}),heartlet:Ee({name:"Heartlet",shape:"Faceted heart",shapes:[je([[50,26],[62,14],[78,14],[90,26],[90,44],[50,84],[10,44],[10,26],[22,14],[38,14]],[0,3,3,3,4,6,4,3,3,3]),...Ie(41,51,74,8)],visor:[23,30,54,18]}),flasklet:Ee({name:"Flasklet",shape:"Lab flask with a narrow neck",shapes:[me(35,6,30,7,2),me(40,10,20,22),je([[40,28],[60,28],[86,80],[86,86],[14,86],[14,80]],[0,0,6,3,3,6]),...Ie(26,64,84)],visor:[33,54,34,14],notch:6}),chiplet:Ee({name:"Chiplet",shape:"Square chip with pins",shapes:[me(24,20,52,60,6),...[31,47,63].map(e=>me(e,11,6,10)),...[32,47,62].map(e=>me(15,e,10,6)),...[32,47,62].map(e=>me(75,e,10,6)),...[31,47,63].map(e=>me(e,78,6,18))],holes:[me(29,70,5,5)],visor:[31,34,38,18]}),duolet:Ee({name:"Duolet",shape:"Small head on a wide body",shapes:[me(30,10,40,34,8),me(18,40,64,46,6),...Ie(28,62,84)],visor:[36,19,28,15],notch:10}),chatlet:Ee({name:"Chatlet",shape:"Speech bubble with a tail",shapes:[me(14,22,72,54,8),je([[26,72],[46,72],[22,94]],[0,0,2])],visor:[24,34,52,22],notch:22}),pagelet:Ee({name:"Pagelet",shape:"Page with a folded corner",shapes:[je([[20,10],[64,10],[80,26],[80,86],[20,86]],[4,0,0,4,4]),...Ie(28,62,84)],holes:[me(63.3,10,1.4,17.4),me(63.3,25.3,17,1.4)],visor:[27,36,46,20],notch:10}),archlet:Ee({name:"Archlet",shape:"Gate with built-in legs",shapes:[je([[16,18],[84,18],[84,96],[64,96],[64,74],[36,74],[36,96],[16,96]],[8,8,0,0,4,4,0,0])],visor:[25,30,50,22],notch:18}),dashlet:Ee({name:"Dashlet",shape:"Body leaning forward",shapes:[je([[29,14],[87,14],[71,86],[13,86]],6),...Ie(20,48,84)],visor:[31.5,28,42,20],notch:14,notchX:58}),octlet:Ee({name:"Octlet",shape:"Regular octagon",shapes:[me(16,16,68,68,20),...Ie(35,55,81)],visor:[26,36,48,22],notch:16}),conelet:Ee({name:"Conelet",shape:"Narrow crown, wide base",shapes:[je([[30,12],[70,12],[88,84],[12,84]],[6,6,5,5]),...Ie(26,64,82)],visor:[28,40,44,20],notch:12}),hivelet:Ee({name:"Hivelet",shape:"Upright honeycomb cell",shapes:[je([[50,6],[84,24],[84,72],[50,90],[16,72],[16,24]],[6,4,4,6,4,4]),...Ie(40,52,80,8)],visor:[25,36,50,20]}),folderlet:Ee({name:"Folderlet",shape:"Folder with a tab",shapes:[je([[12,14],[38,14],[50,26],[88,26],[88,84],[12,84]],[4,0,0,6,5,5]),...Ie(26,64,82)],visor:[24,40,52,22]})},db=.5,Hp=(e,t,a,n)=>[[e,t],[e+a,t],[e+a,t+n],[e,t+n]];function t_(e){let t=1/0;return e.forEach((a,n)=>{let l=e[(n+1)%e.length],r=Math.hypot(l[0]-a[0],l[1]-a[1]);if(r===0)return;let i=Math.max(...e.map(o=>Math.abs((l[0]-a[0])*(o[1]-a[1])-(l[1]-a[1])*(o[0]-a[0]))/r));t=Math.min(t,i)}),t}function a_(e,t){let{visor:a,notch:n}=e,l=t==="full",r=l?kp.full:kp.compact,i=a.width*r.width,o=a.height*r.height,s=a.y+(a.height-o)/2,c=a.x+a.width/2,f=a.width*kp.offset,v=[c-f,c+f].map(u=>Hp(u-i/2,s,i,o));n&&v.push([[n[0]-Rp.half,n[1]-1],[n[0]+Rp.half,n[1]-1],[n[0],n[1]+Rp.depth]]);for(let u of gu(e).holes)(l||t_(u)>J5)&&v.push(u);if(l){let u=Vo/2;v.push(Hp(a.x-u,a.y-u,a.width+Vo,a.height+Vo)),v.push([...Hp(a.x+u,a.y+u,a.width-Vo,a.height-Vo)].reverse())}return v}function yb(e,t){let a=e.x+e.width/2,n=e.y+e.height/2,l=a+db*(t[0]-a),r=n+db*(t[1]-n),i=Math.max(e.width+2*Math.abs(l-a),e.height+2*Math.abs(r-n));return{x:l-i/2,y:r-i/2,width:i,height:i}}function n_(e){let{parts:t}=gu(e),a=qp(e),n={},l=i=>ob(Lp(t,a_(e,i))),r=()=>ob(Lp([...a,...vb(e)],[...a,...fb(a,gb)]));return{frame:yb(e.bounds,Q5(a)),paths:i=>n[i]??(n[i]=i==="full"?[r(),l("full")]:[l("compact")])}}var hb=new Map;function l_(e){let t=hb.get(e);if(t)return t;let a=Vp[e];if(a.kind==="mark"){let n=[a.keyline,...a.body];t={frame:yb(a.bounds,P5),paths:l=>l==="full"?n:a.body}}else t=n_(a);return hb.set(e,t),t}var r_=e=>Math.round(e*100)/100,i_=({character:e,detail:t="full",...a})=>{let n=Vp[e],{frame:l,paths:r}=l_(e),i=r(t).map(o=>(0,hu.jsx)("path",{d:o},o));return(0,hu.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:[l.x,l.y,l.width,l.height].map(r_).join(" "),width:"1em",height:"1em","aria-hidden":"true",focusable:"false","data-character":e,"data-detail":t,...a,children:(0,hu.jsx)("g",{fill:"currentColor",transform:n.kind==="mark"?n.transform:void 0,children:i})})},Yp=i_;var Mt=K(Te(),1);var o_={working:"working",needs:"needs you",stopped:"stopped"},vu={xs:20,sm:26,md:32,lg:40},s_=16,c_=2/9,xb=e=>Number.parseFloat(e),_b={min:xb(Sp.xs),max:xb(Sp.lg)},u_=/^agent(?:[\s._-]+)(?=\S)/i;function Tb(e,t){if(e===void 0||t!=="agent")return e;let a=e.replace(u_,"");return a.trim()?a:e}var d_=56,Eb=e=>{if(!e)return"?";let t=e.trim().split(/[\s\-_.:]+/).map(r=>r.replace(/^\p{P}+|\p{P}+$/gu,"")).filter(Boolean);if(t.length===0)return"?";let a=r=>(Array.from(r)[0]??"").toUpperCase();if(t.length>=2)return t.slice(0,2).map(a).join("")||"?";let n=t[0],l=n.split(/(?<=\p{Ll})(?=\p{Lu})/u);return l.length>=2?l.slice(0,2).map(a).join(""):Array.from(n).slice(0,2).map(r=>r.toUpperCase()).join("")||"?"},h_=10,f_=e=>{let t=0;for(let a=0;a<e.length;a+=1)t=t*31+e.charCodeAt(a)>>>0;return t%h_};function p_(e){return e==="text"?s_:typeof e=="number"?e:vu[e]}function Sb(e){return Math.min(_b.max,Math.max(_b.min,e*c_))}var Io=({src:e,name:t,size:a="md",kind:n="agent",tone:l="neutral",ring:r,status:i,mark:o,markLabel:s,decorative:c=!1,colorSeed:f,character:v,hue:u,icon:m,className:b,style:x,...M})=>{let[d,h]=(0,mu.useState)(!1);(0,mu.useEffect)(()=>{h(!1)},[e]);let g=a==="text",w=typeof a=="number"||g?null:a,_=p_(a),k=w===null&&!g?{"--crewlet-avatar-size":`${_}px`,fontSize:Math.max(9,Math.round(_*.36))}:{},N=l==="seeded"?f_(f??t??""):null,O=i===void 0&&o!==void 0&&o!==null,j=i!==void 0||O,z=i!==void 0?o_[i]:O?s:void 0,X=t?`${t} avatar`:"Avatar",$=z?`${X}, ${z}`:X,Se=H("crewlet-avatar",`crewlet-avatar--${n}`,w===null?null:`crewlet-avatar--${w}`,g?"crewlet-avatar--text":null,j?"crewlet-avatar--notched":null,r===void 0||j?null:`crewlet-avatar--ring-${r}`,j?null:b),ve=j?k:{...k,...x};function oe(){return v!==void 0&&n==="agent"?(0,Mt.jsx)("span",{...M,className:H(Se,"crewlet-avatar--character",u===void 0?"crewlet-avatar--neutral":`crewlet-avatar--hue-${u}`),style:ve,role:c?void 0:"img","aria-hidden":c?!0:void 0,"aria-label":c?void 0:$,children:(0,Mt.jsx)(Yp,{className:"crewlet-avatar__character",character:v,detail:_>=d_?"full":"compact"})}):e&&!d?(0,Mt.jsx)("img",{...M,className:H(Se,"crewlet-avatar--image"),style:ve,src:e,alt:c?"":z?`${t??""}, ${z}`:t??"","aria-hidden":c?!0:void 0,onError:()=>h(!0)}):(0,Mt.jsx)("span",{...M,className:H(Se,"crewlet-avatar--fallback",`crewlet-avatar--${l}`,N===null?null:`crewlet-avatar--tint-${N}`,m==null?null:"crewlet-avatar--icon"),style:ve,role:c?void 0:"img","aria-hidden":c?!0:void 0,"aria-label":c?void 0:$,children:m==null?g?(0,Mt.jsx)("span",{className:"crewlet-avatar__initials",children:Eb(Tb(t,n))}):Eb(Tb(t,n)):(0,Mt.jsx)("span",{className:"crewlet-avatar__icon","aria-hidden":"true",children:m})})}let L=oe();return j?(0,Mt.jsxs)("span",{className:H("crewlet-avatar-frame",b),style:g?x:{"--crewlet-avatar-size":`${_}px`,...x},children:[L,i!==void 0?(0,Mt.jsx)("span",{className:`crewlet-avatar__status crewlet-avatar__status--${i}`,"aria-hidden":"true",children:g_[i]}):(0,Mt.jsx)("span",{className:"crewlet-avatar__status crewlet-avatar__status--mark","aria-hidden":"true",children:o})]}):L},g_={working:(0,Mt.jsx)("svg",{viewBox:"0 0 14 14",focusable:"false",children:(0,Mt.jsx)("path",{d:"M5.4 3.9 10.2 7l-4.8 3.1z",fill:"currentColor"})}),needs:(0,Mt.jsxs)("svg",{viewBox:"0 0 14 14",focusable:"false",children:[(0,Mt.jsx)("path",{d:"M5.1 5.3a1.9 1.9 0 1 1 2.7 1.7c-.55.27-.8.62-.8 1.15v.3",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,Mt.jsx)("circle",{cx:"7",cy:"10.45",r:".85",fill:"currentColor"})]}),stopped:(0,Mt.jsx)("svg",{viewBox:"0 0 14 14",focusable:"false",children:(0,Mt.jsx)("rect",{x:"4.6",y:"4.6",width:"4.8",height:"4.8",rx:".7",fill:"currentColor"})})};var Rn=K(Te(),1);function Ip({members:e,self:t=!0,max:a=4,size:n="sm",onSelect:l,label:r,labels:i,className:o}){if(!Number.isInteger(a)||a<1)throw new RangeError(`PresenceStack max must be a whole number of at least 1; it was ${a}`);let s=Go(i),c=Gf(e);if(c.length===0&&!t)return null;let f=c.slice(0,a),v=c.slice(a),u=r??s.here(c.length,t),m=[u,...c.map(d=>s.member(d))].join(". "),b=d=>(0,Rn.jsx)(Io,{name:d.name,kind:d.kind,src:d.src,character:d.character!==void 0&&Yo(d.character)?d.character:void 0,hue:d.kind==="agent"?d.hue:void 0,size:n,decorative:!0,className:H("crewlet-presence-stack__badge",d.hue!==void 0&&d.activity!=="idle"&&bl(d.hue),d.hue!==void 0&&d.activity!=="idle"&&"crewlet-presence-stack__badge--present",d.activity==="idle"&&"crewlet-presence-stack__badge--idle")}),x=v.length>0?(0,Rn.jsxs)("span",{className:"crewlet-avatar-stack__member crewlet-avatar-stack__more","aria-hidden":"true",children:["+",v.length]}):null,M={"--crewlet-avatar-stack-size":`${vu[n]}px`,"--crewlet-presence-stack-corner":`${Sb(vu[n])}px`};return l===void 0?c.length===0?null:(0,Rn.jsxs)("span",{className:H("crewlet-avatar-stack","crewlet-presence-stack",o),style:M,role:"img","aria-label":m,children:[f.map(d=>(0,Rn.jsx)("span",{className:H("crewlet-avatar-stack__member","crewlet-presence-stack__member",`crewlet-presence-stack__member--${d.kind}`),children:b(d)},d.id)),x]}):(0,Rn.jsxs)("div",{className:H("crewlet-avatar-stack","crewlet-presence-stack",o),style:M,role:"group","aria-label":u,children:[f.map(d=>(0,Rn.jsx)("button",{type:"button",className:H("crewlet-avatar-stack__member","crewlet-presence-stack__member",`crewlet-presence-stack__member--${d.kind}`),"aria-label":s.member(d),title:s.member(d),onClick:()=>l(d),children:b(d)},d.id)),x,v.length>0?(0,Rn.jsx)(Bt,{children:`${s.more(v.length)}: ${v.map(d=>s.member(d)).join(", ")}`}):null]})}var jp=K(ht(),1),m_=K(Te(),1),Mb={text:"",n:0},v_=new Set,w_=0;function b_(e){if(e!==""){if(w_===0){console.warn("[crewlet] announce() was called with no <Announcer> mounted, so nothing was said:",e);return}Mb={text:e,n:Mb.n+1};for(let t of[...v_])t()}}function Ab(){return(0,jp.useCallback)(b_,[])}var Oa=K(ht(),1),yl=K(Te(),1);function Nb({label:e,max:t=6,overflow:a="expand",moreLabel:n=s=>`+${s} more`,countLabel:l=s=>`+${s}`,expandedMessage:r=s=>`Showing all ${s}.`,className:i,children:o}){let[s,c]=(0,Oa.useState)(!1),f=Ab(),v=(0,Oa.useRef)(null),u=Oa.Children.toArray(o),m=a==="fit",b=y_(v,m,u.length),x=m?u.slice(0,b):s?u:u.slice(0,t),M=u.length-x.length;return(0,yl.jsxs)("ul",{ref:v,tabIndex:-1,className:H("crewlet-tag-group",m&&"crewlet-tag-group--fit",i),"aria-label":`${e}, ${u.length}`,children:[x.map((d,h)=>(0,yl.jsx)("li",{className:"crewlet-tag-group__item",children:d},h)),M>0&&m?(0,yl.jsx)("li",{className:"crewlet-tag-group__item","data-count":"",children:(0,yl.jsx)("span",{className:"crewlet-tag-group__count",children:l(M)})}):M>0?(0,yl.jsx)("li",{className:"crewlet-tag-group__item",children:(0,yl.jsx)("button",{type:"button",className:"crewlet-tag-group__more",onClick:()=>{c(!0),v.current?.focus(),f(r(u.length))},children:n(M)})}):null]})}function y_(e,t,a){let[n,l]=(0,Oa.useState)(a),r=(0,Oa.useRef)(null);return(0,Oa.useLayoutEffect)(()=>{t&&l(a)},[t,a]),(0,Oa.useLayoutEffect)(()=>{let i=e.current;if(!t||!i)return;let o=[...i.children],s=o[0];if(!s)return;let c=s.offsetTop,f=c+s.offsetHeight,v=d=>d.offsetTop===c||d.offsetTop<f,u=o.filter(d=>!d.hasAttribute("data-count")),m=o.find(d=>d.hasAttribute("data-count")),b=u.filter(v).length,x=m&&!v(m)?b-1:b,M=Math.max(1,Math.min(x,u.length));M<u.length&&l(M)},[e,t,n,a]),(0,Oa.useLayoutEffect)(()=>{let i=e.current;if(!t||!i||typeof ResizeObserver!="function")return;let o=new ResizeObserver(([s])=>{let c=s?.contentRect.width??0;r.current!==null&&r.current!==c&&l(a),r.current=c});return o.observe(i),()=>o.disconnect()},[e,t,a]),t?n:a}var jo=K(Te(),1);function Ob({name:e,hue:t,kind:a="human",editing:n=!1,placement:l="top-end",className:r,...i}){let o=typeof e=="string"?e:e.join(", ");return(0,jo.jsxs)("span",{...i,"aria-hidden":"true",className:H("crewlet-cursor-flag",bl(t),`crewlet-cursor-flag--${a}`,`crewlet-cursor-flag--${l}`,r),children:[n?(0,jo.jsx)(bp,{size:"xs",className:"crewlet-cursor-flag__glyph"}):null,(0,jo.jsx)("span",{className:"crewlet-cursor-flag__name",children:o})]})}var Kp=K(Te(),1);function zb({by:e,at:t,previous:a=null,locale:n,className:l,labels:r}){let i=nu({by:e,at:t},Do(r),a,n);return(0,Kp.jsx)(Da,{content:i,children:(0,Kp.jsx)("span",{"aria-hidden":"true",className:H("crewlet-change-mark",l)})})}var Ko=K(Te(),1);function Xo({tone:e="neutral",pulse:t=!1,children:a,wrap:n=!1,className:l}){let r=a!=null&&a!==!1&&a!=="",i=(0,Ko.jsx)("span",{"aria-hidden":!0,className:H("crewlet-status-dot",`crewlet-status-dot--${e}`,t&&"is-pulsing",!r&&l)});return r?(0,Ko.jsxs)("span",{className:H("crewlet-status",n&&"crewlet-status--wrap",l),children:[i," ",(0,Ko.jsx)("span",{className:"crewlet-status__label",children:a})]}):i}var Qt=K(Te(),1);function wu(e){let{variant:t="neutral",hue:a,appearance:n="soft",size:l="sm",leadingIcon:r,dot:i=!1,count:o,monospace:s=!1,animateIn:c=!1,onClick:f,pressed:v,onRemove:u,removeAriaLabel:m="Remove tag",className:b,children:x,...M}=e,d=f!==void 0,h=d||u!==void 0,g=d&&u!==void 0;h&&l==="xs"&&console.warn('[crewlet] Tag size="xs" cannot act: an interactive tag starts at "sm", so its target clears 24px. Drawn at "sm".');let w=h&&l==="xs"?"sm":l,_=H("crewlet-tag",a===void 0?`crewlet-tag--${t}`:`crewlet-tag--hue-${a}`,`crewlet-tag--${n}`,`crewlet-tag--${w}`,s&&"crewlet-tag--monospace",c&&"crewlet-tag--animate-in",h&&"crewlet-tag--acts",d&&!g&&"crewlet-tag--actionable",g&&"crewlet-tag--split",g&&v===!0&&"is-pressed",b),k=(0,Qt.jsxs)(Qt.Fragment,{children:[i?(0,Qt.jsx)(Xo,{tone:a===void 0?t:"neutral",className:"crewlet-tag__dot"}):null,r?(0,Qt.jsx)("span",{className:"crewlet-tag__icon","aria-hidden":!0,children:r}):null,(0,Qt.jsx)("span",{className:"crewlet-tag__label",children:x}),o===void 0?null:(0,Qt.jsx)("span",{className:"crewlet-tag__count",children:o})]}),N=u===void 0?null:(0,Qt.jsx)("button",{type:"button",className:"crewlet-tag__remove",onClick:O=>{O.stopPropagation(),u()},"aria-label":m,children:(0,Qt.jsx)(Bo,{size:"xs"})});return g?(0,Qt.jsxs)("span",{...M,className:_,children:[(0,Qt.jsx)("button",{type:"button",className:"crewlet-tag__press",onClick:f,"aria-pressed":v===!0,children:k}),N]}):d?(0,Qt.jsx)("button",{...M,type:"button",className:_,onClick:f,"aria-pressed":v===!0,children:k}):(0,Qt.jsxs)("span",{...M,className:_,children:[k,N]})}var Qe=K(ht(),1),Cb=K(cr(),1),bi=K(Te(),1);function kb({trigger:e,children:t,align:a="start",side:n="bottom",width:l="auto",alignOffset:r,sideOffset:i=at,initialFocus:o,role:s="dialog",label:c,entrance:f="rise",className:v,open:u,defaultOpen:m=!1,onOpenChange:b}){let M=`${(0,Qe.useId)()}-popover`,[d,h]=(0,Qe.useState)(m),g=u??d,w=(0,Qe.useRef)(null),_=(0,Qe.useRef)(null),[k,N]=(0,Qe.useState)(null),O=vl(),j=(0,Qe.useRef)(u!==void 0),z=(0,Qe.useRef)(b),X=(0,Qe.useRef)(r),$=(0,Qe.useRef)(o);j.current=u!==void 0,z.current=b,X.current=r,$.current=o;let Se=(0,Qe.useCallback)((I,Ce)=>{j.current||h(I),z.current?.(I,Ce)},[]),ve=(0,Qe.useCallback)(I=>{let Ce=_.current?.contains(document.activeElement)??!1;(I==="escape"||I==="tab"||I==="content"&&Ce)&&si(w.current),Se(!1,I)},[Se]),oe=mi({open:g,onDismiss:ve}),L=(0,Qe.useCallback)(()=>{let I=w.current,Ce=_.current;if(!I||!Ce||!O)return;let At=O!==document.body,vt=At?O.getBoundingClientRect():kn(),Ze=I.getBoundingClientRect();Ce.style.width=l==="match"?`${Ze.width}px`:"";let q=Ce.getBoundingClientRect(),ee=X.current,Je=typeof ee=="function"?ee(Ce,I):ee??0,qt={x:(a==="end"?Ze.right-q.width:Ze.left)+Je-(At?vt.x:0),y:Ze.top-(At?vt.y:0),width:Ze.width,height:Ze.height},dt={x:at,y:at,width:vt.width-2*at,height:vt.height-2*at};if(fi(Ze,vt,At)){ve("anchor-gone");return}let Zt=l==="match"?Ze.width:void 0,wt=hi(qt,{width:q.width,height:q.height},dt,i,n==="top"?"above":"below");N(rt=>rt&&rt.left===wt.left&&rt.top===wt.top&&rt.side===wt.side&&rt.width===Zt?rt:{left:wt.left,top:wt.top,side:wt.side,width:Zt})},[a,ve,O,n,i,l]);(0,Qe.useLayoutEffect)(()=>{if(!g)return;L();let I=()=>L();O?.addEventListener(Cn,I),window.addEventListener("resize",I),window.addEventListener("scroll",I,!0);let Ce=typeof ResizeObserver=="function"?new ResizeObserver(I):null;return _.current&&Ce?.observe(_.current),()=>{O?.removeEventListener(Cn,I),window.removeEventListener("resize",I),window.removeEventListener("scroll",I,!0),Ce?.disconnect()}},[g,O,L]),(0,Qe.useEffect)(()=>{g||N(null)},[g]);let Me=g&&k!==null;(0,Qe.useEffect)(()=>{if(!Me||s!=="dialog")return;let I=_.current;I&&!I.contains(document.activeElement)&&($.current?.()??er(I)[0]??I).focus()},[Me,s]);let se=(0,Qe.useCallback)(()=>{g?ve("trigger"):Se(!0,"trigger")},[ve,g,Se]),C=e(g,se),R=s==="none"?void 0:s,U=ml(w,oe.insideRef,C.props.ref),be=(0,Qe.cloneElement)(C,{ref:U,"aria-expanded":g,"aria-haspopup":C.props["aria-haspopup"]??R,"aria-controls":g?M:void 0});function ze(I){I.key!=="Escape"&&I.key!=="Tab"&&!I.ctrlKey&&!I.metaKey&&!I.altKey&&I.stopPropagation()}let ae=k?{left:k.left,top:k.top,width:k.width}:{visibility:"hidden"},lt=g?(0,bi.jsx)("div",{ref:I=>{_.current=I,oe.panelRef(I)},id:M,className:H("crewlet-popover",`crewlet-popover--${k?.side??(n==="top"?"above":"below")}`,O!==null&&O!==document.body?"crewlet-popover--in-host":"crewlet-popover--fixed",f==="instant"&&"crewlet-popover--instant",v),style:{...ae,zIndex:oe.zIndex},role:s==="none"?void 0:s,"aria-label":s==="none"?void 0:c,"aria-modal":s==="dialog"?!1:void 0,tabIndex:s==="dialog"?-1:void 0,onKeyDown:ze,onPointerDown:I=>I.stopPropagation(),onClick:I=>I.stopPropagation(),children:typeof t=="function"?t(()=>ve("content")):t}):null;return(0,bi.jsxs)(bi.Fragment,{children:[be,lt&&O?(0,Cb.createPortal)(lt,O):null]})}var De=K(ht(),1),Rb=K(cr(),1);var ut=K(Te(),1),x_="[role='menuitem'],[role='menuitemradio']";function __(e){let t=[];for(let a of e){if(a.kind==="separator"){t.push({kind:"separator",key:a.key});continue}let n=t[t.length-1];a.checked===void 0?t.push({kind:"action",item:a}):n?.kind==="answers"?n.items.push(a):t.push({kind:"answers",key:`${a.key}:answers`,items:[a]})}return t}function Hb({label:e,items:t,icon:a,trigger:n,trailingIcon:l,triggerVariant:r="ghost",valueTrigger:i=!1,triggerTabIndex:o,open:s,onOpenChange:c,align:f="start",width:v="content",renderTrigger:u,header:m,tooltip:b,entrance:x="rise",activeDescendant:M=!1,className:d}){let h=(0,De.useId)(),g=`${h}-menu`,w=`${h}-header`,_=S=>`${h}-item-${S}`,[k,N]=(0,De.useState)(-1),[O,j]=(0,De.useState)(!1),z=s??O,X=(0,De.useRef)(null),$=(0,De.useRef)(null),Se=(0,De.useRef)(null),ve=(0,De.useRef)("first"),[oe,L]=(0,De.useState)(null),Me=vl(),se=(0,De.useRef)(s!==void 0),C=(0,De.useRef)(c),R=(0,De.useRef)(M);se.current=s!==void 0,C.current=c,R.current=M;let U=(0,De.useCallback)(S=>{se.current||j(S),C.current?.(S)},[]),be=(0,De.useCallback)(()=>{let S=Se.current,ce=S&&S.isConnected&&S!==document.body?S:X.current;si(ce)},[]),ze=(0,De.useCallback)(S=>{S&&be(),U(!1)},[be,U]),ae=mi({open:z,onDismiss:S=>ze(S!=="outside")}),lt=ml(X,ae.insideRef),I=()=>$.current?[...$.current.querySelectorAll(x_)]:[];(0,De.useLayoutEffect)(()=>{if(!z)return;let S=document.activeElement;S instanceof Node&&$.current?.contains(S)||(Se.current=S instanceof HTMLElement?S:null)},[z]);let Ce=(0,De.useCallback)(()=>{let S=X.current,ce=$.current;if(!S||!ce||!Me)return;let G=Me!==document.body,V=G?Me.getBoundingClientRect():kn(),ue=S.getBoundingClientRect(),Le=qw(V,G),Vt=ue.top-(G?V.y:0),ke=Math.max(Le.y+Le.height-(Vt+ue.height+at),Vt-at-Le.y,0);ce.style.setProperty("--crewlet-menu-room",`${ke}px`);let Pe=ce.getBoundingClientRect(),xi=v==="trigger"?ue.width:void 0,na={width:Math.max(Pe.width,xi??0),height:Pe.height},_u={x:(f==="end"?ue.right-na.width:ue.left)-(G?V.x:0),y:ue.top-(G?V.y:0),width:ue.width,height:ue.height};if(fi(ue,V,G)){ze(!0);return}let Ia=hi(_u,{width:na.width,height:na.height},Le,at);L(Hn=>Hn&&Hn.left===Ia.left&&Hn.top===Ia.top&&Hn.floor===xi&&Hn.room===ke?Hn:{left:Ia.left,top:Ia.top,floor:xi,room:ke})},[f,ze,Me,v]);(0,De.useLayoutEffect)(()=>{if(!z)return;Ce();let S=()=>Ce();Me?.addEventListener(Cn,S),window.addEventListener("resize",S),window.addEventListener("scroll",S,!0);let ce=typeof ResizeObserver=="function"?new ResizeObserver(S):null;return $.current&&ce?.observe($.current),()=>{Me?.removeEventListener(Cn,S),window.removeEventListener("resize",S),window.removeEventListener("scroll",S,!0),ce?.disconnect()}},[z,Me,Ce]),(0,De.useEffect)(()=>{z||L(null)},[z]);let At=z&&oe!==null;(0,De.useLayoutEffect)(()=>{if(!At)return;let S=I();R.current?($.current?.focus(),N(ve.current==="none"||S.length===0?-1:ve.current==="last"?S.length-1:0)):(ve.current==="last"?S[S.length-1]:S[0])?.focus(),ve.current="first"},[At]),(0,De.useEffect)(()=>{z||N(-1)},[z]),(0,De.useEffect)(()=>{!M||k<0||I()[k]?.scrollIntoView?.({block:"nearest"})},[k,M]);function vt(S){(S.key==="ArrowDown"||S.key==="ArrowUp")&&(S.preventDefault(),ve.current=S.key==="ArrowUp"?"last":"first",U(!0))}function Ze(S){S.key!=="Escape"&&S.key!=="Tab"&&!S.ctrlKey&&!S.metaKey&&!S.altKey&&S.stopPropagation();let ce=I(),G=M?k:ce.indexOf(document.activeElement),V=ue=>{let Le=(ue+ce.length)%ce.length;M?N(Le):ce[Le]?.focus()};switch(S.key){case"ArrowDown":S.preventDefault(),V(G<0?0:G+1);return;case"ArrowUp":S.preventDefault(),V(G<0?ce.length-1:G-1);return;case"Enter":case" ":if(!M)return;S.preventDefault(),G>=0&&ce[G]?.click();return;case"Home":S.preventDefault(),V(0);return;case"End":S.preventDefault(),V(ce.length-1);return;case"Tab":ze(!0);return;default:if(S.key.length===1&&!S.ctrlKey&&!S.metaKey&&!S.altKey&&S.key!==" "){let ue=S.key.toLocaleLowerCase();for(let Le=1;Le<=ce.length;Le++){let Vt=ce[(G+Le)%ce.length];if((Vt.textContent??"").trim().toLocaleLowerCase().startsWith(ue)){S.preventDefault(),V(ce.indexOf(Vt));return}}}}}function q(S){S.disabled||(ze(!0),S.onSelect())}let ee=S=>S.description!==void 0&&S.description!==null&&S.description!==!1&&S.description!=="",Je=new Map(t.filter(S=>S.kind!=="separator").map((S,ce)=>[S.key,ce])),qt=S=>(0,ut.jsxs)("button",{type:"button",role:S.checked===void 0?"menuitem":"menuitemradio","aria-checked":S.checked,tabIndex:-1,id:M?_(Je.get(S.key)):void 0,onPointerMove:M?()=>N(Je.get(S.key)):void 0,onMouseDown:M?ce=>ce.preventDefault():void 0,className:H(M&&Je.get(S.key)===k&&"is-active","crewlet-menu__item",ee(S)?"crewlet-menu__item--described":void 0,S.danger&&"is-danger",S.disabled&&"is-disabled"),"aria-disabled":S.disabled||void 0,onClick:()=>q(S),children:[S.checked!==void 0&&(0,ut.jsx)("span",{className:"crewlet-menu__check","aria-hidden":!0,children:S.checked&&(0,ut.jsx)(ci,{size:"sm"})}),S.icon&&(0,ut.jsx)("span",{className:"crewlet-menu__icon",children:S.icon}),(0,ut.jsxs)("span",{className:"crewlet-menu__text",children:[(0,ut.jsx)("span",{className:"crewlet-menu__label",children:S.label}),ee(S)?(0,ut.jsx)("span",{className:"crewlet-menu__description",children:S.description}):null]}),S.hint&&(0,ut.jsx)("span",{className:"crewlet-menu__hint",children:S.hint})]},S.key),dt=z?(0,ut.jsxs)("div",{className:H("crewlet-menu",Me!==null&&Me!==document.body?"crewlet-menu--in-host":null,x==="instant"&&"crewlet-menu--instant",M&&"crewlet-menu--descendant",d),id:g,role:"menu","aria-label":e,"aria-describedby":m?w:void 0,"aria-activedescendant":M&&k>=0?_(k):void 0,tabIndex:-1,ref:S=>{$.current=S,ae.panelRef(S)},style:oe?{left:oe.left,top:oe.top,zIndex:ae.zIndex,"--crewlet-menu-room":`${oe.room}px`,...oe.floor===void 0?null:{"--crewlet-menu-floor":`${oe.floor}px`}}:{visibility:"hidden"},onKeyDown:Ze,onPointerDown:S=>S.stopPropagation(),onClick:S=>S.stopPropagation(),children:[m?(0,ut.jsx)("div",{role:"presentation",id:w,className:"crewlet-menu__header",children:m}):null,__(t).map(S=>S.kind==="separator"?(0,ut.jsx)("div",{role:"separator",className:"crewlet-menu__separator"},S.key):S.kind==="answers"?(0,ut.jsx)("div",{role:"group",className:"crewlet-menu__group",children:S.items.map(qt)},S.key):qt(S.item))]}):null,Zt={ref:lt,"aria-haspopup":"menu","aria-expanded":z,"aria-controls":z?g:void 0,tabIndex:o,onClick:()=>{z?ze(!0):(ve.current=M?"none":"first",U(!0))},onKeyDown:vt},wt=b!=null,rt=S=>wt?(0,ut.jsx)(Da,{content:(0,ut.jsx)("span",{"aria-hidden":"true",children:b}),disabled:z,children:S}):S;return(0,ut.jsxs)("span",{className:"crewlet-menu-anchor",children:[u?u(Zt):rt(n===void 0?(0,ut.jsx)(wl,{...Zt,label:e,icon:a??(0,ut.jsx)(vp,{}),size:"sm",...wt?{title:""}:{}}):(0,ut.jsx)(Ua,{...Zt,"aria-label":e,variant:r,size:"small",flush:i,className:i?"crewlet-menu__value-trigger":void 0,leadingIcon:a,trailingIcon:l,children:n})),dt&&Me?(0,Rb.createPortal)(dt,Me):null]})}var A=K(ht(),1);var T=K(Te(),1);function Qp({column:e,id:t,labels:a}){let n=zn(e,t);if(!n)return(0,T.jsx)(wu,{size:"xs",children:t});if(n.archived)return(0,T.jsx)(wu,{size:"xs",appearance:"outline",children:a.archived(n.label)});let l=Wc(n.color);return(0,T.jsx)(wu,{size:"xs",hue:l==="neutral"?void 0:l,children:n.label})}function Db({person:e,fallback:t}){return e?(0,T.jsxs)("span",{className:"crewlet-sheet-cell__person",children:[(0,T.jsx)(Io,{name:e.name,kind:e.kind==="human"?"human":"agent",src:e.src,character:e.character!==void 0&&Yo(e.character)?e.character:void 0,hue:e.kind==="agent"?e.hue:void 0,size:"xs",decorative:!0}),(0,T.jsx)("span",{className:"crewlet-sheet-cell__text",children:e.name})]}):(0,T.jsx)("span",{className:"crewlet-sheet-cell__muted",children:t})}function Zp({column:e,value:t,context:a,onOpenLink:n}){let{labels:l}=a;if(e.type==="checkbox"){let r=t===!0;return(0,T.jsxs)("span",{className:"crewlet-sheet-cell__checkbox",children:[(0,T.jsx)("span",{className:H("crewlet-sheet-cell__check",r&&"crewlet-sheet-cell__check--on"),"aria-hidden":"true",children:r?(0,T.jsx)(ci,{size:"xs"}):null}),(0,T.jsx)(Bt,{children:r?l.checked:l.unchecked})]})}if(sn(t))return(0,T.jsx)(Bt,{children:l.empty});switch(e.type){case"select":return(0,T.jsx)(Qp,{column:e,id:String(t),labels:l});case"multiselect":return(0,T.jsx)(Nb,{label:e.label,overflow:"fit",className:"crewlet-sheet-cell__chips",children:t.map(r=>(0,T.jsx)(Qp,{column:e,id:r,labels:l},r))});case"status":{let r=zn(e,String(t)),i=Ma(e,t,a);return(0,T.jsx)(Xo,{tone:r&&!r.archived?Pc(r):"neutral",children:i})}case"person":return(0,T.jsx)(Db,{person:ri(a.people,String(t)),fallback:l.unknownPerson});case"rating":{let r=on(e),i=Number(t);return(0,T.jsxs)("span",{className:"crewlet-sheet-cell__rating",children:[(0,T.jsx)("span",{className:"crewlet-sheet-cell__stars","aria-hidden":"true",children:Array.from({length:r},(o,s)=>(0,T.jsx)(xp,{size:"sm",filled:s<i,className:H("crewlet-sheet-cell__star",s<i&&"crewlet-sheet-cell__star--on")},s))}),(0,T.jsx)(Bt,{children:l.rating(i,r)})]})}case"url":{let r=String(t);return(0,T.jsx)("a",{className:"crewlet-sheet-cell__link",href:r,target:"_blank",rel:"noopener noreferrer",tabIndex:-1,onClick:n?i=>{i.preventDefault(),n(r)}:void 0,children:r})}case"number":return(0,T.jsx)("span",{className:"crewlet-sheet-cell__text crewlet-sheet-cell__number",children:Ma(e,t,a)});default:return(0,T.jsx)("span",{className:"crewlet-sheet-cell__text",children:Ma(e,t,a)})}}var T_=new Set(["text","number","url","date","rating"]),E_=new Set(["text","longtext"]),S_=6,M_=8,Lb=new Set(["select","multiselect","status","person"]),A_=e=>e!=="checkbox",Gb=e=>T_.has(e)||Lb.has(e)||e==="longtext";function Ub(e,t){if(e.key==="Tab")return e.shiftKey?"left":"right";if(e.key==="Enter")return t?e.shiftKey&&!Wl(e)?void 0:"down":e.shiftKey?"up":"down"}function Jp(e,t){e&&(e.focus({preventScroll:!0}),t&&(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement)&&e.setSelectionRange(e.value.length,e.value.length))}function Fp(e){let t=(0,A.useRef)(!1);return{finish:()=>{t.current=!0},onBlur:a=>{if(t.current)return;let n=a.relatedTarget;n!==null&&a.currentTarget.contains(n)||(t.current=!0,e())}}}function N_(e){let t=new Date(e);if(Number.isNaN(t.getTime()))return"";let a=n=>String(n).padStart(2,"0");return`${t.getFullYear()}-${a(t.getMonth()+1)}-${a(t.getDate())}T${a(t.getHours())}:${a(t.getMinutes())}`}function $p({conflict:e,labels:t}){return(0,T.jsxs)("div",{className:"crewlet-sheet-editor__conflict",role:"alert",children:[(0,T.jsx)("p",{className:"crewlet-sheet-editor__conflict-text",children:t.conflict(e.writer,e.value)}),(0,T.jsxs)("div",{className:"crewlet-sheet-editor__conflict-actions",children:[(0,T.jsx)(Ua,{size:"small",variant:"secondary",onClick:e.onKeepMine,children:t.keepMine}),(0,T.jsx)(Ua,{size:"small",variant:"ghost",onClick:e.onUseTheirs,children:t.useTheirs(e.writer)})]})]})}function Wp({id:e,message:t}){return(0,T.jsxs)("p",{id:e,className:"crewlet-sheet-editor__error",children:[(0,T.jsx)(ui,{size:"xs","aria-hidden":"true"}),(0,T.jsx)("span",{children:t})]})}function Bb(e){let{column:t}=e;return Lb.has(t.type)?(0,T.jsx)(H_,{...e}):E_.has(t.type)?(0,T.jsx)(z_,{...e}):(0,T.jsx)(O_,{...e})}function O_({column:e,value:t,context:a,seed:n,label:l,onCommit:r,onCancel:i,conflict:o}){let{labels:s}=a,c=(0,A.useId)(),f=(0,A.useRef)(null),v=e.type==="date",u=(0,A.useMemo)(()=>{if(v){let g=typeof t=="string"?t:"";return e.time?N_(g):g}return n??ii(e,t,a)},[]),[m,b]=(0,A.useState)(u),[x,M]=(0,A.useState)(null);(0,A.useLayoutEffect)(()=>{Jp(f.current,!v)},[v]);let d=g=>{let w=v&&e.time&&m!==""?new Date(m).toISOString():m,_=oi(e,w,a);return _.ok?(h.finish(),r(_.value,g),!0):(M(_.error),!1)},h=Fp(()=>{d(null)||i()});return(0,T.jsxs)("div",{className:"crewlet-sheet-editor crewlet-sheet-editor--line",onBlur:h.onBlur,children:[(0,T.jsx)("input",{ref:f,className:"crewlet-sheet-editor__input",type:v?e.time?"datetime-local":"date":e.type==="url"?"url":"text",inputMode:e.type==="number"?"decimal":e.type==="rating"?"numeric":void 0,"aria-label":l,"aria-invalid":x!==null,"aria-describedby":x!==null?c:void 0,maxLength:e.type==="text"?gl(e):void 0,value:m,onChange:g=>{b(g.target.value),M(null)},onKeyDown:g=>{if(gi(g))return;if(g.key==="Escape"){g.preventDefault(),g.stopPropagation(),h.finish(),i();return}if(g.key==="Tab"&&o)return;let w=Ub(g,!1);w!==void 0&&(g.preventDefault(),g.stopPropagation(),d(w))}}),x!==null||o?(0,T.jsxs)("div",{className:H("crewlet-sheet-editor__panel"),children:[x!==null?(0,T.jsx)(Wp,{id:c,message:x}):null,o?(0,T.jsx)($p,{conflict:o,labels:s}):null]}):null]})}function z_({column:e,value:t,context:a,seed:n,label:l,onCommit:r,onCancel:i,side:o="below",conflict:s}){let{labels:c}=a,f=e.type==="longtext",v=(0,A.useId)(),u=(0,A.useRef)(null),[m,b]=(0,A.useState)(()=>n??ii(e,t,a)),[x,M]=(0,A.useState)(null);(0,A.useLayoutEffect)(()=>{Jp(u.current,!0)},[]),(0,A.useLayoutEffect)(()=>{let g=u.current;!g||g.scrollHeight===0||(g.style.height="auto",g.style.height=`${g.scrollHeight}px`)},[m]);let d=g=>{let w=oi(e,m,a);return w.ok?(h.finish(),r(w.value,g),!0):(M(w.error),!1)},h=Fp(()=>{d(null)||i()});return(0,T.jsx)("div",{className:H("crewlet-sheet-editor","crewlet-sheet-editor--text",f&&"crewlet-sheet-editor--long",`crewlet-sheet-editor--${o}`),onBlur:h.onBlur,children:(0,T.jsxs)("div",{className:"crewlet-sheet-editor__overlay",children:[(0,T.jsx)("textarea",{ref:u,className:"crewlet-sheet-editor__textarea","aria-label":l,"aria-multiline":f,"aria-invalid":x!==null,"aria-describedby":x!==null?v:void 0,maxLength:gl(e),rows:1,style:{"--crewlet-sheet-editor-lines":S_},value:m,onChange:g=>{b(f?g.target.value:g.target.value.replace(/\r?\n/g," ")),M(null)},onKeyDown:g=>{if(gi(g))return;if(g.key==="Escape"){g.preventDefault(),g.stopPropagation(),h.finish(),i();return}if(g.key==="Tab"&&s)return;let w=Ub(g,f);w!==void 0&&(g.preventDefault(),g.stopPropagation(),d(w))}}),x!==null?(0,T.jsx)(Wp,{id:v,message:x}):null,s?(0,T.jsx)($p,{conflict:s,labels:c}):null]})})}function C_(e,t){return e.type==="person"?(t.people??[]).map(a=>({id:a.id,label:a.name,person:a})):$l(e).map(a=>({id:a.id,label:a.label,option:a}))}function k_({column:e,choice:t,context:a}){return t.person?(0,T.jsx)(Db,{person:t.person,fallback:t.label}):e.type==="status"&&t.option?(0,T.jsx)(Xo,{tone:Pc(t.option),children:t.label}):(0,T.jsx)(Qp,{column:e,id:t.id,labels:a.labels})}var dn="";function R_(e,t,a){let n=t.y+at,l=t.y+t.height-at,r=l-e.top,i=e.bottom-n,o=a(Math.max(r,i,0)),c=r>=o.height||r>=i?e.top:e.bottom-o.height;return{top:Math.max(n,Math.min(c,l-o.height)),left:Math.max(t.x+at,Math.min(e.left,t.x+t.width-at-o.width))}}function H_({column:e,value:t,context:a,seed:n,label:l,onCommit:r,onCancel:i,side:o="below",conflict:s}){let{labels:c}=a,f=e.type==="multiselect",v=(0,A.useId)(),u=(0,A.useId)(),m=(0,A.useRef)(null),b=(0,A.useRef)(null),x=(0,A.useRef)(null),M=(0,A.useRef)(null),d=(0,A.useMemo)(()=>C_(e,a),[e,a]),h=d.length>M_,[g,w]=(0,A.useState)(h?n??"":""),[_,k]=(0,A.useState)(()=>f?[...t??[]]:typeof t=="string"?[t]:[]),[N,O]=(0,A.useState)(null),j=!f&&!e.required,z=(0,A.useMemo)(()=>{let C=g.trim().toLowerCase(),R=C===""?d:d.filter(U=>U.label.toLowerCase().includes(C));return j&&C===""?[...R,{id:dn,label:c.clear}]:R},[d,g,j,c.clear]),[X,$]=(0,A.useState)(()=>{let C=!h&&n?z.findIndex(U=>U.id!==dn&&U.label.toLowerCase().startsWith(n.toLowerCase())):-1;if(C>=0)return C;let R=z.findIndex(U=>U.id!==dn&&_.includes(U.id));return R>=0?R:0});(0,A.useEffect)(()=>{$(C=>Math.min(C,Math.max(z.length-1,0)))},[z.length]),(0,A.useLayoutEffect)(()=>{Jp(h?m.current:b.current,!1)},[h]),(0,A.useLayoutEffect)(()=>{let C=()=>{let R=x.current?.getBoundingClientRect(),U=M.current;if(!R||!U)return;let be=R_(R,kn(),ze=>{U.style.setProperty("--crewlet-sheet-editor-cell",`${R.width}px`),U.style.setProperty("--crewlet-sheet-editor-room",`${ze}px`);let ae=U.getBoundingClientRect();return{width:ae.width,height:ae.height}});U.style.setProperty("--crewlet-sheet-editor-top",`${be.top}px`),U.style.setProperty("--crewlet-sheet-editor-left",`${be.left}px`)};return C(),window.addEventListener("resize",C),window.addEventListener("scroll",C,!0),()=>{window.removeEventListener("resize",C),window.removeEventListener("scroll",C,!0)}},[z.length]);let Se=(C,R)=>{let U=Vf(e,C,a);return U!==null?(O(U),!1):(ve.finish(),r(C,R),!0)},ve=Fp(()=>{(!f||!Se(_,null))&&i()}),oe=(C,R)=>{if(C){if(!f){Se(C.id===dn?null:C.id,R);return}O(null),k(U=>U.includes(C.id)?U.filter(be=>be!==C.id):[...U,C.id])}},L=C=>`${v}-${C}`,Me=z.length>0?L(X):void 0,se=C=>{if(!gi(C))switch(C.key){case"Escape":C.preventDefault(),C.stopPropagation(),ve.finish(),i();return;case"ArrowDown":C.preventDefault(),C.stopPropagation(),$(R=>Math.min(R+1,z.length-1));return;case"ArrowUp":C.preventDefault(),C.stopPropagation(),$(R=>Math.max(R-1,0));return;case"Home":case"End":if(g!=="")return;C.preventDefault(),C.stopPropagation(),$(C.key==="Home"?0:z.length-1);return;case"Enter":C.preventDefault(),C.stopPropagation(),f&&Wl(C)?Se(_,"down"):oe(z[X],C.shiftKey?"up":"down");return;case" ":if(h)return;C.preventDefault(),C.stopPropagation(),oe(z[X],f?null:"down");return;case"Tab":if(s)return;C.preventDefault(),C.stopPropagation(),Se(f?_:t,C.shiftKey?"left":"right");return;default:if(!h&&C.key.length===1&&!C.ctrlKey&&!C.metaKey&&!C.altKey){let R=C.key.toLowerCase(),U=X+1,ze=[...z.slice(U),...z.slice(0,U)].find(ae=>ae.id!==dn&&ae.label.toLowerCase().startsWith(R));ze&&(C.preventDefault(),C.stopPropagation(),$(z.indexOf(ze)))}return}};return(0,T.jsx)("div",{ref:x,className:H("crewlet-sheet-editor","crewlet-sheet-editor--list",`crewlet-sheet-editor--${o}`),onBlur:ve.onBlur,children:(0,T.jsxs)("div",{ref:M,className:"crewlet-sheet-editor__panel crewlet-sheet-editor__panel--list",children:[h?(0,T.jsx)("input",{ref:m,className:"crewlet-sheet-editor__filter",role:"combobox","aria-label":l,"aria-expanded":"true","aria-controls":v,"aria-autocomplete":"list","aria-activedescendant":Me,"aria-invalid":N!==null,"aria-describedby":N!==null?u:void 0,placeholder:c.filter,value:g,onChange:C=>{w(C.target.value),$(0)},onKeyDown:se}):null,(0,T.jsx)("ul",{ref:b,className:"crewlet-sheet-editor__list",id:v,role:"listbox","aria-label":l,"aria-multiselectable":f||void 0,tabIndex:-1,"aria-activedescendant":h?void 0:Me,"aria-invalid":h?void 0:N!==null,"aria-describedby":!h&&N!==null?u:void 0,onKeyDown:h?void 0:se,children:z.length===0?(0,T.jsx)("li",{className:"crewlet-sheet-editor__empty",role:"presentation",children:c.noOptions}):z.map((C,R)=>{let U=C.id===dn?_.length===0:_.includes(C.id);return(0,T.jsxs)("li",{id:L(R),role:"option","aria-selected":U,className:H("crewlet-sheet-editor__option",C.id===dn&&"crewlet-sheet-editor__option--clear",R===X&&"crewlet-sheet-editor__option--highlight",U&&"crewlet-sheet-editor__option--selected"),onMouseDown:be=>be.preventDefault(),onMouseEnter:()=>$(R),onClick:()=>oe(C,f?null:"down"),children:[(0,T.jsx)("span",{className:"crewlet-sheet-editor__mark","aria-hidden":"true",children:U&&C.id!==dn?(0,T.jsx)(ci,{size:"xs"}):null}),C.id===dn?(0,T.jsx)("span",{className:"crewlet-sheet-cell__muted",children:C.label}):(0,T.jsx)(k_,{column:e,choice:C,context:a})]},C.id===dn?"\0clear":C.id)})}),N!==null?(0,T.jsx)(Wp,{id:u,message:N}):null,s?(0,T.jsx)($p,{conflict:s,labels:c}):null]})})}var xl=-1,G_=.6;function Pp({label:e,columns:t,rows:a,people:n,mode:l="edit",onEdit:r,onAddRow:i,onShowHistory:o,onActiveCellChange:s,onEditingChange:c,onUndo:f,onRedo:v,onOpenLink:u,presence:m,sort:b,onSortChange:x,sync:M,onRetry:d,height:h,fit:g="container",onDeleteRow:w,onDismissRefused:_,renderColumnEditor:k,settingsColumn:N,onSettingsColumnChange:O,onAddColumn:j,locale:z,className:X,labels:$,presenceLabels:Se,ref:ve}){let oe=(0,A.useId)(),L=(0,A.useMemo)(()=>Do($),[$]),Me=(0,A.useMemo)(()=>Go(Se),[Se]),se=(0,A.useMemo)(()=>({people:n,locale:z,labels:L}),[n,z,L]),C=(0,A.useMemo)(()=>Jf(t),[t]),[R,U]=(0,A.useState)(0),be=(0,A.useRef)(a);(0,A.useLayoutEffect)(()=>{be.current=a});let ze=a.length>0,[ae,lt]=(0,A.useState)(null);(0,A.useLayoutEffect)(()=>{let p=ze?be.current:[];lt(new Map(C.filter(y=>!(y.width&&y.width>0)).map(y=>[y.field,Wf(y,p,se)])))},[C,ze,se]);let[I,Ce]=(0,A.useState)(0);(0,A.useEffect)(()=>{let p=typeof document>"u"?void 0:document.fonts;if(!p)return;let y=!0,D=()=>{y&&Ce(J=>J+1)};return p.ready.then(D),p.addEventListener("loadingdone",D),()=>{y=!1,p.removeEventListener("loadingdone",D)}},[]);let At=(0,A.useRef)(null),[vt,Ze]=(0,A.useState)(new Map);(0,A.useLayoutEffect)(()=>{let p=At.current;if(!p)return;let y=new Map;for(let D of p.querySelectorAll("[data-measure]")){let J=0;for(let re of D.children)J=Math.max(J,re.getBoundingClientRect().width);y.set(D.dataset.measure??"",J)}Ze(y)},[ae,I]);let q=(0,A.useMemo)(()=>{let p=Y=>Y.width!==void 0&&Y.width>0,y=C.map(Y=>p(Y)?Y:{...Y,width:$f(Y.type,vt.get(Y.field)??0)});if(R<=0)return y;let D=Math.floor(R*G_)-Pl,J=y.filter(Y=>Y.frozen).reduce((Y,Re)=>Y+cn(Re),0)-D,re=C.filter(Y=>Y.frozen&&!p(Y)).length;if(J<=0||re===0)return y;let Ae=Math.ceil(J/re);return y.map((Y,Re)=>Y.frozen&&!p(C[Re])?{...Y,width:Math.max(au[Y.type][0],cn(Y)-Ae)}:Y)},[C,vt,R]),ee=(0,A.useMemo)(()=>lp(q,a,b,se),[q,a,b,se]),Je=l==="edit"&&r!==void 0,qt=l==="edit"&&w!==void 0,dt=l==="edit"&&k!==void 0,Zt=l==="edit"&&j!==void 0,[wt,rt]=(0,A.useState)(null),S=N!==void 0?N:wt,ce=p=>{N===void 0&&rt(p),O?.(p)},G=(0,A.useRef)(null),V=(0,A.useRef)(null),ue=(0,A.useRef)(null),[Le,Vt]=(0,A.useState)(0),ke=(0,A.useRef)(0),[Pe,xi]=(0,A.useState)(tu),[na,_u]=(0,A.useState)(tu),[Ia,Hn]=(0,A.useState)(0),[Xb,Qb]=(0,A.useState)(0),[l0,r0]=(0,A.useState)(0),[Zb,Jb]=(0,A.useState)(!1),[Jo,Fo]=(0,A.useState)(null),[i0,$o]=(0,A.useState)(null),[W,_i]=(0,A.useState)(null),[o0,s0]=(0,A.useState)(new Map),[c0,Fb]=(0,A.useState)({text:"",n:0}),Tu=(0,A.useRef)(!1),[u0,d0]=(0,A.useState)(null),Jt=(0,A.useCallback)(p=>Fb(y=>({text:p,n:y.n+1})),[]),h0=(0,A.useRef)(new Map);(0,A.useEffect)(()=>{let p=new Map;for(let y of a)for(let[D,J]of Object.entries(y.refused??{}))p.set(Aa(y.id,D),J);for(let[y,D]of p)if(h0.current.get(y)!==D){Jt(L.notSaved(D));break}h0.current=p},[a,L,Jt]),(0,A.useLayoutEffect)(()=>{let p=()=>{let D=V.current?.offsetHeight??0;D>0&&xi(D);let J=ue.current?.querySelector(".crewlet-sheet-grid__row--head")?.offsetHeight??0;J>0&&_u(J),Hn(G.current?.clientHeight??0),U(G.current?.clientWidth??0);let re=G.current;if(re){let Ae=getComputedStyle(re),Y=re.offsetHeight-re.clientHeight-(parseFloat(Ae.borderTopWidth)||0)-(parseFloat(Ae.borderBottomWidth)||0);Qb(Math.max(0,Math.round(Y)))}};if(p(),typeof ResizeObserver!="function")return;let y=new ResizeObserver(p);return G.current&&y.observe(G.current),V.current&&y.observe(V.current),()=>y.disconnect()},[]);let tr=(0,A.useMemo)(()=>Zf(q),[q]),$b=(0,A.useMemo)(()=>[`${Pl}px`,...q.map((p,y)=>y===q.length-1?`minmax(${cn(p)}px, 1fr)`:`${cn(p)}px`)].join(" "),[q]),Wb=(0,A.useMemo)(()=>q.reduce((p,y)=>p+cn(y),Pl),[q]),Wo=(0,A.useMemo)(()=>q.reduce((p,y,D)=>y.frozen?D:p,-1),[q]),Eu=(0,A.useMemo)(()=>{let p=Pl;return q.forEach((y,D)=>{y.frozen&&(p=(tr[D]??p)+cn(y))}),p},[q,tr]),_l=(0,A.useMemo)(()=>new Map(ee.map((p,y)=>[p.id,y])),[ee]),Po=(0,A.useMemo)(()=>new Map(q.map((p,y)=>[p.field,y])),[q]),ar=(0,A.useCallback)(p=>{if(!p)return null;let y=Po.get(p.field);if(y===void 0)return null;if(p.rowId===null)return{row:xl,col:y};let D=_l.get(p.rowId);return D===void 0?null:{row:D,col:y}},[Po,_l]),hn=(0,A.useCallback)(p=>{let y=q[p.col];if(!y)return null;if(p.row===xl)return{rowId:null,field:y.field};let D=ee[p.row];return D?{rowId:D.id,field:y.field}:null},[q,ee]),Pb=ee.length>0&&q.length>0?{rowId:ee[0].id,field:q[0].field}:q.length>0?{rowId:null,field:q[0].field}:null,he=ar(Jo)??ar(Pb),bt=he?hn(he):null,f0=ar(i0)??he,Fe=he&&f0&&he.row!==xl?If(f0,he):null,p0=(0,A.useMemo)(()=>rp(m),[m]),ey=(0,A.useMemo)(()=>ip(m),[m]),ty=(0,A.useMemo)(()=>op(m),[m]),g0=(0,A.useRef)(null);(0,A.useEffect)(()=>{let p=bt&&bt.rowId!==null?{rowId:bt.rowId,field:bt.field}:null,y=p?Aa(p.rowId,p.field):null;y!==g0.current&&(g0.current=y,s?.(p))},[bt,s]);let m0=(0,A.useRef)(null);(0,A.useEffect)(()=>{let p=W?Aa(W.rowId,W.field):null;p!==m0.current&&(m0.current=p,c?.(W?{rowId:W.rowId,field:W.field}:null))},[W,c]);let es=(0,A.useCallback)(p=>{p.length!==0&&(s0(y=>{let D=new Map(y);for(let J of p)D.set(Aa(J.rowId,J.field),J.error);return D}),Jt(p[0].error))},[Jt]),ts=(0,A.useCallback)(p=>{s0(y=>{if(!p.some(J=>y.has(J)))return y;let D=new Map(y);for(let J of p)D.delete(J);return D})},[]),Gn=(0,A.useCallback)(p=>{p.length===0||!r||(ts(p.map(y=>Aa(y.rowId,y.field))),r(p))},[r,ts]),Tl=(0,A.useCallback)(p=>q[Po.get(p)??-1],[q,Po]),El=(0,A.useCallback)(p=>ee[_l.get(p)??-1],[ee,_l]),nr=(0,A.useCallback)(p=>Je&&p!==void 0&&!p.readOnly,[Je]),Su=(0,A.useCallback)(()=>Vt(p=>p+1),[]),Dn=(0,A.useCallback)((p,y=!1)=>{p&&(Fo(p),y||$o(p),Su())},[Su]);(0,A.useImperativeHandle)(ve,()=>({focusCell:p=>Dn({rowId:p.rowId,field:p.field})}),[Dn]);let v0=p=>{Jo&&Jo.rowId===p.rowId&&Jo.field===p.field||(Fo(p),$o(p))},Ti=he?.row??null,Ei=he?.col??null;(0,A.useLayoutEffect)(()=>{if(Ti===null||Ei===null)return;let p=G.current;if(p&&Ti>=0){let y=Xf(Ti,p.scrollTop,p.clientHeight,Pe,na);y!==p.scrollTop&&(p.scrollTop=y,r0(y));let D=q[Ei];if(D&&!D.frozen){let J=tr[Ei]??0,re=J+cn(D);J-Eu<p.scrollLeft?p.scrollLeft=Math.max(J-Eu,0):re>p.scrollLeft+p.clientWidth&&(p.scrollLeft=re-p.clientWidth)}}Le===ke.current||W||(ke.current=Le,document.getElementById(Xp(oe,{row:Ti,col:Ei}))?.focus({preventScroll:!0}))},[Ti,Ei,Le,W,oe,Pe,na,q,tr,Eu]);let as=(0,A.useCallback)((p,y)=>{if(p.rowId===null)return;let D=Tl(p.field),J=El(p.rowId);if(!(!J||!D)){if(!nr(D)){Jt(Je?L.readOnly(D.label):L.forbidden);return}A_(D.type)&&(ts([Aa(p.rowId,p.field)]),_i({rowId:p.rowId,field:p.field,seed:y,base:Ut(D,J.values[D.field])}))}},[nr,ts,Tl,Je,L,El,Jt]),Mu=(0,A.useCallback)(p=>{if(p.rowId===null)return;let y=Tl(p.field),D=El(p.rowId);if(!(!D||!y||y.type!=="checkbox")){if(!nr(y)){Jt(Je?L.readOnly(y.label):L.forbidden);return}Gn([{rowId:D.id,field:y.field,value:Ut(y,D.values[y.field])!==!0}])}},[nr,Tl,Je,Gn,L,El,Jt]),w0=(0,A.useCallback)((p,y)=>{if(y===null)return hn(p);let D={down:{row:Math.min(p.row+1,ee.length-1),col:p.col},up:{row:Math.max(p.row-1,0),col:p.col},right:{row:p.row,col:Math.min(p.col+1,q.length-1)},left:{row:p.row,col:Math.max(p.col-1,0)}}[y];return hn(D)},[hn,q.length,ee.length]),b0=(0,A.useCallback)((p,y)=>{if(!W)return;let D=ar({rowId:W.rowId,field:W.field}),J=Tl(W.field),re=El(W.rowId);_i(null),p!==void 0&&J&&re&&!li(p,Ut(J,re.values[J.field]))&&Gn([{rowId:re.id,field:J.field,value:p}]);let Ae=document.activeElement,Y=Ae!==null&&Ae!==document.body&&!!ue.current?.contains(Ae);D&&Y&&Dn(w0(D,y))},[Tl,W,Gn,Dn,ar,El,w0]);(0,A.useEffect)(()=>{W&&!_l.has(W.rowId)&&_i(null)},[W,_l]);let ns=W?El(W.rowId):void 0,lr=W?Tl(W.field):void 0,Au=W&&ns&&lr?Ut(lr,ns.values[lr.field]):null,y0=!!(W&&ns&&lr&&!li(Au,W.base)),ay=y0&&W?ns?.changed?.[W.field]?.by??L.someone:"",ls=y0&&W&&lr?{writer:ay,value:Ma(lr,Au,se)||L.empty,onKeepMine:()=>_i(p=>p&&{...p,base:Au}),onUseTheirs:()=>{let p=ar({rowId:W.rowId,field:W.field});_i(null),p&&Dn(hn(p))}}:null,Nu=ls?L.conflict(ls.writer,ls.value):"";(0,A.useEffect)(()=>{Nu&&Jt(Nu)},[Nu,Jt]);let x0=p=>{W||!Fe||yi(p)||(p.preventDefault(),p.clipboardData.setData("text/plain",Pf(q,ee,Fe,se)))},_0=(0,A.useCallback)(()=>{if(!Fe)return;if(!Je){Jt(L.forbidden);return}let p=ap(q,ee,Fe,se);Gn(p.edits),es(p.refused)},[q,se,Je,Gn,L.forbidden,Fe,es,ee,Jt]),ny=p=>{W||!Fe||yi(p)||(x0(p),_0())},ly=p=>{if(W||!Fe||yi(p))return;if(p.preventDefault(),!Je){Jt(L.forbidden);return}let y=tp(q,ee,Fe,ep(p.clipboardData.getData("text/plain")),se);Gn(y.edits),es(y.refused)},ry=Math.max(1,Math.floor(Math.max(Ia-na,Pe)/Pe)-1),iy=p=>{if(W||gi(p)||!he||!bt||yi(p)||p.target.closest(".crewlet-sheet-grid__row-actions"))return;let y=q[he.col],D=Wl(p);if(D&&p.altKey&&p.key.toLowerCase()==="h"){o&&bt.rowId!==null&&(p.preventDefault(),o({rowId:bt.rowId,field:bt.field}));return}if(D&&!p.altKey&&p.key.toLowerCase()==="z"){let re=p.shiftKey?v:f;re&&(p.preventDefault(),re());return}if(D&&!p.altKey&&p.key.toLowerCase()==="y"){v&&(p.preventDefault(),v());return}if(D&&!p.altKey&&p.key.toLowerCase()==="a"){if(p.preventDefault(),ee.length===0)return;$o(hn({row:0,col:0})),Fo(hn({row:ee.length-1,col:q.length-1})),Su();return}if(qt&&bt.rowId!==null&&(p.key==="ContextMenu"||p.shiftKey&&p.key==="F10")){p.preventDefault(),d0(bt.rowId);return}let J=Yf(he,p,{rows:ee.length,cols:q.length,page:ry});if(J){p.preventDefault();let re=p.shiftKey&&J.row!==xl&&he.row!==xl;Dn(hn(J),re);return}if(p.key==="Tab"){let re=p.shiftKey?-1:1,Ae=he.col+re;if(Ae<0||Ae>=q.length)return;p.preventDefault(),Dn(hn({row:he.row,col:Ae}));return}if(he.row===xl){(p.key==="Enter"||p.key===" ")&&y&&dt?(p.preventDefault(),ce(y.field)):(p.key==="Enter"||p.key===" ")&&y&&x&&(p.preventDefault(),x(ru(b,y.field)));return}switch(p.key){case"Enter":case"F2":if(p.preventDefault(),p.key==="Enter"&&D&&y?.type==="url"){let re=ee[he.row],Ae=re?Ut(y,re.values[y.field]):null;typeof Ae=="string"&&Ae&&(u?u(Ae):window.open(Ae,"_blank","noopener,noreferrer"));return}y?.type==="checkbox"?Mu(bt):as(bt);return;case" ":p.preventDefault(),y?.type==="checkbox"?Mu(bt):y&&Gb(y.type)&&as(bt," ");return;case"Delete":case"Backspace":p.preventDefault(),_0();return;case"Escape":i0&&Fe&&(Fe.top!==Fe.bottom||Fe.left!==Fe.right)&&(p.preventDefault(),$o(bt));return}if(Ff(p)&&y){if(y.type==="rating"&&/^\d$/.test(p.key)){if(p.preventDefault(),!nr(y)){Jt(Je?L.readOnly(y.label):L.forbidden);return}let re=Number(p.key),Ae=ee[he.row];if(!Ae)return;if(re>on(y)){es([{rowId:Ae.id,field:y.field,error:L.notARating(y.label,on(y))}]);return}Gn([{rowId:Ae.id,field:y.field,value:re===0?null:re}]);return}Gb(y.type)&&(p.preventDefault(),as(bt,y.type==="date"?void 0:p.key))}};(0,A.useEffect)(()=>{let p=()=>{Tu.current=!1};return window.addEventListener("mouseup",p),()=>window.removeEventListener("mouseup",p)},[]);let T0=(p,y)=>{if(p.button!==0)return;let D=p.shiftKey&&y.rowId!==null&&bt?.rowId!==null;W&&W.rowId===y.rowId&&W.field===y.field||Dn(y,D),Tu.current=y.rowId!==null},oy=p=>{!Tu.current||p.rowId===null||Fo(p)},[E0,S0]=Kf(Math.max(l0-na,0),Ia,Pe,ee.length),Si=[];for(let p=E0;p<=S0;p+=1)Si.push(p);if(he&&he.row>=0&&(he.row<E0||he.row>S0)&&Si.push(he.row),W){let p=_l.get(W.rowId);p!==void 0&&!Si.includes(p)&&Si.push(p)}let M0=`${oe}-described`,A0=`${oe}-help`,Mi=he?q[he.col]:void 0,rs=he&&he.row>=0?ee[he.row]:void 0,sy=rs&&Mi?p0.get(Aa(rs.id,Mi.field))??[]:[],cy=rs&&Mi?cp(Mi,D_(rs,o0,Mi.field),sy,se,Me):"",uy={"--crewlet-sheet-columns":$b,"--crewlet-sheet-row-height":`${Pe}px`,width:`${Wb}px`},Ou=na+ee.length*Pe+2+Xb,N0=na+ee.length*Pe>=Ia,O0=ee.length===0&&N0,dy=g==="content"?{height:`${h!==void 0?Math.min(Ou,h):Ou}px`,"--crewlet-sheet-content-height":`${Ou}px`}:h!==void 0?{height:`${h}px`}:void 0,hy=p=>{let y=na+p*Pe-l0,D=Ia>0?Ia:Pe*12;return Qf(y,y+Pe,na,D,Pe*8)};return(0,T.jsxs)("div",{className:H("crewlet-sheet-grid",l==="read"&&"crewlet-sheet-grid--read",g==="content"&&"crewlet-sheet-grid--fit-content",X),children:[(0,T.jsx)("div",{ref:V,className:"crewlet-sheet-grid__probe","aria-hidden":"true"}),(0,T.jsxs)("div",{ref:G,className:H("crewlet-sheet-grid__scroller",Zb&&"crewlet-sheet-grid__scroller--across",Zt&&"crewlet-sheet-grid__scroller--add-column"),style:dy,onScroll:p=>{r0(p.currentTarget.scrollTop),Jb(p.currentTarget.scrollLeft>0)},children:[(0,T.jsxs)("div",{ref:ue,role:"grid","aria-label":e,"aria-rowcount":ee.length+1,"aria-colcount":q.length+1,"aria-readonly":!Je||void 0,"aria-multiselectable":"true","aria-describedby":A0,tabIndex:-1,className:H("crewlet-sheet-grid__grid",Fe&&(Fe.top!==Fe.bottom||Fe.left!==Fe.right)&&"crewlet-sheet-grid__grid--range"),style:uy,onKeyDown:iy,onCopy:x0,onCut:ny,onPaste:ly,children:[(0,T.jsx)("div",{role:"rowgroup",className:"crewlet-sheet-grid__head",children:(0,T.jsxs)("div",{role:"row","aria-rowindex":1,className:H("crewlet-sheet-grid__row","crewlet-sheet-grid__row--head",O0&&"crewlet-sheet-grid__row--floor"),children:[(0,T.jsx)("div",{role:"columnheader","aria-colindex":1,className:H("crewlet-sheet-grid__corner",Wo<0&&"crewlet-sheet-grid__frozen-edge"),children:(0,T.jsx)(Bt,{children:L.rowHeader})}),q.map((p,y)=>{let D={row:xl,col:y},J=he?.row===xl&&he.col===y,re=b?.field===p.field?b.direction:void 0,Ae=ty.get(p.field)??[],Y=(0,T.jsxs)("div",{id:Xp(oe,D),role:"columnheader","aria-colindex":y+2,"aria-sort":re??(x?"none":void 0),tabIndex:J?0:-1,className:H("crewlet-sheet-grid__header",`crewlet-sheet-grid__header--${p.type}`,p.frozen&&"crewlet-sheet-grid__cell--frozen",y===Wo&&"crewlet-sheet-grid__frozen-edge",J&&"crewlet-sheet-grid__header--active",dt&&"crewlet-sheet-grid__header--settings",S===p.field&&"crewlet-sheet-grid__header--open"),style:p.frozen?{insetInlineStart:`${tr[y]}px`}:void 0,onMouseDown:Re=>{yi(Re)||T0(Re,{rowId:null,field:p.field})},onFocus:Re=>{Re.target===Re.currentTarget&&v0({rowId:null,field:p.field})},onClick:Re=>{yi(Re)||(dt?ce(S===p.field?null:p.field):x&&x(ru(b,p.field)))},title:dt?L.columnSettings(p.label):x?L.sortBy(p.label):p.label,children:[(0,T.jsx)("span",{className:"crewlet-sheet-grid__header-label",children:p.label}),(0,T.jsx)(Bt,{children:`, ${L.types[p.type]}`}),re?(0,T.jsx)("span",{className:"crewlet-sheet-grid__sort","aria-hidden":"true",children:re==="ascending"?(0,T.jsx)(fp,{size:"xs"}):(0,T.jsx)(su,{size:"xs"})}):null,Ae.length>0?(0,T.jsx)("span",{className:"crewlet-sheet-grid__header-presence","aria-hidden":"true",children:Ae.map(Re=>(0,T.jsx)(Io,{name:Re.name,kind:Re.kind,size:16,decorative:!0,className:H("crewlet-sheet-grid__header-badge",bl(Re.hue))},Re.id))}):null]},p.field);return dt?(0,T.jsx)(kb,{label:L.columnSettings(p.label),open:S===p.field,onOpenChange:Re=>{!Re&&S===p.field&&ce(null)},trigger:()=>Y,className:"crewlet-sheet-grid__column-settings",children:Re=>k(p,Re)},p.field):Y})]})}),(0,T.jsx)("div",{role:"rowgroup",className:"crewlet-sheet-grid__body",style:{height:`${ee.length*Pe}px`},children:Si.map(p=>{let y=ee[p],D=ey.get(y.id),J=`${oe}-r${p}-name`,re=Fe!==null&&p>=Fe.top&&p<=Fe.bottom,Ae=L.rowActions(p+1);return(0,T.jsxs)("div",{role:"row","aria-rowindex":p+2,className:H("crewlet-sheet-grid__row",p===ee.length-1&&N0&&"crewlet-sheet-grid__row--floor"),style:{top:`${p*Pe}px`},"data-row-id":y.id,children:[(0,T.jsxs)("div",{role:"rowheader","aria-colindex":1,"aria-labelledby":J,className:H("crewlet-sheet-grid__rownum",Wo<0&&"crewlet-sheet-grid__frozen-edge",qt&&"crewlet-sheet-grid__rownum--actions",re&&"crewlet-sheet-grid__rownum--selected",u0===y.id&&"crewlet-sheet-grid__rownum--open",D&&"crewlet-sheet-grid__rownum--present",D&&bl(D.hue)),children:[(0,T.jsx)("span",{className:"crewlet-sheet-grid__rownum-number","aria-hidden":"true",children:p+1}),(0,T.jsx)(Bt,{id:J,children:iu(q,y,p,se)}),qt?(0,T.jsx)("span",{className:"crewlet-sheet-grid__row-actions",children:(0,T.jsx)(Hb,{label:Ae,triggerTabIndex:-1,open:u0===y.id,onOpenChange:Y=>d0(Y?y.id:null),renderTrigger:Y=>(0,T.jsx)(Da,{content:Ae,align:"start",children:(0,T.jsx)(wl,{...Y,label:Ae,icon:(0,T.jsx)(mp,{}),size:"sm",title:""})}),items:[{key:"delete",label:L.deleteRow,icon:(0,T.jsx)(_p,{size:"sm"}),danger:!0,onSelect:()=>w?.(y.id)}]})}):null]}),q.map((Y,Re)=>{let fy={row:p,col:Re},z0=Aa(y.id,Y.field),Ai=he?.row===p&&he.col===Re,C0=Fe?jf(Fe,p,Re):!1,py=y.pending?.includes(Y.field)??!1,is=y.refused?.[Y.field]??o0.get(z0),Ni=y.changed?.[Y.field],k0=Ut(Y,y.values[Y.field]),os=p0.get(z0),Ln=os?.[0],Oi=W?.rowId===y.id&&W.field===Y.field,R0=Ai&&o!==void 0&&!Oi;return(0,T.jsxs)("div",{id:Xp(oe,fy),role:"gridcell","aria-colindex":Re+2,"aria-selected":C0,"aria-readonly":!nr(Y)||void 0,"aria-describedby":Ai?M0:void 0,tabIndex:Ai&&!Oi?0:-1,className:H("crewlet-sheet-grid__cell",`crewlet-sheet-grid__cell--${Y.type}`,Y.frozen&&"crewlet-sheet-grid__cell--frozen",Re===Wo&&"crewlet-sheet-grid__frozen-edge",C0&&"crewlet-sheet-grid__cell--selected",Ai&&"crewlet-sheet-grid__cell--active",py&&"crewlet-sheet-grid__cell--pending",is!==void 0&&"crewlet-sheet-grid__cell--refused",Oi&&"crewlet-sheet-grid__cell--editing",R0&&"crewlet-sheet-grid__cell--history",Ln&&"crewlet-presence-ring",Ln&&bl(Ln.hue),Ln&&(Ln.idle?"crewlet-presence-ring--idle":null)),style:Y.frozen?{insetInlineStart:`${tr[Re]}px`}:void 0,onMouseDown:ga=>T0(ga,{rowId:y.id,field:Y.field}),onFocus:ga=>{ga.target===ga.currentTarget&&v0({rowId:y.id,field:Y.field})},onMouseEnter:()=>oy({rowId:y.id,field:Y.field}),onDoubleClick:()=>{Y.type!=="checkbox"&&as({rowId:y.id,field:Y.field})},onClick:ga=>{Y.type==="checkbox"&&ga.target.closest(".crewlet-sheet-cell__check")&&Mu({rowId:y.id,field:Y.field})},children:[(0,T.jsx)("span",{className:"crewlet-sheet-grid__value",children:(0,T.jsx)(Zp,{column:Y,value:k0,context:se,onOpenLink:u})}),is!==void 0?(0,T.jsx)("span",{className:"crewlet-sheet-grid__refused","aria-hidden":"true",children:(0,T.jsx)(ui,{size:"xs"})}):null,Ni?(0,T.jsx)(zb,{by:Ni.by,at:Ni.at,previous:lu(Ni)&&Ma(Y,Ut(Y,Ni.previous),se)||null,locale:z,labels:L}):null,os&&Ln?(0,T.jsx)(Ob,{name:sp(os),hue:Ln.hue,kind:Ln.kind,editing:os.some(ga=>ga.editing)}):null,Ai&&is!==void 0&&!Oi?(0,T.jsx)("span",{className:"crewlet-sheet-grid__message","aria-hidden":"true",children:is}):null,R0?(0,T.jsx)("button",{type:"button",tabIndex:-1,"aria-hidden":"true",className:"crewlet-sheet-grid__history",title:L.history,onMouseDown:ga=>ga.stopPropagation(),onClick:()=>o?.({rowId:y.id,field:Y.field}),children:(0,T.jsx)(yp,{size:"xs"})}):null,Oi?(0,T.jsx)(Bb,{column:Y,value:k0,context:se,seed:W.seed,label:`${Y.label}, ${iu(q,y,p,se)}`,side:hy(p),conflict:ls,onCommit:(ga,gy)=>b0(ga,gy),onCancel:()=>b0(void 0,null)}):null]},Y.field)})]},y.id)})})]}),Zt?(0,T.jsx)("div",{className:H("crewlet-sheet-grid__add-column",O0&&"crewlet-sheet-grid__add-column--floor"),style:{height:`${na}px`},children:(0,T.jsx)(Da,{content:L.addColumn,children:(0,T.jsx)(wl,{label:L.addColumn,icon:(0,T.jsx)(uu,{size:"xs"}),size:"sm",title:"",onClick:j})})}):null]}),ae?(0,T.jsx)("div",{ref:At,className:"crewlet-sheet-grid__measure","aria-hidden":"true",inert:!0,children:C.filter(p=>ae.has(p.field)).map(p=>(0,T.jsxs)("div",{"data-measure":p.field,children:[(0,T.jsxs)("div",{className:H("crewlet-sheet-grid__header",`crewlet-sheet-grid__header--${p.type}`),children:[(0,T.jsx)("span",{className:"crewlet-sheet-grid__header-label",children:p.label}),x?(0,T.jsx)("span",{className:"crewlet-sheet-grid__sort",children:(0,T.jsx)(su,{size:"xs"})}):null]}),(ae.get(p.field)??[]).map((y,D)=>(0,T.jsx)("div",{className:H("crewlet-sheet-grid__cell",`crewlet-sheet-grid__cell--${p.type}`),children:(0,T.jsx)("span",{className:"crewlet-sheet-grid__value",children:(0,T.jsx)(Zp,{column:p,value:y,context:se})})},D))]},p.field))}):null,(0,T.jsx)(Bt,{id:M0,children:cy}),(0,T.jsx)(Bt,{id:A0,children:[L.keyboardHelp,qt?L.rowActionsHelp:"",dt?L.columnSettingsHelp:""].filter(Boolean).join(" ")}),(0,T.jsx)(Bt,{children:(0,T.jsx)("span",{role:"status","aria-live":"polite",children:(0,T.jsx)("span",{children:c0.text},c0.n)})}),i||M?(0,T.jsxs)("div",{className:"crewlet-sheet-grid__foot",children:[i&&Je?(0,T.jsx)(Ua,{size:"small",variant:"ghost",onClick:i,leadingIcon:(0,T.jsx)(uu,{size:"sm"}),children:L.addRow}):null,M?(0,T.jsxs)("span",{className:H("crewlet-sheet-grid__sync",((M.failed??0)>0||!M.offline&&(M.refused??0)>0)&&"crewlet-sheet-grid__sync--failed"),children:[(0,T.jsx)("span",{children:L.sync(M)}),(M.failed??0)>0&&d?(0,T.jsx)(Ua,{size:"small",variant:"ghost",onClick:d,children:L.retry}):null,(M.failed??0)===0&&(M.refused??0)>0&&_?(0,T.jsx)(Ua,{size:"small",variant:"ghost",onClick:_,children:L.dismiss}):null]}):null]}):null]})}function yi(e){return!e.currentTarget.contains(e.target)}function Xp(e,t){return`${e}-r${t.row<0?"h":t.row}-c${t.col}`}function D_(e,t,a){let n=t.get(Aa(e.id,a));return n===void 0||e.refused?.[a]!==void 0?e:{...e,refused:{...e.refused,[a]:n}}}var e0="crewlet:ready";function t0(e=window){let t=e.crewlet;return t?Qo(t):new Promise(a=>{let n=()=>{let l=e.crewlet;l&&(e.removeEventListener(e0,n),a(Qo(l)))};e.addEventListener(e0,n)})}function Qo(e){return e.ready.then(()=>e)}function qb(){let e=crypto.getRandomValues(new Uint8Array(12));return Array.from(e,t=>t.toString(16).padStart(2,"0")).join("")}var Ya=K(Te(),1),Va={noData:"This sheet cannot load, because this version of the page was published without access to its data.",noColumns:e=>`The \u201C${e}\u201D collection has no columns yet.`,loadFailed:(e,t)=>t==="forbidden"?`You do not have access to the \u201C${e}\u201D collection.`:t==="not_found"?`This page has no collection named \u201C${e}\u201D.`:`The \u201C${e}\u201D collection could not be loaded. Reload the page to try again.`,inSheet:e=>e===1?"1 other person is in this sheet":`${e} other people are in this sheet`,stepOvertaken:e=>`Somebody changed this after you, so the ${e} was skipped.`,addRowFailed:e=>`Could not add a row. ${e}`,deleteRowTitle:"Delete this row?",deleteRowMessage:"The row is removed for everyone who can open this page.",deleteRowConfirm:"Delete row",deleteRowCancel:"Cancel"};function bu(e,t){console.warn(`[crewlet artifact-kit] ${e}`,t)}function a0(e){return e.verdict==="applied"||e.verdict==="pending"?null:Lo(e.verdict,e.reason,Fl)}function yu(e){let t=typeof e?.code=="string"?e.code:"",a=e instanceof Error?e.message:void 0;return Lo(t,a,Fl)}function Vb(e,t){let{capabilities:a}=e;return{settled:t,db:a.has("db"),presence:a.has("presence"),identity:a.has("identity")}}var L_=(e,t)=>e.settled===t.settled&&e.db===t.db&&e.presence===t.presence&&e.identity===t.identity;function U_(e){let[t,a]=(0,F.useState)(()=>Vb(e,!1));return(0,F.useEffect)(()=>{let n=!0,l=r=>{let i=Vb(e,r);a(o=>L_(o,i)?o:i)};return l(!1),e.ready.then(()=>{n&&l(!0)}),()=>{n=!1}},[e]),t}function Yb({runtime:e,collection:t,columns:a,sort:n,frozen:l,readOnly:r=!1,label:i,height:o}){let s=U_(e),c=s.db,f=s.presence,v=s.identity,u=(0,F.useMemo)(()=>e.data.collection(t),[e,t]),[m,b]=(0,F.useState)(null),[x,M]=(0,F.useState)(void 0),[d,h]=(0,F.useState)([]),[g,w]=(0,F.useState)(null),[_,k]=(0,F.useState)(n),[N,O]=(0,F.useState)(null),[j,z]=(0,F.useState)([]),[X,$]=(0,F.useState)([]),[Se,ve]=(0,F.useState)(!1),[oe,L]=(0,F.useState)(0),[Me,se]=(0,F.useState)({text:"",n:0}),[C,R]=(0,F.useState)(null),U=(0,F.useCallback)(G=>se(V=>({text:G,n:V.n+1})),[]),[,be]=(0,F.useState)(0),ze=(0,F.useRef)(new Map),ae=(0,F.useMemo)(()=>new np,[]);(0,F.useEffect)(()=>k(n),[n]),(0,F.useEffect)(()=>ae.subscribe(()=>be(G=>G+1)),[ae]),(0,F.useEffect)(()=>{if(!c)return;let G=!0;return e.data.schema().then(V=>{if(!G)return;let ue=V.find(Le=>Le.name===t)??null;M(ue?.title),a||b(_w(ue))}).catch(V=>{bu(`the schema of ${t} could not be read`,V),G&&!a&&b([])}),()=>{G=!1}},[e,a,c,t]),(0,F.useEffect)(()=>{if(c)return w(null),u.subscribe(G=>h(G.map(V=>({id:V.id,values:V.data}))),G=>w(Va.loadFailed(t,G.code)))},[u,c,t]),(0,F.useEffect)(()=>{if(!v)return;let G=!0;return e.identity.me().then(V=>{G&&O(V)}).catch(V=>bu("the reader could not be identified",V)),e.identity.people().then(V=>{G&&z(V.map(Nw))}).catch(V=>bu("the people a person cell offers could not be listed",V)),()=>{G=!1}},[e,v]);let lt=(0,F.useMemo)(()=>Mw(a??m??[],l),[a,m,l]);(0,F.useEffect)(()=>{if(f)return $(e.presence.roster().members),e.presence.subscribe(G=>$(G.members))},[e,f]),(0,F.useEffect)(()=>{if(e.connection)return ve(e.connection.state==="offline"),e.connection.subscribe(G=>ve(G==="offline"))},[e]);let I=(0,F.useMemo)(()=>{let G=zw(X,ze.current);return ze.current=G,G},[X]),Ce=N?.seat??null,At=(0,F.useMemo)(()=>Cw(X,t,Ce,I),[X,t,Ce,I]),vt=(0,F.useMemo)(()=>Rw(kw(X,t),Ce,I),[X,t,Ce,I]),Ze=(0,F.useCallback)(G=>{let V=G.map(ke=>ae.begin(ke.rowId,ke.field)),ue=ke=>{for(let Pe of V)Pe(ke===null?{ok:!0}:{ok:!1,message:ke})},Le=ke=>({[ke.field]:ke.value}),Vt;if(G.length===1){let[ke]=G;Vt=u.merge(ke.rowId,Le(ke))}else{let ke=e.data.batch();for(let Pe of G)ke.merge(t,Pe.rowId,Le(Pe));Vt=ke.commit()}Vt.then(ke=>ue(a0(ke)),ke=>ue(yu(ke)))},[t,ae,e,u]),q=(0,F.useCallback)(()=>{u.set(qb(),{}).then(G=>{let V=a0(G);L(ue=>V===null?0:ue+1),V!==null&&U(Va.addRowFailed(V))},G=>{L(V=>V+1),U(Va.addRowFailed(yu(G)))})},[u,U]),ee=(0,F.useCallback)(G=>{let V=lt[0],ue=V?ae.begin(G,V.field):()=>{};u.delete(G).then(Le=>{let Vt=a0(Le);if(ue(Vt===null?{ok:!0}:{ok:!1,message:Vt}),Vt===null)for(let ke of lt)ae.dismiss(G,ke.field)},Le=>ue({ok:!1,message:yu(Le)}))},[lt,ae,u]),Je=(0,F.useCallback)(G=>{e.data[G]().then(V=>{V===null||V.verdict==="applied"||V.verdict==="pending"||U(V.verdict==="conflict"?Va.stepOvertaken(G):Lo(V.verdict,V.reason,Fl))},V=>U(yu(V)))},[e,U]),qt=(0,F.useRef)({active:null,editing:null}),dt=(0,F.useCallback)(()=>{if(!f)return;let{active:G,editing:V}=qt.current,ue=V??G,Le=ue?{collection:t,doc:ue.rowId,field:ue.field}:{};e.presence.set({activity:V?"editing":"viewing",focus:Le})},[e,f,t]),Zt=(0,F.useCallback)(G=>{qt.current.active=G,dt()},[dt]),wt=(0,F.useCallback)(G=>{qt.current.editing=G,dt()},[dt]);if(!c)return s.settled?(0,Ya.jsx)(di,{variant:"warning",children:Va.noData}):null;if(g!==null)return(0,Ya.jsx)(di,{variant:"warning",children:g});if(lt.length===0&&(a!==null||m!==null))return(0,Ya.jsx)(di,{variant:"neutral",children:Va.noColumns(t)});let rt=r||N?.role==="viewer",S={...ae.sync(Se),failed:oe},ce=C===null?void 0:d.find(G=>G.id===C);return(0,Ya.jsxs)("div",{className:"crewlet-kit-sheet",children:[vt.length>0?(0,Ya.jsx)("div",{className:"crewlet-kit-sheet__presence",children:(0,Ya.jsx)(Ip,{members:vt,self:!1,size:"xs",label:Va.inSheet(vt.length)})}):null,(0,Ya.jsx)(Pp,{label:i??x??t,columns:lt,rows:ae.decorate(d),people:j,mode:rt?"read":"edit",onEdit:rt?void 0:Ze,onAddRow:rt?void 0:q,onDeleteRow:rt?void 0:R,onActiveCellChange:Zt,onEditingChange:wt,onOpenLink:G=>{e.openLink(G).catch(V=>bu("a link could not be opened",V))},onUndo:()=>Je("undo"),onRedo:()=>Je("redo"),presence:At,sort:_,onSortChange:k,sync:rt?void 0:S,onRetry:oe>0?q:void 0,onDismissRefused:()=>ae.dismissAll(),height:o,fit:"content"}),(0,Ya.jsx)(zp,{open:ce!==void 0,onClose:()=>R(null),onConfirm:()=>{ce&&ee(ce.id),R(null)},title:Va.deleteRowTitle,message:Va.deleteRowMessage,confirmLabel:Va.deleteRowConfirm,cancelLabel:Va.deleteRowCancel,destructive:!0}),Me.text?(0,Ya.jsx)(di,{variant:"warning",live:"polite",children:Me.text},Me.n):null]})}var Kb=K(Te(),1);function jb(e,t){let a=e.ownerDocument.createElement("div");a.className="crewlet-kit-sheet__root",e.append(a);let n=(0,Ib.createRoot)(a),l=t,r=null,i=!1,o=()=>{i||!r||n.render((0,Kb.jsx)(Yb,{runtime:r,collection:l.collection,columns:l.columns&&l.columns.length>0?l.columns:null,sort:l.sort??null,frozen:l.frozen,readOnly:l.readOnly,label:l.label,height:l.height}))},s=c=>{c.then(f=>{r=f,o()})};return s(t.runtime?Qo(t.runtime):t0(e.ownerDocument.defaultView??window)),{update(c){l=c,c.runtime&&c.runtime!==r&&s(Qo(c.runtime)),o()},unmount(){i=!0,n.unmount(),a.remove()}}}var Zo=class extends HTMLElement{static get observedAttributes(){return Tw}attributeChangedCallback(){this.closest("crewlet-sheet")?.dispatchEvent(new Event("crewlet-columnchange"))}toColumn(){return Ew(t=>this.getAttribute(t))}},B_=["collection","sort","frozen","readonly","label","height"],xu=class extends HTMLElement{constructor(){super(...arguments);fn(this,"mounted",null);fn(this,"observer",typeof MutationObserver=="function"?new MutationObserver(()=>this.refresh()):null);fn(this,"onColumnChange",()=>this.refresh())}static get observedAttributes(){return B_}connectedCallback(){this.addEventListener("crewlet-columnchange",this.onColumnChange),this.observer?.observe(this,{childList:!0}),this.refresh()}disconnectedCallback(){this.removeEventListener("crewlet-columnchange",this.onColumnChange),this.observer?.disconnect(),this.mounted?.unmount(),this.mounted=null}attributeChangedCallback(){this.isConnected&&this.refresh()}options(){let a=this.getAttribute("collection")?.trim();if(!a)return null;let n=[...this.children].filter(s=>s instanceof Zo).map(s=>s.toColumn()).filter(s=>s!==null),l=Number(this.getAttribute("frozen")),r=Number(this.getAttribute("height")),i={collection:a,columns:n,sort:Sw(this.getAttribute("sort")),readOnly:this.hasAttribute("readonly")};this.hasAttribute("frozen")&&Number.isInteger(l)&&l>=0&&(i.frozen=l),this.hasAttribute("height")&&Number.isFinite(r)&&r>0&&(i.height=r);let o=this.getAttribute("label")?.trim();return o&&(i.label=o),i}refresh(){let a=this.options();if(!a){this.mounted?.unmount(),this.mounted=null;return}this.mounted?this.mounted.update(a):this.mounted=jb(this,a)}};function n0(e=customElements){e.get("crewlet-column")||e.define("crewlet-column",Zo),e.get("crewlet-sheet")||e.define("crewlet-sheet",xu)}n0();export{Zo as CrewletColumnElement,xu as CrewletSheetElement,e0 as RUNTIME_READY_EVENT,n0 as defineElements,jb as mountSheet,t0 as whenRuntime};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crewlethq/artifact-kit",
3
- "version": "0.123.0",
3
+ "version": "0.124.0",
4
4
  "description": "The Crewlet design system as a framework-free browser bundle for artifact pages: the tokens, every theme, the fonts and the base stylesheet, an opt-in stylesheet for a page's plain HTML, the theme bootstrap, and the sheet as custom elements bound to the artifact runtime.",
5
5
  "license": "MIT AND OFL-1.1 AND ISC",
6
6
  "repository": {
@@ -35,9 +35,9 @@
35
35
  "clean": "rm -rf dist"
36
36
  },
37
37
  "devDependencies": {
38
- "@crewlethq/icons": "0.123.0",
39
- "@crewlethq/tokens": "0.123.0",
40
- "@crewlethq/ui": "0.123.0",
38
+ "@crewlethq/icons": "0.124.0",
39
+ "@crewlethq/tokens": "0.124.0",
40
+ "@crewlethq/ui": "0.124.0",
41
41
  "@types/react": "^19.0.0",
42
42
  "@types/react-dom": "^19.3.0",
43
43
  "esbuild": "^0.28.2",