From f70d54192a04e288f435ce9b60e7df8b100dea3b Mon Sep 17 00:00:00 2001 From: "Snow Lee (Sungwon)" Date: Tue, 11 Aug 2026 20:27:45 -0700 Subject: [PATCH] feat(web): a Beta pill beside the BearDrive wordmark (#154) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit BearDrive launches free with a beta label, so the hub says so next to its own name. Subtle honey pill at low alpha, not the solid accent: the accent is already spent on the mark two elements to its left, and this sits there until it doesn't. It keys on what the lockup actually SAYS (`brand === "BearDrive"`), not on whether `brand` was configured. A hub that set its own brand is labelling somebody else's product and "Acme Docs Beta" is a claim we have no business making for them — but the managed hub and every default self-host reach here with the string "BearDrive", and the obvious `!config.brand` test would have missed them: CLOUD_BRAND defaults to "BearDrive", so a BuiltinAuth hub sends the name rather than an empty field, and the pill would have shown only on the PropelAuth path. Claude-Session: https://claude.ai/code/session_019vWP4DbsWCeD6zWN5gaqsV Co-authored-by: Claude Opus 5 (1M context) --- internal/webapp/frontend/src/apps/HubApp.tsx | 19 +++++++++++++++++-- .../webapp/frontend/src/components/shell.tsx | 8 +++++++- internal/webapp/frontend/src/style.css | 13 +++++++++++++ .../webapp/static/assets/index-Bhy4rJG7.css | 1 - .../{index-o0X8ZIDt.js => index-Cg3Ijtd_.js} | 4 ++-- .../webapp/static/assets/index-aFlVpSeL.css | 1 + internal/webapp/static/index.html | 4 ++-- 7 files changed, 42 insertions(+), 8 deletions(-) delete mode 100644 internal/webapp/static/assets/index-Bhy4rJG7.css rename internal/webapp/static/assets/{index-o0X8ZIDt.js => index-Cg3Ijtd_.js} (92%) create mode 100644 internal/webapp/static/assets/index-aFlVpSeL.css diff --git a/internal/webapp/frontend/src/apps/HubApp.tsx b/internal/webapp/frontend/src/apps/HubApp.tsx index 3e43955..2ecfb06 100644 --- a/internal/webapp/frontend/src/apps/HubApp.tsx +++ b/internal/webapp/frontend/src/apps/HubApp.tsx @@ -122,7 +122,22 @@ export default function HubApp({ config }: { config: ServerConfig }) { // Top of the sidebar is the brand; project and account actions live in // their own sections below (PropelAuth-style layout). - const vault = navigate("/")} search={!!current} />; + // The Beta pill labels the BEARDRIVE wordmark, so it keys on what the + // lockup actually says rather than on whether `brand` was configured. A hub + // that set its own brand is labelling somebody else's product, and "Acme + // Docs Beta" is a claim we have no business making for them — but the + // managed hub and every default self-host DO reach here with "BearDrive", + // and a `!config.brand` test would have missed the ones that set it + // explicitly (CLOUD_BRAND defaults to "BearDrive", so BuiltinAuth hubs send + // the string rather than an empty field). + const vault = ( + navigate("/")} + search={!!current} + beta={brand === "BearDrive"} + /> + ); const accountBar = config.me ? ( } topbar={}> + } topbar={}>
Joining…
diff --git a/internal/webapp/frontend/src/components/shell.tsx b/internal/webapp/frontend/src/components/shell.tsx index 2123eb1..28df428 100644 --- a/internal/webapp/frontend/src/components/shell.tsx +++ b/internal/webapp/frontend/src/components/shell.tsx @@ -309,8 +309,13 @@ export function VaultHeader(props: { onHome?: () => void; // hub: the project name doubles as a home link showSignout?: boolean; // volume mode: sign-out stays in the header (no account bar) search?: boolean; // icon-only ⌘K search trigger beside the brand + /* BearDrive is pre-1.0 and says so next to its own wordmark. Callers pass + this only when the lockup IS the BearDrive brand — a hub that set its own + `brand` is labelling somebody else's product, and "Acme Docs Beta" is a + claim we have no business making for them. */ + beta?: boolean; }) { - const { name, onHome, showSignout, search } = props; + const { name, onHome, showSignout, search, beta } = props; return (
@@ -331,6 +336,7 @@ export function VaultHeader(props: { > {name} + {beta && Beta}
{search && ( diff --git a/internal/webapp/frontend/src/style.css b/internal/webapp/frontend/src/style.css index 1a6a543..f28e350 100644 --- a/internal/webapp/frontend/src/style.css +++ b/internal/webapp/frontend/src/style.css @@ -128,6 +128,19 @@ button, input, a.btn { font-family: inherit; } letter-spacing: .01em; line-height: 1; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } +/* Beta pill. Subtle on purpose: it sits beside the wordmark forever until it + doesn't, so it reads as a footnote to the brand, not a second logo. Honey + at low alpha rather than the solid accent — the accent is spent on the mark + two elements to the left. */ +#vault-beta { + flex: none; + font-size: 10px; font-weight: 600; line-height: 1; + letter-spacing: .06em; text-transform: uppercase; + color: var(--accent-bright); + background: color-mix(in srgb, var(--accent) 13%, transparent); + border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent); + border-radius: 999px; padding: 3px 6px; +} .vault-actions { display: flex; align-items: center; gap: 4px; } #vault #signout, .icon-btn2 { width: 28px; height: 28px; border-radius: 6px; diff --git a/internal/webapp/static/assets/index-Bhy4rJG7.css b/internal/webapp/static/assets/index-Bhy4rJG7.css deleted file mode 100644 index e581424..0000000 --- a/internal/webapp/static/assets/index-Bhy4rJG7.css +++ /dev/null @@ -1 +0,0 @@ -@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--tracking-widest:.1em;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--color-background:#0a0b0d;--color-foreground:#eef0f3;--color-card:#15171b;--color-card-foreground:#eef0f3;--color-popover:#15171b;--color-popover-foreground:#eef0f3;--color-primary:#f5a623;--color-primary-foreground:#1a1204;--color-secondary:#ffffff08;--color-secondary-foreground:#eef0f3;--color-muted:#ffffff0f;--color-muted-foreground:#9aa0a9;--color-accent:#ffffff0f;--color-accent-foreground:#eef0f3;--color-destructive:#f26d6d;--color-border:#ffffff12;--color-input:#ffffff1c;--color-ring:#f5a623;--radius-ctl:7px}}@layer base,components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.top-4{top:calc(var(--spacing) * 4)}.top-20{top:calc(var(--spacing) * 20)}.top-\[50\%\]{top:50%}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.left-2{left:calc(var(--spacing) * 2)}.left-\[50\%\]{left:50%}.isolate{isolation:isolate}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-auto{margin-inline:auto}.my-1{margin-block:var(--spacing)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.field-sizing-content{field-sizing:content}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-\[300px\]{max-height:300px}.min-h-16{min-height:calc(var(--spacing) * 16)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-lg{max-width:var(--container-lg)}.min-w-0{min-width:0}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.resize{resize:both}.scroll-my-1{scroll-margin-block:var(--spacing)}.scroll-py-1{scroll-padding-block:var(--spacing)}.auto-rows-min{grid-auto-rows:min-content}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-input{border-color:var(--color-input)}.bg-background{background-color:var(--color-background)}.bg-black\/5{background-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.bg-black\/5{background-color:color-mix(in oklab,var(--color-black) 5%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-border{background-color:var(--color-border)}.bg-card{background-color:var(--color-card)}.bg-destructive{background-color:var(--color-destructive)}.bg-foreground{background-color:var(--color-foreground)}.bg-muted\/50{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.bg-popover{background-color:var(--color-popover)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.bg-transparent{background-color:#0000}.fill-current{fill:currentColor}.fill-foreground{fill:var(--color-foreground)}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.text-background{color:var(--color-background)}.text-card-foreground{color:var(--color-card-foreground)}.text-destructive{color:var(--color-destructive)}.text-foreground{color:var(--color-foreground)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-popover-foreground{color:var(--color-popover-foreground)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:var(--color-background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,border-color\,color\]{transition-property:background-color,border-color,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.running{animation-play-state:running}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.selection\:bg-primary ::selection{background-color:var(--color-primary)}.selection\:bg-primary::selection{background-color:var(--color-primary)}.selection\:text-primary-foreground ::selection{color:var(--color-primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--color-primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--color-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-destructive\/90:hover{background-color:#f26d6de6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--color-destructive) 90%,transparent)}}.hover\:bg-muted\/50:hover{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.hover\:bg-primary\/90:hover{background-color:#f5a623e6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--color-primary) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:#ffffff06}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--color-secondary) 80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--color-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-accent:focus{background-color:var(--color-accent)}.focus\:text-accent-foreground:focus{color:var(--color-accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--color-ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:border-ring:focus-visible{border-color:var(--color-ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:#f26d6d33}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:#f5a62380}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-ring) 50%, transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--color-destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:#f26d6d33}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 20%, transparent)}}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[error\=true\]\:text-destructive[data-error=true]{color:var(--color-destructive)}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing) * 8)}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--color-muted-foreground)}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--color-accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--color-accent-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing) * 9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing) * 8)}:is(.\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--spacing) * 12)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing) * 2)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--color-accent)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--color-accent-foreground)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--color-muted-foreground)}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--color-muted)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--color-destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:#f26d6d1a}@supports (color:color-mix(in lab,red,red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--color-destructive) 10%,transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--color-destructive)}@media(min-width:40rem){.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}}@media(min-width:48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media(prefers-color-scheme:dark){.dark\:border-input{border-color:var(--color-input)}.dark\:bg-destructive\/60{background-color:#f26d6d99}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60{background-color:color-mix(in oklab,var(--color-destructive) 60%,transparent)}}.dark\:bg-input\/30{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30{background-color:color-mix(in oklab,var(--color-input) 30%,transparent)}}.dark\:bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.dark\:bg-white\/10{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}@media(hover:hover){.dark\:hover\:bg-accent\/50:hover{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,var(--color-accent) 50%,transparent)}}.dark\:hover\:bg-input\/50:hover{background-color:#ffffff0e}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:hover{background-color:color-mix(in oklab,var(--color-input) 50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:#f26d6d66}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:#f26d6d66}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 40%, transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:#f26d6d33}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--color-destructive) 20%,transparent)}}}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing) * 1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--color-muted-foreground)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing) * 12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing) * 3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing) * 5)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--color-muted-foreground)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing) * 6)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive\![data-variant=destructive]>*):is(svg){color:var(--color-destructive)!important}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}:root{color-scheme:dark;--bg: #0a0b0d;--bg-side: #0c0e10;--bg-raise: #15171b;--surface: rgba(255,255,255,.03);--hover: rgba(255,255,255,.06);--border: rgba(255,255,255,.07);--border-2: rgba(255,255,255,.11);--code-bg: #0d0f12;--text: #eef0f3;--text-dim: #9aa0a9;--text-faint: #868b93;--text-ghost: #666b74;--accent: #f5a623;--accent-bright: #ffcf85;--accent-dim: #d3861a;--accent-press: #e0951a;--glow: rgba(245,166,35,.13);--add: #4cc38a;--del: #f26d6d;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--ui: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI", Roboto, sans-serif;--r-ctl: 7px;--r-card: 10px;--r-over: 14px;--page-read: 768px;--page-app: 768px;--page-wide: 1200px;--hero-top: clamp(32px, 8vh, 88px)}@font-face{font-family:"Jersey 10";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jersey-10-COnnvJff.woff2) format("woff2")}@font-face{font-family:Logo Fallback;src:local("Helvetica Neue"),local("Arial"),local("Segoe UI"),local("Roboto");size-adjust:73%}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0}#root{display:contents}body{display:flex;background:var(--bg);color:var(--text);font:13px/1.5 var(--ui);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--glow);color:var(--accent-bright)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:5px}:focus-visible{outline-color:var(--accent)}.admin input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input[type=checkbox]{accent-color:var(--accent);width:20px;height:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.sprite{position:absolute}.ico{width:16px;height:16px;flex:none;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}button,input,a.btn{font-family:inherit}#sidebar{width:264px;min-width:210px;background:var(--bg-side);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}#vault{display:flex;align-items:center;gap:9px;height:52px;padding:0 12px 0 14px;border-bottom:1px solid var(--border);position:relative;z-index:45}#vault-badge{flex:none;display:grid;place-items:center;color:var(--accent)}#vault-name{font-family:"Jersey 10","Logo Fallback",var(--ui);font-size:18px;font-weight:400;font-synthesis:none;letter-spacing:.01em;line-height:1;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vault-actions{display:flex;align-items:center;gap:4px}#vault #signout,.icon-btn2{width:28px;height:28px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-ghost);background:transparent;border:none;cursor:pointer;text-decoration:none}#vault #signout:hover,.icon-btn2:hover{color:var(--text);background:var(--hover)}#vault #signout .ico,.icon-btn2 .ico{width:16px;height:16px}#projects{flex:none;max-height:32%;overflow-y:auto;padding:10px 8px 8px;border-bottom:1px solid var(--border)}.nav-head{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint)}.nav-add{display:grid;place-items:center;width:18px;height:18px;border:none;background:transparent;color:var(--text-ghost);cursor:pointer;border-radius:5px}.nav-add .ico{width:14px;height:14px}.nav-add:hover{color:var(--text);background:var(--hover)}#projects ul{list-style:none;margin:0;padding:0}#projects .row{display:flex;align-items:center;gap:9px;height:31px;padding:0 8px;border-radius:7px;color:var(--text-dim);cursor:pointer;position:relative;white-space:nowrap;overflow:hidden}.proj-mark{width:17px;height:17px;border-radius:5px;flex:none;display:grid;place-items:center;font-size:10px;font-weight:700;color:#0a0b0d;letter-spacing:-.02em;text-transform:uppercase}.proj-mark svg{width:11px;height:11px}.proj-menu [data-slot=select-item]{display:flex;align-items:center;gap:8px}#projects .row .label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}#projects .row:hover{background:var(--hover);color:var(--text)}#projects .row.active{background:var(--glow);color:var(--accent-bright)}#projects .row.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;border-radius:2px;background:var(--accent)}#tree{flex:1;overflow-y:auto;padding:8px 8px 24px}.tguide{position:absolute;top:0;bottom:0;width:1px;background:var(--border);pointer-events:none}#tree .row{display:flex;align-items:center;gap:6px;height:28px;padding:0 8px;border-radius:7px;color:var(--text-dim);cursor:pointer;position:relative;white-space:nowrap;overflow:hidden}#tree .row:hover{background:var(--hover);color:var(--text)}#tree .row.active{background:var(--glow);color:var(--accent-bright)}#tree .row.active:before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:2px;border-radius:2px;background:var(--accent)}#tree .chev{width:14px;height:14px;flex:none;color:var(--text-ghost);transition:transform .12s;display:flex;align-items:center;justify-content:center}#tree .chev .ico{width:13px;height:13px}#tree .ticon{flex:none;display:flex;color:var(--text-ghost)}#tree .ticon .ico{width:15px;height:15px}#tree .row:hover .ticon,#tree .row:hover .chev{color:var(--text-faint)}#tree .row.active .ticon,#tree .row.active .chev{color:var(--accent)}#tree .label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}#tree .file .label{font-size:12.5px}#tree .file .chev{visibility:hidden}#tree .row.collapsed .chev{transform:rotate(-90deg)}.field-err{color:var(--del);font-size:12px;margin:6px 2px 0}.modal,#palette{translate:none}.admin-card-table{padding:0}.admin-table{width:100%;border-collapse:collapse;table-layout:fixed}.admin-table td .ai-main,.admin-table td a.ai-main,.admin-table td .ai-copy,.admin-table td .ai-tag{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-table th:last-child,.admin-table td:last-child{width:186px;text-align:right}.admin-table tr:last-child td{border-bottom:none}.admin-table th{text-align:left;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint);padding:0;border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none}.admin-table td{padding:0;border-bottom:1px solid var(--border);overflow:hidden;text-overflow:ellipsis}.admin-table tr.admin-item{display:table-row}.admin-table tr.admin-item td{padding:8px 10px}.admin-card-table{overflow-x:auto}.shares-table .admin-table th:last-child,.shares-table .admin-table td:last-child{width:110px}.shares-table .admin-table td .ai-tag{white-space:normal;overflow:visible;text-overflow:clip}.share-banner{margin:0 0 18px;padding:12px 14px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--r-ctl);background:var(--surface)}.share-banner .sb-head{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}.share-banner .sb-head .ico,.share-banner .sb-head svg{width:15px;height:15px;flex:none;color:var(--accent)}.share-banner .sb-count{color:var(--text-faint);font-size:12px}.share-banner .sb-note{margin:6px 0 10px;font-size:12.5px;line-height:1.55;color:var(--text-faint);max-width:64ch}.share-banner .sb-link{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--border)}.share-banner .sb-link+.sb-link{margin-top:8px}.share-banner .sb-url{flex:1 1 260px;min-width:0;font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-banner .sb-meta{font-size:11.5px;color:var(--text-faint)}.share-banner .sb-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.nav-menu{list-style:none;margin:6px 0 0;padding:0}.nav-menu .row .ico{width:15px;height:15px;flex:none;color:var(--text-ghost)}.nav-menu .row.active .ico{color:var(--accent-bright)}.proj-row{display:flex;align-items:center;gap:4px;padding:0 10px 4px 12px}#project-select{flex:1;min-width:0;height:30px;padding:0 9px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:var(--r-ctl);background:var(--surface);color:var(--text);font:inherit;font-size:12.5px;font-weight:500;cursor:pointer;white-space:nowrap;outline:none}#project-select>span:last-of-type{overflow:hidden;text-overflow:ellipsis}#project-select:hover{background:var(--hover);border-color:var(--border-2)}#project-select svg{color:var(--text-ghost)}.proj-menu{z-index:80;min-width:var(--radix-select-trigger-width, 200px);border:1px solid var(--border-2);border-radius:9px;padding:4px;background:var(--bg-raise);box-shadow:0 10px 32px #00000059}.proj-menu [role=option]{font-size:12.5px;color:var(--text-dim);border-radius:6px;outline:none}.proj-menu [role=option][data-highlighted]{background:var(--hover);color:var(--text)}#accountbar{position:relative;border-top:1px solid var(--border);padding:7px 10px}.gh-star{display:flex;align-items:center;gap:8px;padding:4px 8px;margin-bottom:2px;border-radius:7px;color:var(--text-faint);font-size:11px;text-decoration:none}.gh-star:hover{background:var(--hover);color:var(--text)}.gh-star .gh-mark{width:12px;height:12px;flex:none}.gh-star .ext{margin-left:auto;font-size:9px}#account-btn{width:100%;display:flex;align-items:center;gap:9px;text-align:left;padding:6px 8px;border:none;border-radius:7px;background:transparent;color:var(--text-dim);cursor:pointer;font:inherit}#account-btn:hover{background:var(--hover);color:var(--text)}#account-btn .avatar{width:26px;height:26px;flex:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700}#account-btn .acct{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}#account-btn .acct b{font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#account-btn .acct small{font-size:11px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#account-btn>.ico{width:14px;height:14px;color:var(--text-ghost)}#account-menu{min-width:var(--radix-dropdown-menu-trigger-width, 220px);padding:5px;border:1px solid var(--border-2);border-radius:9px;background:var(--bg-raise);box-shadow:0 10px 32px #00000059;display:flex;flex-direction:column;z-index:80;outline:none}#account-menu [role=menuitem]{outline:none}#account-menu [role=menuitem][data-highlighted]{background:var(--hover);color:var(--text)}#account-menu .menu-sec{padding:7px 9px 3px;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint)}#account-menu [role=menuitem]{display:flex;align-items:center;gap:8px;padding:7px 9px;border:none;border-radius:6px;background:transparent;text-align:left;color:var(--text-dim);font:inherit;font-size:12.5px;cursor:pointer;text-decoration:none}#account-menu [role=menuitem]:hover{background:var(--hover);color:var(--text)}#account-menu [role=menuitem] b{font-weight:600}#account-menu [role=menuitem] .ico{width:15px;height:15px}#account-menu .plan-chip{margin-left:auto;color:var(--accent);border-color:var(--border-2)}#account-menu #signout{color:var(--del)}#account-menu #signout:hover{color:var(--del);background:var(--hover)}#billing-view .plan-chip{color:var(--accent)}.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:700px){.plan-grid{grid-template-columns:1fr}}.usage-bar{background:var(--surface);border:1px solid var(--border);border-radius:4px;height:6px;overflow:hidden}.usage-bar>div{background:var(--accent);height:100%}.plan-price{font-size:20px;font-weight:700;margin:0 0 10px}.plan-price small{font-size:12px;color:var(--text-dim);font-weight:500}.muted-note{color:var(--text-dim);font-size:13px}#main{flex:1;display:flex;flex-direction:column;min-width:0}#topbar{position:relative;display:flex;align-items:center;gap:9px;height:52px;padding:0 16px;border-bottom:1px solid var(--border)}.icon-btn{display:none;width:34px;height:34px;border:none;background:transparent;color:var(--text-dim);cursor:pointer;border-radius:7px;align-items:center;justify-content:center}.icon-btn:hover{color:var(--text);background:var(--hover)}#crumb{font-size:12.5px;color:var(--text);font-weight:500;letter-spacing:-.01em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#crumb .crumb-seg{color:var(--text-dim);cursor:pointer}#crumb .crumb-seg:hover{color:var(--accent-bright)}#crumb .crumb-sep{color:var(--text-ghost);margin:0 5px}#meta{flex:1;min-width:0;font-size:12px;color:var(--text-faint);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn{display:inline-flex;align-items:center;gap:6px;flex:none;height:30px;padding:0 11px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:12.5px;font-weight:500;cursor:pointer;text-decoration:none}.btn:hover{background:var(--hover);color:var(--text);border-color:var(--border-2)}.btn .ico{width:15px;height:15px}.btn.ghost{color:var(--text-dim)}.tipcard{display:flex;align-items:center;gap:7px;white-space:nowrap;padding:6px 9px;border-radius:8px;border:1px solid var(--border-2);background:var(--surface-solid, var(--bg-raise));color:var(--text);font-size:12.5px;font-weight:500;box-shadow:0 8px 24px #00000059;z-index:80}.tipcard kbd{font:11px var(--ui);color:var(--text-faint);background:var(--hover);border:1px solid var(--border-2);border-radius:5px;padding:1px 5px}#more-menu{position:absolute;right:12px;top:calc(100% - 4px);z-index:80;background:var(--bg-raise);border:1px solid var(--border-2);border-radius:var(--r-card);box-shadow:0 18px 44px -14px #000000bf;padding:6px;min-width:168px}.more-item{display:block;width:100%;text-align:left;min-height:40px;padding:0 12px;background:transparent;border:none;cursor:pointer;color:var(--text);font:inherit;font-size:13.5px;border-radius:var(--r-ctl)}.more-item:hover{background:var(--hover)}#content{flex:1;overflow-y:auto;padding:44px 40px 110px;scroll-behavior:smooth;scrollbar-gutter:stable}@media(pointer:fine){#content::-webkit-scrollbar{width:10px}#content::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:5px}#content::-webkit-scrollbar-track{background:transparent}@supports not selector(::-webkit-scrollbar){#content{scrollbar-width:thin;scrollbar-color:var(--border-2) transparent}}}.page{width:100%;max-width:var(--page-app);margin-inline:auto;min-width:0}.page.read{max-width:var(--page-read)}.page.wide{max-width:var(--page-wide)}.empty{color:var(--text-faint);text-align:center;margin-top:var(--hero-top)}.empty-hint{display:block;margin-top:6px;font-size:12px;color:var(--text-faint)}.onboard{max-width:560px;margin:var(--hero-top) auto 0}.onboard h1{font-size:25px;font-weight:640;letter-spacing:-.02em;margin:0 0 8px;color:#f4f6f9}.onboard>p{color:var(--text-dim);margin:0 0 28px;font-size:14px}.ob-card{background:var(--bg-side);border:1px solid var(--border);border-radius:var(--r-card);padding:20px 22px;margin-bottom:14px}.ob-card h3{margin:0 0 6px;font-size:14.5px;font-weight:600}.ob-card p{margin:0 0 14px;font-size:13px;color:var(--text-dim)}.ob-card.ob-start{border-color:var(--border-2);box-shadow:inset 2px 0 0 var(--accent)}.ob-card.ob-start .pbtn{margin-top:2px}.ob-alt{margin:12px 0 0}.ob-alt a{color:var(--text-faint);font-size:12.5px;font-weight:600;text-decoration:none}.ob-alt a:hover{color:var(--text)}.pbtn{display:inline-flex;align-items:center;gap:6px;flex:none;height:32px;padding:0 14px;border-radius:var(--r-ctl);border:none;background:var(--accent);color:#241704;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;text-decoration:none}.pbtn:hover{background:var(--accent-bright)}.pbtn .ico{width:15px;height:15px}.danger-btn{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:var(--r-ctl);border:none;background:#b3382e;color:#fff;font-size:13px;font-weight:600;cursor:pointer}.danger-btn:hover{background:#c94336}[data-slot=input],[data-slot=textarea]{font:inherit;color:var(--text)}[data-slot=input][aria-invalid=true]:focus-visible,[data-slot=textarea][aria-invalid=true]:focus-visible{border-color:var(--del)}[data-slot=card],[data-slot=dropdown-menu-content]{border-color:var(--border)}.project-settings{display:flex;flex-direction:column;gap:14px}.project-settings>h2{font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 4px;color:#f4f6f9}.ps-form{display:flex;flex-direction:column;gap:18px}.ps-field{display:flex;flex-direction:column;gap:7px}.ps-field label{font-size:12.5px;color:var(--text-dim)}.ps-opt{color:var(--text-ghost);font-weight:400}.ps-icon-row{display:flex;align-items:center;gap:10px}.ps-icon-row .proj-mark{width:26px;height:26px;border-radius:7px}.ps-icon-row .proj-mark svg{width:15px;height:15px}.ps-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.ps-meta .field-err{flex:0 1 auto;margin:0}.ps-count{font-size:11.5px;color:var(--text-faint);font-variant-numeric:tabular-nums}.ps-actions{display:flex;justify-content:flex-end}.ps-icon-grid{display:grid;grid-template-columns:repeat(6,30px);gap:4px;padding:8px}.ps-icon-cell{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;border:1px solid transparent;background:none;color:var(--text-dim);cursor:pointer}.ps-icon-cell svg{width:16px;height:16px}.ps-icon-cell:hover{background:var(--hover);color:var(--text)}.ps-icon-cell.active{border-color:var(--accent);color:var(--accent-bright)}.ps-danger [data-slot=card-title]{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:#d2695e;font-weight:600}.ps-chip{margin-left:10px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-faint);font-size:11px;font-weight:600;letter-spacing:.02em;vertical-align:middle}.ps-people h4{font-size:12.5px;font-weight:600;color:var(--text-dim);margin:0}.ps-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--text-dim);margin:0 0 10px}.ps-people select{height:28px;padding:0 8px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:12.5px}.ps-people select:disabled{opacity:.6;cursor:default}.ps-note{color:var(--text-faint);font-size:12.5px;margin:0 0 12px;max-width:56ch;line-height:1.55}.ps-people-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 8px}.ps-danger p{color:var(--text-dim);font-size:13px;margin:0 0 14px;max-width:52ch;line-height:1.55}.ps-facts{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;margin:0;font-size:13px}.ps-facts dt{color:var(--text-faint)}.ps-facts dd{margin:0;color:var(--text-dim)}.admin h1{font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 6px;color:#f4f6f9}.admin h3{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);font-weight:600;margin:30px 0 10px}.admin-lbl{flex:1 1 100%;margin:0 0 6px;font-size:12.5px;font-weight:600;color:var(--text-dim)}.admin-sub{color:var(--text-dim);font-size:13.5px;margin:-2px 0 16px;line-height:1.55}.admin-h{display:flex;align-items:center;justify-content:space-between;margin:30px 0 10px}.admin-h h3{margin:0}.admin-row{display:flex;gap:9px;margin-bottom:8px}.admin-row input{flex:1;height:34px;padding:0 12px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:13px;outline:none}.admin-row input:focus{border-color:var(--accent);background:var(--hover)}.admin-list{border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden;background:var(--bg-side)}.admin-list.admin-card-table{overflow-x:auto;overflow-y:hidden}.admin-item{display:flex;align-items:center;gap:11px;padding:11px 14px;border-bottom:1px solid var(--border);font-size:13.5px}.modal-actions .ai-btn{height:32px}.empty a{color:var(--accent);text-decoration:none;display:inline-block;padding:6px 10px}.empty a:hover{text-decoration:underline}.empty h3{margin:0 0 8px;font-size:16px;color:var(--text)}.ai-copy{text-align:left;background:none;border:0;padding:6px 0;cursor:pointer}.ai-copy:hover{color:var(--text)}a.ai-main{color:var(--text-dim);text-decoration:none;padding:6px 0}a.ai-main:hover{color:var(--accent)}.th-sort{display:block;width:100%;text-align:left;background:none;border:0;padding:6px 10px;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.th-sort:hover{color:var(--text-dim)}.proj-trigger>[data-slot=select-value]{display:block;flex:1 1 auto;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-cell{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;justify-items:start}.admin-table td .role-static{text-align:left}.role-chip-row{margin:-6px 0 12px}.role-chip{margin-left:0;padding:2px 8px;border:1px solid var(--border-2);border-radius:99px;vertical-align:middle}.ext{margin-left:4px;color:var(--text-faint);font-size:11px}.admin-item:last-child{border-bottom:none}.admin-item:hover{background:var(--hover)}.field-err{flex:1 1 100%;margin:6px 0 0}.admin-row{flex-wrap:wrap}.admin-row input[aria-invalid=true]{border-color:var(--del)}.ai-main{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.admin-item>.ai-main{flex:1 1 55%;min-width:22ch}.admin-item>.ai-tag{flex:0 0 auto;min-width:0;max-width:45%}@media(max-width:1000px){.admin-item{flex-wrap:wrap}.admin-item>.ai-tag{flex:1 1 100%;max-width:100%}}.admin-table td .ai-main{min-width:0}.ai-main.mono{font:12px var(--mono);color:var(--text-dim);cursor:pointer}.ai-tag{font-size:11.5px;color:var(--text-faint);flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-item select{height:28px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:0 8px;font:inherit;font-size:12.5px;cursor:pointer}.admin-item select:hover{border-color:var(--border-2)}.ai-btn,.ai-del{flex:none;height:27px;padding:0 11px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font:inherit;font-size:12px;font-weight:500;cursor:pointer}.ai-del{color:var(--del);border-color:#f26d6d47}.ai-del:hover{background:#f26d6d1f;border-color:var(--del);color:#ff8b8b}.ai-btn:hover{background:var(--hover);color:var(--text);border-color:var(--border-2)}.admin-empty{padding:14px;color:var(--text-faint);font-size:13px}.admin-item.toggle{cursor:pointer;align-items:flex-start}.admin-item.toggle .ai-main{white-space:normal}.tg-label{font-size:13.5px;font-weight:550;color:var(--text)}.tg-desc{font-size:12px;color:var(--text-faint);margin-top:3px;line-height:1.5}.admin-item.toggle input{margin-top:2px;flex:none}.dl-title{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 4px;color:#f4f6f9}.dl-title-icon{display:flex;color:var(--accent)}.dl-title-icon .ico{width:20px;height:20px}.dl-sub{color:var(--text-faint);font-size:12.5px;margin:0 0 18px}.dl-items{border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden;background:var(--bg-side)}.dl-row{display:flex;align-items:center;gap:11px;padding:10px 14px;border-bottom:1px solid var(--border);cursor:pointer}.dl-row:last-child{border-bottom:none}.dl-row:hover{background:var(--hover)}.dl-row .ticon{flex:none;display:flex;color:var(--text-ghost)}.dl-row .ticon .ico{width:16px;height:16px}.dl-row:hover .ticon{color:var(--text-faint)}.dl-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;color:var(--text)}.dl-name,#crumb,.hpath,.hnote,.hrun-note,.hdev,.ai-main{unicode-bidi:isolate-override;direction:ltr}.dl-meta{flex:none;font-size:12px;color:var(--text-faint);font-variant-numeric:tabular-nums}.heatdot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--accent)}.heatdot.lvl1{opacity:.3}.heatdot.lvl2{opacity:.55}.heatdot.lvl3{opacity:.8}.heatdot.lvl4{opacity:1;box-shadow:0 0 6px #f5a6238c}.dl-empty{padding:24px 14px;color:var(--text-faint);font-size:13px;border:1px dashed var(--border);border-radius:var(--r-card);text-align:center}.dl-h3{margin:28px 0 8px;font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);font-weight:600}.dl-hlist{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);overflow:hidden;max-width:none}.dl-hlist .hentry:last-child{border-bottom:none}.hentry.clickable{cursor:pointer}.hentry.clickable:hover{background:var(--hover)}.dl-more{margin-top:10px}#vault-name.vault-link{cursor:pointer}#vault-name.vault-link:hover{color:var(--accent-bright)}#account-btn.active{background:var(--glow)}#account-btn.active .acct b{color:var(--accent-bright)}.gd-body{margin-top:18px}.gd-desc{margin:2px 0 8px;color:var(--text-faint);font-size:13px;line-height:1.5}.gd-list{margin:4px 0 8px;padding-left:18px;display:grid;gap:6px}.gd-code{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;margin:6px 0 10px;padding:10px 12px;background:var(--bg-raise);border:1px solid var(--border);border-radius:var(--r-card);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.6;color:var(--text)}.gd-code>code{display:block;min-width:0;overflow-x:auto;white-space:pre}.gd-copy{align-self:start;font:inherit;font-family:inherit;font-size:11px;font-weight:600;padding:3px 9px;border-radius:6px;border:1px solid var(--border-2);background:var(--bg-raise);color:var(--text-faint);cursor:pointer}.gd-copy:hover{color:var(--accent-bright);border-color:var(--accent-dim)}.gd-manual{margin:10px 0 0}.gd-manual>summary{display:inline-block;font-size:12.5px;font-weight:600;color:var(--text-faint);cursor:pointer;padding:4px 0}.gd-manual>summary:before{content:"▸ ";color:var(--text-ghost)}.gd-manual[open]>summary:before{content:"▾ "}.gd-manual>summary:hover{color:var(--text)}.home-insights{margin-top:30px;padding-top:22px;border-top:1px solid var(--border)}.in-title{font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 4px;color:#f4f6f9}.in-title .in-scope{color:var(--text-ghost);font-weight:500;font-size:15px}.gd-head{display:flex;align-items:center;gap:9px}.gd-head .proj-mark{width:22px;height:22px;border-radius:6px}.gd-head .proj-mark svg{width:13px;height:13px}.in-desc{color:var(--text-dim);font-size:13.5px;line-height:1.55;margin:0 0 10px;max-width:62ch}.in-blank{display:grid;justify-items:center;gap:10px;padding:40px 18px;margin-top:14px;max-width:760px}.in-blank p{margin:0;max-width:52ch;line-height:1.55}.in-blank p:first-child{color:var(--text);font-size:14.5px;font-weight:600}.in-blank .pbtn{margin-top:6px}.in-lens{display:flex;gap:6px;margin:0 0 14px}.in-lens-btn{font:inherit;font-size:12px;padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:none;color:var(--text-faint);cursor:pointer}.in-lens-btn:hover{color:var(--text)}.in-lens-btn.active{color:var(--accent);border-color:var(--accent)}.in-chart{width:100%;max-width:760px;height:auto;border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);margin-bottom:6px}.in-axis{stroke:var(--border);stroke-width:1}.in-threshold{stroke:var(--border);stroke-width:1;stroke-dasharray:4 4}.in-danger-zone{fill:#f26d6d0d}.in-label{fill:var(--text-ghost);font-size:11px}.in-quad{fill:var(--text-ghost);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em}.in-quad-danger{fill:#e07070}.in-pt{fill:var(--accent);opacity:.5;cursor:pointer}.in-pt:hover{opacity:1}.in-pt.cold{fill:var(--text-ghost);opacity:.25}.in-pt.danger{fill:#e05d5d;opacity:.6}.in-pt-label{fill:var(--text-faint);font-size:11px;pointer-events:none}.in-h3-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;max-width:760px}.in-cap{font-size:11.5px;color:var(--text-faint);font-weight:400;text-transform:none;letter-spacing:0}.in-treemap{background:#0c0d10}.in-tm-group{fill:none;stroke:var(--border);stroke-width:1;cursor:pointer;pointer-events:all}.in-tm-glabel{fill:var(--text-faint);font-size:10px;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}.in-tm-cell{cursor:pointer}.in-tm-cell:hover{stroke:#fff;stroke-width:1}.in-tm-label{fill:#0c0d10;font-size:10.5px;font-weight:620;cursor:pointer;pointer-events:none}.in-hotpath{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);overflow:hidden}.in-hp-row{display:flex;align-items:center;gap:10px;padding:6px 12px;border-bottom:1px solid var(--border);cursor:pointer}.in-hp-row:last-child{border-bottom:none}.in-hp-row:hover{background:var(--hover)}.in-hp-name{flex:0 0 300px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--text)}.in-hp-name.danger{color:var(--accent)}.in-hp-bar{flex:1;display:flex;height:10px;border-radius:3px;overflow:hidden}.in-hp-agent{background:var(--accent)}.in-hp-human{background:#5b8def}.in-hp-share{background:#b478e8}.in-hp-gone{flex:none;font-size:11.5px;color:var(--text-ghost);white-space:nowrap}.in-hp-count{flex:none;width:40px;text-align:right;font-size:11.5px;color:var(--text-faint);font-variant-numeric:tabular-nums}.in-legend{margin:8px 2px 0;font-size:11.5px;color:var(--text-faint)}.in-sw{display:inline-block;width:10px;height:10px;border-radius:2px;vertical-align:-1px}.in-sw.agent{background:var(--accent)}.in-sw.human{background:#5b8def}.in-sw.share{background:#b478e8}.in-sw-age{width:84px;margin:0 5px}.in-sw-flat{filter:grayscale(1);opacity:.45}.in-tm-range{margin-left:14px;color:var(--text-ghost)}.in-matrix rect{transition:opacity .1s}.in-matrix rect:hover{opacity:.85}.hfilters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0 0 12px;border-bottom:1px solid var(--border);margin-bottom:4px}.hf-search{position:relative;display:flex;align-items:center;flex:1 1 200px;min-width:160px}.hf-search .ico{position:absolute;left:9px;width:14px;height:14px;color:var(--text-ghost);pointer-events:none}.hf-search input{height:30px;padding-left:29px;font-size:12.5px;border-radius:var(--r-ctl);background:var(--surface)}.hf-search input::-webkit-search-cancel-button{filter:invert(.6)}.hf-user{height:30px;max-width:190px;padding:0 8px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:12.5px;cursor:pointer}.hf-dates{display:flex;align-items:center;gap:6px}.hf-lbl{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-ghost)}.hf-date{width:140px;height:30px;font-size:12.5px;border-radius:var(--r-ctl);background:var(--surface)}.hf-date::-webkit-calendar-picker-indicator{filter:invert(.6);cursor:pointer}.hf-dash{color:var(--text-ghost)}.hf-clear{height:30px;padding:0 10px;border:none;border-radius:var(--r-ctl);background:none;color:var(--text-dim);font:inherit;font-size:12.5px;cursor:pointer}.hf-clear:hover{color:var(--text);background:var(--hover)}.hf-clear-empty{margin-top:12px}.hentry{padding:11px 12px;border-bottom:1px solid var(--border);--hindent: 72px}.hentry:hover{background:#ffffff04}.hline{display:flex;gap:10px;align-items:center}.hkind{flex:none;width:62px;white-space:nowrap;text-align:center;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;padding:2px 6px;border-radius:4px;color:var(--add);background:#4cc38a1f}.hentry.edit .hkind{color:var(--accent-bright);background:var(--glow)}.hentry.delete .hkind{color:#ff8b8b;background:#f26d6d1f}.hpath{font-weight:500;cursor:pointer;color:var(--text);font-size:13px}.hpath:hover{color:var(--accent-bright)}.htime{margin-left:auto;color:var(--text-faint);font-size:12px;font-variant-numeric:tabular-nums}.hmore{display:flex;margin:14px auto}.hmore:disabled{opacity:.6;cursor:default}.hmeta{display:flex;align-items:center;gap:14px;margin-top:4px;padding-left:var(--hindent);font-size:12px;color:var(--text-dim)}.hdev,.hsize{color:var(--text-faint)}.hsize{font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.hnote{margin-top:4px;padding-left:var(--hindent);font-size:12px;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.hnote:hover{color:var(--text)}.hnote.open{white-space:normal;overflow-wrap:anywhere}.hnote:before{content:"›";display:inline-block;margin-right:5px;color:var(--text-ghost);transition:transform .12s}.hnote.open:before{transform:rotate(90deg)}.hnote a{color:var(--accent-bright);text-decoration:none}.hnote a:hover{text-decoration:underline}.hrun{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);margin:10px 0;overflow:hidden}.hrun-head{display:flex;align-items:center;gap:9px;width:100%;padding:9px 12px;color:var(--text);font-size:12.5px}.hrun-toggle{display:flex;flex:none;padding:2px;border:none;border-radius:4px;background:none;color:var(--text-faint);cursor:pointer}.hrun-toggle:hover{color:var(--text);background:var(--hover)}.hrun-toggle .ico{width:13px;height:13px}.hrun-note{font-weight:560;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:46%}.hrun-note a{color:var(--accent-bright);text-decoration:none}.hrun-note a:hover{text-decoration:underline}.hrun-meta{color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hrun-time{margin-left:auto;flex:none;color:var(--text-faint);font-variant-numeric:tabular-nums}.hrun-body{border-top:1px solid var(--border)}.hrun-body .hentry:last-child{border-bottom:none}.hread{flex:none;padding:2px 6px;border-radius:4px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--text-dim);background:var(--hover)}.hrun-reads{border-top:1px solid var(--border);padding:4px 0 6px}.hrun-reads-head{padding:6px 14px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.hrun-read{display:flex;gap:10px;align-items:center;width:100%;padding:5px 14px;border:none;background:none;font:inherit;text-align:left;cursor:pointer}.hrun-read:hover{background:#ffffff04}.hrun-read .hkind{color:var(--text-dim);background:var(--hover)}.hrun-foot{padding:8px 14px 10px;border-top:1px solid var(--border);font-size:11.5px;color:var(--text-faint)}.hrestore-btn,.hremove-btn{display:inline-flex;align-items:center;gap:4px;margin-left:auto;padding:2px 8px 2px 5px;border:1px solid var(--border);border-radius:5px;background:none;color:var(--text-faint);font:inherit;font-size:12px;cursor:pointer}.hrestore-btn:hover{color:var(--accent-bright);border-color:var(--border-2);background:var(--hover)}.hremove-btn:hover{color:var(--del);border-color:#f26d6d61;background:var(--hover)}.hrestore-btn:disabled,.hremove-btn:disabled{opacity:.5;cursor:default}.hrestore-btn .ico,.hremove-btn .ico{width:12px;height:12px}.hactions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 0 23px}.hdiff-btn,.hver-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 7px 2px 4px;border:1px solid var(--border);border-radius:5px;background:none;color:var(--text-faint);font:inherit;font-size:12px;cursor:pointer;text-decoration:none}.hdiff-btn:hover,.hver-btn:hover{color:var(--text);border-color:var(--border-2);background:var(--hover)}.hdiff-btn .ico,.hver-btn .ico{width:12px;height:12px}.hdiff-none{flex-basis:100%;font-size:12px;color:var(--text-ghost)}.dv{margin:8px 0 2px 23px;border:1px solid var(--border);border-radius:6px;overflow:hidden}.dv-msg{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:9px 11px;font-size:12px;color:var(--text-faint)}.dv-dl{display:flex;gap:12px}.dv-msg a{color:var(--accent-bright);text-decoration:none}.dv-msg a:hover{text-decoration:underline}.dv-head{display:flex;align-items:center;gap:10px;padding:5px 11px;border-bottom:1px solid var(--border);font-size:11px;font-variant-numeric:tabular-nums}.dv-add{color:var(--add);font-weight:600}.dv-del{color:var(--del);font-weight:600}.dv-same{color:var(--text-ghost)}.dv-body{overflow-x:auto;padding:4px 0}.dv-line{display:flex;font-family:var(--mono);font-size:12px;line-height:1.55;white-space:pre}.dv-n{flex:none;width:34px;padding-right:8px;text-align:right;color:var(--text-ghost);-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums}.dv-mark{flex:none;width:16px;text-align:center;-webkit-user-select:none;user-select:none}.dv-text{padding-right:12px}.dv-ins{background:#4cc38a1a;color:var(--add)}.dv-rm{background:#f26d6d1a;color:#ff8b8b}.dv-ctx{color:var(--text-dim)}#palette{position:fixed;top:12vh;left:50%;transform:translate(-50%);z-index:151;display:block;width:min(560px,92vw);background:var(--bg-raise);border:1px solid var(--border-2);border-radius:var(--r-over);box-shadow:0 24px 70px -18px #000c;overflow:hidden;outline:none;padding:0}#palette-inputwrap{display:flex;align-items:center;gap:11px;padding:14px 16px;border-bottom:1px solid var(--border)}#palette-inputwrap [data-slot=command-input-wrapper]{flex:1;display:flex;border-bottom:0;padding:0;height:auto}#palette-inputwrap [data-slot=command-input-wrapper]>svg:not(.ico){display:none}#palette input,#palette input:focus{flex:1;width:100%;border:none;background:transparent;box-shadow:none;color:var(--text);font:inherit;font-size:15px;letter-spacing:-.01em;outline:none;padding:0}#palette input::placeholder{color:var(--text-ghost)}#palette-inputwrap .ico{width:17px;height:17px;color:var(--text-faint)}#palette [cmdk-list]{list-style:none;margin:0;padding:8px;max-height:46vh;overflow-y:auto}#palette [cmdk-item]{display:flex;align-items:center;gap:11px;height:38px;padding:0 10px;border-radius:9px;cursor:pointer;color:var(--text-dim);font-size:13.5px}#palette [cmdk-item][data-selected=true]{background:var(--glow)}#palette [cmdk-item][data-selected=true] .picon{color:var(--accent)}#palette [cmdk-item][data-selected=true] .plabel,#palette [cmdk-item][data-selected=true] .plabel b{color:var(--accent-bright)}#palette [cmdk-item] .picon{width:18px;flex:none;display:flex;justify-content:center;color:var(--text-faint)}#palette [cmdk-item] .picon .ico{width:15px;height:15px}#palette [cmdk-item] .plabel{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}#palette [cmdk-item] .plabel b{color:var(--accent-bright);font-weight:600}#palette [cmdk-item] .pkind{flex:none;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-ghost)}#palette [cmdk-list] .pempty{color:var(--text-faint);cursor:default;justify-content:center;height:auto;padding:14px}#palette-hint{padding:9px 16px;border-top:1px solid var(--border);font-size:11px;color:var(--text-ghost)}[data-slot=dialog-overlay]{position:fixed;inset:0;background:#06070999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:150}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:151;display:block;background:var(--bg-raise);border:1px solid var(--border-2);border-radius:var(--r-over);padding:22px 24px;width:min(460px,calc(100vw - 40px));box-shadow:0 24px 70px -18px #000c;outline:none}.modal h3{margin:0 0 10px;font-size:16px;font-weight:620;letter-spacing:-.01em}.modal p{margin:0 0 16px;font-size:13.5px;color:var(--text-dim);line-height:1.55}.modal p b{color:var(--text)}.modal-url{font:12px var(--mono);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-ctl);padding:9px 11px;color:var(--text-dim);word-break:break-all;margin-bottom:16px}.modal-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.modal-expiry{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-size:12.5px;color:var(--text-dim)}.modal-expiry select{height:28px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:0 8px;font:inherit;font-size:12.5px;cursor:pointer}.modal-expiry select:disabled{opacity:.6;cursor:default}.modal-expiry-note{margin-left:auto;color:var(--text-dim)}.modal-label{display:block;font-size:12.5px;color:var(--text-dim);margin:0 0 6px}.modal-msg{margin:0 0 16px;font-size:13.5px;color:var(--text-dim);line-height:1.55}.modal-input{width:100%;height:36px;padding:0 12px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:14px;margin-bottom:16px;outline:none}.modal-input:focus{border-color:var(--accent);background:var(--hover)}.start-points{border:0;margin:0 0 18px;padding:0}.start-points legend{padding:0}.start-point{display:flex;align-items:flex-start;gap:10px;padding:9px 11px;border:1px solid var(--border);border-radius:var(--r-ctl);background:var(--surface);cursor:pointer;margin-bottom:6px}.start-point:hover{background:var(--hover)}.start-point.on{border-color:var(--accent);background:var(--hover)}.start-point input{accent-color:var(--accent);margin:2px 0 0;flex:none}.sp-text{display:flex;flex-direction:column;gap:2px;min-width:0}.sp-title{font-size:13.5px;color:var(--text);display:flex;align-items:center;gap:8px}.sp-rec{font-size:10.5px;letter-spacing:.02em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:0 6px;line-height:15px}.sp-blurb{font-size:12px;color:var(--text-dim);overflow-wrap:anywhere}.start-point.sp-rule{margin-top:16px}.modal{max-height:calc(100vh - 32px);overflow-y:auto}.gd-note{margin:-4px 0 16px;font-size:13px;color:var(--text-dim);border-left:2px solid var(--accent);padding-left:11px;line-height:1.55}[data-sonner-toast]{background:var(--bg-raise)!important;color:var(--text)!important;border:1px solid var(--border-2)!important;border-radius:10px!important;font-size:13.5px!important;box-shadow:0 18px 44px -12px #000000b3!important}[data-sonner-toast][data-type=error]{border-color:#f26d6d80!important;color:#ffb0aa!important}#sb-backdrop{display:none}@media(max-width:900px){#sidebar{position:fixed;z-index:60;top:0;left:0;height:100%;transform:translate(-100%);transition:transform .2s ease;box-shadow:0 0 40px #0009}body.sb-open #sidebar{transform:translate(0)}body.sb-open #sb-backdrop{display:block;position:fixed;inset:0;background:#0000008c;z-index:50}.icon-btn,#search-btn{display:inline-flex;width:44px;height:44px}#content{padding:24px 18px 70px}#topbar{padding:0 8px;gap:4px}.btn .lbl{display:none}#topbar .btn{min-width:44px;min-height:44px;padding:0;justify-content:center;gap:0}#topbar .btn .ico{width:18px;height:18px}#more-btn:not([hidden]){display:inline-flex}#history-btn,#upload-btn,#download{display:none!important}#topbar{flex-wrap:wrap;height:auto;min-height:52px}#meta{order:1;flex:1 1 100%;text-align:left;white-space:normal;overflow:visible;padding:0 0 8px}#meta:empty{display:none}#crumb{flex:1}#vault{padding:0 8px 0 12px}.icon-btn2,#signout,#tree .row,#projects .row{height:44px}#account-btn,#project-select{min-height:44px}.nav-add{min-width:44px;min-height:44px}.markdown table,pre.plain{display:block;overflow-x:auto;max-width:100%}.admin-item{flex-wrap:wrap;row-gap:8px;padding:12px 14px}.admin-item select,.hf-search input,.hf-user,.hf-date,.hf-clear{height:44px}.hf-dates{flex:1 1 100%}.hf-date{flex:1;width:auto;min-width:0}.hrun-head{flex-wrap:wrap;row-gap:4px}.hrun-note{max-width:none;white-space:normal;overflow:visible}.hrun-meta{order:1;flex:1 1 100%;white-space:normal;overflow:visible}.ai-btn,.ai-del{height:auto;min-height:44px;padding:0 12px}.admin-table thead{display:none}.admin-table,.admin-table tbody,.admin-table td{display:block;width:auto}.admin-table tr.admin-item{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.admin-table tr.admin-item td{padding:0;border-bottom:none}.admin-table tr.admin-item td:first-child{flex:1 1 100%;width:auto}.admin-table tr.admin-item td:last-child{width:auto;text-align:left}[data-slot=dropdown-menu-item]{min-height:44px}#projects{flex:0 1 auto;max-height:none}.admin-row{flex-wrap:wrap}.admin-row input{flex:1 1 100%;min-height:44px}.admin-row button{flex:0 0 auto;align-self:flex-start;min-height:44px}.admin-item .ai-main{flex:1 1 100%;white-space:normal;overflow-wrap:anywhere}.admin-table td{white-space:normal}.admin-table td .ai-main,.admin-table td a.ai-main,.admin-table td .ai-copy,.admin-table td .ai-tag{white-space:normal;overflow-wrap:anywhere}.admin-item .ai-tag{flex:1 1 100%;max-width:100%;white-space:normal;overflow-wrap:anywhere}.ai-copy{min-height:44px;display:block;padding:12px 0;white-space:normal;overflow-wrap:anywhere;text-overflow:clip}a.ai-main{min-height:44px;display:flex;align-items:center}.gd-code{min-height:62px;padding-top:12px;padding-bottom:12px}.gd-copy{min-height:44px;padding:0 14px}.gd-tab{min-height:44px}.in-lens-btn{min-height:44px;padding:0 14px}.modal-input{height:44px}.modal-actions button{height:auto;min-height:44px}.modal-expiry select{height:44px}.pbtn,#palette [cmdk-item]{height:auto;min-height:44px}.more-item{min-height:44px}}.modal-actions .ai-del{margin-right:auto}@media(max-width:430px){.dl-row{flex-wrap:wrap;row-gap:2px}.dl-meta{flex:1 1 100%;padding-left:27px}.ai-tag{font-size:11px}.htime{white-space:nowrap;font-size:12px}.hline{flex-wrap:wrap}.hentry{--hindent: 0px}.modal-actions .ai-del{flex:0 0 100%;justify-content:center;text-align:center}}.markdown h1,.markdown h2,.markdown h3,.markdown h4{color:#f4f6f9;line-height:1.25;letter-spacing:-.018em;margin:1.5em 0 .5em;text-wrap:balance}.markdown h1:first-child{margin-top:0}.markdown h1{font-size:1.85em;font-weight:660;letter-spacing:-.024em}.markdown h2{font-size:1.32em;font-weight:620;margin-top:1.7em}.markdown h3{font-size:1.08em;font-weight:620}.markdown p,.markdown li{color:#c6cbd3;font-size:14.5px;line-height:1.72}.markdown p{margin:0 0 1em}.markdown strong{color:var(--text);font-weight:620}.markdown a{color:var(--accent-bright);text-decoration:none;border-bottom:1px solid rgba(245,166,35,.28)}.markdown a:hover{border-bottom-color:var(--accent)}.markdown ul,.markdown ol{margin:0 0 1em;padding-left:1.4em}.markdown li{margin-bottom:.4em}.markdown li::marker{color:var(--text-ghost)}.markdown code{background:var(--hover);border:1px solid var(--border);padding:.1em .4em;border-radius:5px;font:12.5px/1.5 var(--mono);color:#e4d9c4}.markdown pre{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--r-card);padding:14px 16px;overflow-x:auto;margin:1.3em 0}.markdown pre code{background:none;border:none;padding:0;color:#c6cbd3}.markdown blockquote{margin:1.3em 0;padding:.3em 1em;border-left:2px solid var(--accent);background:linear-gradient(90deg,var(--glow),transparent);border-radius:0 8px 8px 0;color:#d8cdb6}.markdown blockquote p{margin:.3em 0;color:#d8cdb6}.markdown table{border-collapse:collapse;margin:1.3em 0;font-size:13.5px}.markdown th,.markdown td{border-bottom:1px solid var(--border);padding:9px 13px;text-align:left}.markdown th{color:var(--text-faint);font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;border-bottom-color:var(--border-2)}.markdown tr:hover td{background:#ffffff05}.markdown img{max-width:100%;border-radius:8px;border:1px solid var(--border)}.markdown hr{border:none;border-top:1px solid var(--border);margin:2.2em 0}.markdown .mermaid-diagram{margin:1.3em 0;overflow-x:auto}.markdown .mermaid-diagram svg{max-width:100%;height:auto}.markdown .mermaid-err{margin:-.9em 0 1.3em;font-size:12px;color:var(--text-faint)}.markdown table.frontmatter{margin:0 0 1.8em;font-size:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;border-collapse:separate;border-spacing:0}.markdown table.frontmatter th{text-transform:none;letter-spacing:0;font-size:11.5px;color:var(--text-faint);font-weight:600;text-align:left;white-space:nowrap;vertical-align:top;padding:6px 14px 6px 12px;border-bottom:1px solid var(--border)}.markdown table.frontmatter td{color:var(--text-dim);padding:6px 12px 6px 0;border-bottom:1px solid var(--border)}.markdown table.frontmatter tr:last-child th,.markdown table.frontmatter tr:last-child td{border-bottom:none}.markdown table.frontmatter code{white-space:pre-wrap;font-size:11px}.markdown .admin input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.admin input[aria-invalid=true]:focus-visible{outline-color:var(--del)}[role=dialog] input[aria-invalid=true]{border-color:var(--del)}[role=dialog] input[aria-invalid=true]:focus-visible{outline-color:var(--del)}button:disabled,.btn:disabled{cursor:default}input[type=checkbox]{accent-color:var(--accent)}.htmlview,.pdfview{display:block;width:100%;height:calc(100vh - 150px);border:1px solid var(--border);border-radius:var(--r-card);background:#fff}.notfound{margin-top:var(--hero-top);text-align:center;color:var(--text-dim)}.notfound h1{color:var(--text);font-size:1.4em;margin-bottom:.5em}.notfound code{background:var(--hover);border:1px solid var(--border);padding:.15em .5em;border-radius:6px}.notfound .nf-sub{max-width:440px;margin:12px auto 20px;font-size:13px;color:var(--text-faint);line-height:1.6}.vbanner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 22px;padding:11px 14px;border:1px solid var(--accent-dim);border-radius:var(--r-card);background:var(--glow)}.vbanner .vb-icon{flex:none;display:flex;color:var(--accent-bright)}.vbanner .vb-text{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:12.5px;line-height:1.45}.vbanner .vb-text b{color:var(--accent-bright);font-weight:600}.vbanner .vb-text span{color:var(--text-dim)}.vbanner .vb-actions{flex:none;display:flex;gap:8px}.vbanner .vb-actions .ai-btn{display:inline-flex;align-items:center;text-decoration:none}pre.plain{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--r-card);padding:14px 16px;overflow-x:auto;font:12.5px/1.6 var(--mono);color:#c6cbd3;white-space:pre-wrap;overflow-wrap:anywhere}.csvbox{overflow-x:auto;width:fit-content;max-width:100%;border:1px solid var(--border);border-radius:var(--r-card);background:var(--code-bg)}.csvbox .csvview{display:table;max-width:none;overflow:visible;margin:0;border-collapse:collapse;font:12.5px/1.5 var(--mono);font-variant-numeric:tabular-nums}.csvbox .csvview th,.csvbox .csvview td{border-bottom:1px solid var(--border);padding:8px 14px;text-align:left;white-space:pre;vertical-align:top;color:#c6cbd3;font-size:12.5px}.csvbox .csvview th{background:var(--surface);color:var(--text-faint);font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;border-bottom-color:var(--border-2)}.csvbox .csvview tr:last-child td{border-bottom:none}.csvbox .csvview tbody tr:hover td{background:#ffffff05}.csvnote{color:var(--text-faint);font-size:12px;margin:10px 2px 0}.filecard{margin-top:var(--hero-top);text-align:center;color:var(--text-dim)}.filecard .name{font-size:1.2em;color:var(--text);margin-bottom:.3em}.filecard .btn{margin-top:14px} diff --git a/internal/webapp/static/assets/index-o0X8ZIDt.js b/internal/webapp/static/assets/index-Cg3Ijtd_.js similarity index 92% rename from internal/webapp/static/assets/index-o0X8ZIDt.js rename to internal/webapp/static/assets/index-Cg3Ijtd_.js index e84b833..df4309c 100644 --- a/internal/webapp/static/assets/index-o0X8ZIDt.js +++ b/internal/webapp/static/assets/index-Cg3Ijtd_.js @@ -46,7 +46,7 @@ Error generating stack: `+c.message+` `)},Pb=function(){var e=parseInt(document.body.getAttribute(ks)||"0",10);return isFinite(e)?e:0},OT=function(){S.useEffect(function(){return document.body.setAttribute(ks,(Pb()+1).toString()),function(){var e=Pb()-1;e<=0?document.body.removeAttribute(ks):document.body.setAttribute(ks,e.toString())}},[])},AT=function(e){var n=e.noRelative,r=e.noImportant,i=e.gapMode,o=i===void 0?"margin":i;OT();var l=S.useMemo(function(){return RT(o)},[o]);return S.createElement(jT,{styles:TT(l,!n,o,r?"":"!important")})},bm=!1;if(typeof window<"u")try{var Hc=Object.defineProperty({},"passive",{get:function(){return bm=!0,!0}});window.addEventListener("test",Hc,Hc),window.removeEventListener("test",Hc,Hc)}catch{bm=!1}var Cs=bm?{passive:!1}:!1,MT=function(e){return e.tagName==="TEXTAREA"},Gw=function(e,n){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return r[n]!=="hidden"&&!(r.overflowY===r.overflowX&&!MT(e)&&r[n]==="visible")},NT=function(e){return Gw(e,"overflowY")},DT=function(e){return Gw(e,"overflowX")},Fb=function(e,n){var r=n.ownerDocument,i=n;do{typeof ShadowRoot<"u"&&i instanceof ShadowRoot&&(i=i.host);var o=Zw(e,i);if(o){var l=Kw(e,i),u=l[1],d=l[2];if(u>d)return!0}i=i.parentNode}while(i&&i!==r.body);return!1},zT=function(e){var n=e.scrollTop,r=e.scrollHeight,i=e.clientHeight;return[n,r,i]},kT=function(e){var n=e.scrollLeft,r=e.scrollWidth,i=e.clientWidth;return[n,r,i]},Zw=function(e,n){return e==="v"?NT(n):DT(n)},Kw=function(e,n){return e==="v"?zT(n):kT(n)},LT=function(e,n){return e==="h"&&n==="rtl"?-1:1},$T=function(e,n,r,i,o){var l=LT(e,window.getComputedStyle(n).direction),u=l*i,d=r.target,m=n.contains(d),p=!1,y=u>0,v=0,b=0;do{if(!d)break;var x=Kw(e,d),w=x[0],_=x[1],E=x[2],R=_-E-l*w;(w||R)&&Zw(e,d)&&(v+=R,b+=w);var T=d.parentNode;d=T&&T.nodeType===Node.DOCUMENT_FRAGMENT_NODE?T.host:T}while(!m&&d!==document.body||m&&(n.contains(d)||n===d));return(y&&Math.abs(v)<1||!y&&Math.abs(b)<1)&&(p=!0),p},Bc=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Vb=function(e){return[e.deltaX,e.deltaY]},Ub=function(e){return e&&"current"in e?e.current:e},IT=function(e,n){return e[0]===n[0]&&e[1]===n[1]},PT=function(e){return` .block-interactivity-`.concat(e,` {pointer-events: none;} .allow-interactivity-`).concat(e,` {pointer-events: all;} -`)},FT=0,Es=[];function VT(e){var n=S.useRef([]),r=S.useRef([0,0]),i=S.useRef(),o=S.useState(FT++)[0],l=S.useState(qw)[0],u=S.useRef(e);S.useEffect(function(){u.current=e},[e]),S.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var _=lT([e.lockRef.current],(e.shards||[]).map(Ub),!0).filter(Boolean);return _.forEach(function(E){return E.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),_.forEach(function(E){return E.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var d=S.useCallback(function(_,E){if("touches"in _&&_.touches.length===2||_.type==="wheel"&&_.ctrlKey)return!u.current.allowPinchZoom;var R=Bc(_),T=r.current,O="deltaX"in _?_.deltaX:T[0]-R[0],N="deltaY"in _?_.deltaY:T[1]-R[1],z,U=_.target,$=Math.abs(O)>Math.abs(N)?"h":"v";if("touches"in _&&$==="h"&&U.type==="range")return!1;var F=window.getSelection(),ve=F&&F.anchorNode,ye=ve?ve===U||ve.contains(U):!1;if(ye)return!1;var me=Fb($,U);if(!me)return!0;if(me?z=$:(z=$==="v"?"h":"v",me=Fb($,U)),!me)return!1;if(!i.current&&"changedTouches"in _&&(O||N)&&(i.current=z),!z)return!0;var de=i.current||z;return $T(de,E,_,de==="h"?O:N)},[]),m=S.useCallback(function(_){var E=_;if(!(!Es.length||Es[Es.length-1]!==l)){var R="deltaY"in E?Vb(E):Bc(E),T=n.current.filter(function(z){return z.name===E.type&&(z.target===E.target||E.target===z.shadowParent)&&IT(z.delta,R)})[0];if(T&&T.should){E.cancelable&&E.preventDefault();return}if(!T){var O=(u.current.shards||[]).map(Ub).filter(Boolean).filter(function(z){return z.contains(E.target)}),N=O.length>0?d(E,O[0]):!u.current.noIsolation;N&&E.cancelable&&E.preventDefault()}}},[]),p=S.useCallback(function(_,E,R,T){var O={name:_,delta:E,target:R,should:T,shadowParent:UT(R)};n.current.push(O),setTimeout(function(){n.current=n.current.filter(function(N){return N!==O})},1)},[]),y=S.useCallback(function(_){r.current=Bc(_),i.current=void 0},[]),v=S.useCallback(function(_){p(_.type,Vb(_),_.target,d(_,e.lockRef.current))},[]),b=S.useCallback(function(_){p(_.type,Bc(_),_.target,d(_,e.lockRef.current))},[]);S.useEffect(function(){return Es.push(l),e.setCallbacks({onScrollCapture:v,onWheelCapture:v,onTouchMoveCapture:b}),document.addEventListener("wheel",m,Cs),document.addEventListener("touchmove",m,Cs),document.addEventListener("touchstart",y,Cs),function(){Es=Es.filter(function(_){return _!==l}),document.removeEventListener("wheel",m,Cs),document.removeEventListener("touchmove",m,Cs),document.removeEventListener("touchstart",y,Cs)}},[]);var x=e.removeScrollBar,w=e.inert;return S.createElement(S.Fragment,null,w?S.createElement(l,{styles:PT(o)}):null,x?S.createElement(AT,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function UT(e){for(var n=null;e!==null;)e instanceof ShadowRoot&&(n=e.host,e=e.host),e=e.parentNode;return n}const HT=vT(Bw,VT);var zu=S.forwardRef(function(e,n){return S.createElement(Du,Ar({},e,{ref:n,sideCar:HT}))});zu.classNames=Du.classNames;var BT=function(e){if(typeof document>"u")return null;var n=Array.isArray(e)?e[0]:e;return n.ownerDocument.body},Rs=new WeakMap,qc=new WeakMap,Gc={},$h=0,Yw=function(e){return e&&(e.host||Yw(e.parentNode))},qT=function(e,n){return n.map(function(r){if(e.contains(r))return r;var i=Yw(r);return i&&e.contains(i)?i:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},GT=function(e,n,r,i){var o=qT(n,Array.isArray(e)?e:[e]);Gc[r]||(Gc[r]=new WeakMap);var l=Gc[r],u=[],d=new Set,m=new Set(o),p=function(v){!v||d.has(v)||(d.add(v),p(v.parentNode))};o.forEach(p);var y=function(v){!v||m.has(v)||Array.prototype.forEach.call(v.children,function(b){if(d.has(b))y(b);else try{var x=b.getAttribute(i),w=x!==null&&x!=="false",_=(Rs.get(b)||0)+1,E=(l.get(b)||0)+1;Rs.set(b,_),l.set(b,E),u.push(b),_===1&&w&&qc.set(b,!0),E===1&&b.setAttribute(r,"true"),w||b.setAttribute(i,"true")}catch(R){console.error("aria-hidden: cannot operate on ",b,R)}})};return y(n),d.clear(),$h++,function(){u.forEach(function(v){var b=Rs.get(v)-1,x=l.get(v)-1;Rs.set(v,b),l.set(v,x),b||(qc.has(v)||v.removeAttribute(i),qc.delete(v)),x||v.removeAttribute(r)}),$h--,$h||(Rs=new WeakMap,Rs=new WeakMap,qc=new WeakMap,Gc={})}},fp=function(e,n,r){r===void 0&&(r="data-aria-hidden");var i=Array.from(Array.isArray(e)?e:[e]),o=BT(e);return o?(i.push.apply(i,Array.from(o.querySelectorAll("[aria-live], script"))),GT(i,o,r,"aria-hidden")):function(){return null}},ku="Dialog",[Qw]=Ga(ku),[ZT,yr]=Qw(ku),hp=e=>{const{__scopeDialog:n,children:r,open:i,defaultOpen:o,onOpenChange:l,modal:u=!0}=e,d=S.useRef(null),m=S.useRef(null),[p,y]=Vs({prop:i,defaultProp:o??!1,onChange:l,caller:ku});return f.jsx(ZT,{scope:n,triggerRef:d,contentRef:m,contentId:dn(),titleId:dn(),descriptionId:dn(),open:p,onOpenChange:y,onOpenToggle:S.useCallback(()=>y(v=>!v),[y]),modal:u,children:r})};hp.displayName=ku;var Xw="DialogTrigger",KT=S.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,o=yr(Xw,r),l=nt(n,o.triggerRef);return f.jsx($e.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.open?o.contentId:void 0,"data-state":yp(o.open),...i,ref:l,onClick:je(e.onClick,o.onOpenToggle)})});KT.displayName=Xw;var mp="DialogPortal",[YT,Jw]=Qw(mp,{forceMount:void 0}),pp=e=>{const{__scopeDialog:n,forceMount:r,children:i,container:o}=e,l=yr(mp,n);return f.jsx(YT,{scope:n,forceMount:r,children:S.Children.map(i,u=>f.jsx(vr,{present:r||l.open,children:f.jsx(yl,{asChild:!0,container:o,children:u})}))})};pp.displayName=mp;var hu="DialogOverlay",gp=S.forwardRef((e,n)=>{const r=Jw(hu,e.__scopeDialog),{forceMount:i=r.forceMount,...o}=e,l=yr(hu,e.__scopeDialog);return l.modal?f.jsx(vr,{present:i||l.open,children:f.jsx(XT,{...o,ref:n})}):null});gp.displayName=hu;var QT=Ci("DialogOverlay.RemoveScroll"),XT=S.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,o=yr(hu,r),l=Qj(),u=nt(n,l);return f.jsx(zu,{as:QT,allowPinchZoom:!0,shards:[o.contentRef],children:f.jsx($e.div,{"data-state":yp(o.open),...i,ref:u,style:{pointerEvents:"auto",...i.style}})})}),Us="DialogContent",vp=S.forwardRef((e,n)=>{const r=Jw(Us,e.__scopeDialog),{forceMount:i=r.forceMount,...o}=e,l=yr(Us,e.__scopeDialog);return f.jsx(vr,{present:i||l.open,children:l.modal?f.jsx(JT,{...o,ref:n}):f.jsx(WT,{...o,ref:n})})});vp.displayName=Us;var JT=S.forwardRef((e,n)=>{const r=yr(Us,e.__scopeDialog),i=S.useRef(null),o=nt(n,r.contentRef,i);return S.useEffect(()=>{const l=i.current;if(l)return fp(l)},[]),f.jsx(Ww,{...e,ref:o,trapFocus:r.open,disableOutsidePointerEvents:r.open,onCloseAutoFocus:je(e.onCloseAutoFocus,l=>{l.preventDefault(),r.triggerRef.current?.focus()}),onPointerDownOutside:je(e.onPointerDownOutside,l=>{const u=l.detail.originalEvent,d=u.button===0&&u.ctrlKey===!0;(u.button===2||d)&&l.preventDefault()}),onFocusOutside:je(e.onFocusOutside,l=>l.preventDefault())})}),WT=S.forwardRef((e,n)=>{const r=yr(Us,e.__scopeDialog),i=S.useRef(!1),o=S.useRef(!1);return f.jsx(Ww,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:l=>{e.onCloseAutoFocus?.(l),l.defaultPrevented||(i.current||r.triggerRef.current?.focus(),l.preventDefault()),i.current=!1,o.current=!1},onInteractOutside:l=>{e.onInteractOutside?.(l),l.defaultPrevented||(i.current=!0,l.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const u=l.target;r.triggerRef.current?.contains(u)&&l.preventDefault(),l.detail.originalEvent.type==="focusin"&&o.current&&l.preventDefault()}})}),Ww=S.forwardRef((e,n)=>{const{__scopeDialog:r,trapFocus:i,onOpenAutoFocus:o,onCloseAutoFocus:l,...u}=e,d=yr(Us,r);return dp(),f.jsx(f.Fragment,{children:f.jsx(Nu,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:o,onUnmountAutoFocus:l,children:f.jsx(vl,{role:"dialog",id:d.contentId,"aria-describedby":d.descriptionId,"aria-labelledby":d.titleId,"data-state":yp(d.open),...u,ref:n,deferPointerDownOutside:!0,onDismiss:()=>d.onOpenChange(!1)})})})}),eS="DialogTitle",tS=S.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,o=yr(eS,r);return f.jsx($e.h2,{id:o.titleId,...i,ref:n})});tS.displayName=eS;var nS="DialogDescription",eO=S.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,o=yr(nS,r);return f.jsx($e.p,{id:o.descriptionId,...i,ref:n})});eO.displayName=nS;var rS="DialogClose",aS=S.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,o=yr(rS,r);return f.jsx($e.button,{type:"button",...i,ref:n,onClick:je(e.onClick,()=>o.onOpenChange(!1))})});aS.displayName=rS;function yp(e){return e?"open":"closed"}function tO(e){const n=S.useRef({value:e,previous:e});return S.useMemo(()=>(n.current.value!==e&&(n.current.previous=n.current.value,n.current.value=e),n.current.previous),[e])}function nO(e){const[n,r]=S.useState(void 0);return Yt(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});const i=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const l=o[0];let u,d;if("borderBoxSize"in l){const m=l.borderBoxSize,p=Array.isArray(m)?m[0]:m;u=p.inlineSize,d=p.blockSize}else u=e.offsetWidth,d=e.offsetHeight;r({width:u,height:d})});return i.observe(e,{box:"border-box"}),()=>i.unobserve(e)}else r(void 0)},[e]),n}const rO=["top","right","bottom","left"],Va=Math.min,ra=Math.max,mu=Math.round,Zc=Math.floor,aa=e=>({x:e,y:e}),aO={left:"right",right:"left",bottom:"top",top:"bottom"};function iS(e,n,r){return ra(e,Va(n,r))}function ia(e,n){return typeof e=="function"?e(n):e}function Ua(e){return e.split("-")[0]}function Gs(e){return e.split("-")[1]}function bp(e){return e==="x"?"y":"x"}function xp(e){return e==="y"?"height":"width"}function Mr(e){const n=e[0];return n==="t"||n==="b"?"y":"x"}function wp(e){return bp(Mr(e))}function iO(e,n,r){r===void 0&&(r=!1);const i=Gs(e),o=wp(e),l=xp(o);let u=o==="x"?i===(r?"end":"start")?"right":"left":i==="start"?"bottom":"top";return n.reference[l]>n.floating[l]&&(u=pu(u)),[u,pu(u)]}function sO(e){const n=pu(e);return[xm(e),n,xm(n)]}function xm(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const Hb=["left","right"],Bb=["right","left"],oO=["top","bottom"],lO=["bottom","top"];function cO(e,n,r){switch(e){case"top":case"bottom":return r?n?Bb:Hb:n?Hb:Bb;case"left":case"right":return n?oO:lO;default:return[]}}function uO(e,n,r,i){const o=Gs(e);let l=cO(Ua(e),r==="start",i);return o&&(l=l.map(u=>u+"-"+o),n&&(l=l.concat(l.map(xm)))),l}function pu(e){const n=Ua(e);return aO[n]+e.slice(n.length)}function dO(e){var n,r,i,o;return{top:(n=e.top)!=null?n:0,right:(r=e.right)!=null?r:0,bottom:(i=e.bottom)!=null?i:0,left:(o=e.left)!=null?o:0}}function sS(e){return typeof e!="number"?dO(e):{top:e,right:e,bottom:e,left:e}}function gu(e){const{x:n,y:r,width:i,height:o}=e;return{width:i,height:o,top:r,left:n,right:n+i,bottom:r+o,x:n,y:r}}function qb(e,n,r){let{reference:i,floating:o}=e;const l=Mr(n),u=wp(n),d=xp(u),m=Ua(n),p=l==="y",y=i.x+i.width/2-o.width/2,v=i.y+i.height/2-o.height/2,b=i[d]/2-o[d]/2;let x;switch(m){case"top":x={x:y,y:i.y-o.height};break;case"bottom":x={x:y,y:i.y+i.height};break;case"right":x={x:i.x+i.width,y:v};break;case"left":x={x:i.x-o.width,y:v};break;default:x={x:i.x,y:i.y}}const w=Gs(n);return w&&(x[u]+=b*(w==="end"?1:-1)*(r&&p?-1:1)),x}async function fO(e,n){var r;n===void 0&&(n={});const{x:i,y:o,platform:l,rects:u,elements:d,strategy:m}=e,{boundary:p="clippingAncestors",rootBoundary:y="viewport",elementContext:v="floating",altBoundary:b=!1,padding:x=0}=ia(n,e),w=sS(x),E=d[b?v==="floating"?"reference":"floating":v],R=gu(await l.getClippingRect({element:(r=await(l.isElement==null?void 0:l.isElement(E)))==null||r?E:E.contextElement||await(l.getDocumentElement==null?void 0:l.getDocumentElement(d.floating)),boundary:p,rootBoundary:y,strategy:m})),T=v==="floating"?{x:i,y:o,width:u.floating.width,height:u.floating.height}:u.reference,O=await(l.getOffsetParent==null?void 0:l.getOffsetParent(d.floating)),N=await(l.isElement==null?void 0:l.isElement(O))&&await(l.getScale==null?void 0:l.getScale(O))||{x:1,y:1},z=gu(l.convertOffsetParentRelativeRectToViewportRelativeRect?await l.convertOffsetParentRelativeRectToViewportRelativeRect({elements:d,rect:T,offsetParent:O,strategy:m}):T);return{top:(R.top-z.top+w.top)/N.y,bottom:(z.bottom-R.bottom+w.bottom)/N.y,left:(R.left-z.left+w.left)/N.x,right:(z.right-R.right+w.right)/N.x}}const hO=50,mO=async(e,n,r)=>{const{placement:i="bottom",strategy:o="absolute",middleware:l=[],platform:u}=r,d=u.detectOverflow?u:{...u,detectOverflow:fO},m=await(u.isRTL==null?void 0:u.isRTL(n));let p=await u.getElementRects({reference:e,floating:n,strategy:o}),{x:y,y:v}=qb(p,i,m),b=i,x=0;const w={};for(let _=0;_({name:"arrow",options:e,async fn(n){const{x:r,y:i,placement:o,rects:l,platform:u,elements:d,middlewareData:m}=n,{element:p,padding:y=0}=ia(e,n)||{};if(p==null)return{};const v=sS(y),b={x:r,y:i},x=wp(o),w=xp(x),_=await u.getDimensions(p),E=x==="y",R=E?"top":"left",T=E?"bottom":"right",O=E?"clientHeight":"clientWidth",N=l.reference[w]+l.reference[x]-b[x]-l.floating[w],z=b[x]-l.reference[x],U=await(u.getOffsetParent==null?void 0:u.getOffsetParent(p));let $=U?U[O]:0;(!$||!await(u.isElement==null?void 0:u.isElement(U)))&&($=d.floating[O]||l.floating[w]);const F=N/2-z/2,ve=$/2-_[w]/2-1,ye=Va(v[R],ve),me=Va(v[T],ve),de=$-_[w]-me,le=$/2-_[w]/2+F,te=iS(ye,le,de),ge=!m.arrow&&Gs(o)!=null&&le!==te&&l.reference[w]/2-(lete<=0)){var me,de;const te=(((me=l.flip)==null?void 0:me.index)||0)+1,ge=$[te];if(ge&&(!(v==="alignment"?T!==Mr(ge):!1)||ye.every(re=>Mr(re.placement)===T?re.overflows[0]>0:!0)))return{data:{index:te,overflows:ye},reset:{placement:ge}};let L=(de=ye.filter(K=>K.overflows[0]<=0).sort((K,re)=>K.overflows[1]-re.overflows[1])[0])==null?void 0:de.placement;if(!L)switch(x){case"bestFit":{var le;const K=(le=ye.filter(re=>{if(U){const W=Mr(re.placement);return W===T||W==="y"}return!0}).map(re=>[re.placement,re.overflows.filter(W=>W>0).reduce((W,ne)=>W+ne,0)]).sort((re,W)=>re[1]-W[1])[0])==null?void 0:le[0];K&&(L=K);break}case"initialPlacement":L=d;break}if(o!==L)return{reset:{placement:L}}}return{}}}};function Gb(e,n){return{top:e.top-n.height,right:e.right-n.width,bottom:e.bottom-n.height,left:e.left-n.width}}function Zb(e){return rO.some(n=>e[n]>=0)}const vO=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(n){const{rects:r,platform:i}=n,{strategy:o="referenceHidden",...l}=ia(e,n);switch(o){case"referenceHidden":{const u=await i.detectOverflow(n,{...l,elementContext:"reference"}),d=Gb(u,r.reference);return{data:{referenceHiddenOffsets:d,referenceHidden:Zb(d)}}}case"escaped":{const u=await i.detectOverflow(n,{...l,altBoundary:!0}),d=Gb(u,r.floating);return{data:{escapedOffsets:d,escaped:Zb(d)}}}default:return{}}}}},oS=new Set(["left","top"]);async function yO(e,n){const{placement:r,platform:i,elements:o}=e,l=await(i.isRTL==null?void 0:i.isRTL(o.floating)),u=Ua(r),d=Gs(r),m=Mr(r)==="y",p=oS.has(u)?-1:1,y=l&&m?-1:1,v=ia(n,e);let{mainAxis:b,crossAxis:x,alignmentAxis:w}=typeof v=="number"?{mainAxis:v,crossAxis:0,alignmentAxis:null}:{mainAxis:v.mainAxis||0,crossAxis:v.crossAxis||0,alignmentAxis:v.alignmentAxis};return d&&typeof w=="number"&&(x=d==="end"?w*-1:w),m?{x:x*y,y:b*p}:{x:b*p,y:x*y}}const bO=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(n){var r,i;const{x:o,y:l,placement:u,middlewareData:d}=n,m=await yO(n,e);return u===((r=d.offset)==null?void 0:r.placement)&&(i=d.arrow)!=null&&i.alignmentOffset?{}:{x:o+m.x,y:l+m.y,data:{...m,placement:u}}}}},xO=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(n){const{x:r,y:i,placement:o,platform:l}=n,{mainAxis:u=!0,crossAxis:d=!1,limiter:m={fn:T=>{let{x:O,y:N}=T;return{x:O,y:N}}},...p}=ia(e,n),y={x:r,y:i},v=await l.detectOverflow(n,p),b=Mr(o),x=bp(b);let w=y[x],_=y[b];const E=(T,O)=>iS(O+v[T==="y"?"top":"left"],O,O-v[T==="y"?"bottom":"right"]);u&&(w=E(x,w)),d&&(_=E(b,_));const R=m.fn({...n,[x]:w,[b]:_});return{...R,data:{x:R.x-r,y:R.y-i,enabled:{[x]:u,[b]:d}}}}}},wO=function(e){return e===void 0&&(e={}),{options:e,fn(n){var r,i;const{x:o,y:l,placement:u,rects:d,middlewareData:m}=n,{offset:p=0,mainAxis:y=!0,crossAxis:v=!0}=ia(e,n),b={x:o,y:l},x=Mr(u),w=bp(x);let _=b[w],E=b[x];const R=ia(p,n),T=typeof R=="number"?{mainAxis:R,crossAxis:0}:{mainAxis:(r=R.mainAxis)!=null?r:0,crossAxis:(i=R.crossAxis)!=null?i:0};if(y){const z=w==="y"?"height":"width",U=d.reference[w]-d.floating[z]+T.mainAxis,$=d.reference[w]+d.reference[z]-T.mainAxis;_$&&(_=$)}if(v){var O,N;const z=w==="y"?"width":"height",U=oS.has(Ua(u)),$=d.reference[x]-d.floating[z]+(U&&((O=m.offset)==null?void 0:O[x])||0)+(U?0:T.crossAxis),F=d.reference[x]+d.reference[z]+(U?0:((N=m.offset)==null?void 0:N[x])||0)-(U?T.crossAxis:0);E<$?E=$:E>F&&(E=F)}return{[w]:_,[x]:E}}}},SO=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(n){const{placement:r,rects:i,platform:o,elements:l}=n,{apply:u=()=>{},...d}=ia(e,n),m=await o.detectOverflow(n,d),p=Ua(r),y=Gs(r),v=Mr(r)==="y",{width:b,height:x}=i.floating;let w,_;p==="top"||p==="bottom"?(w=p,_=y===(await(o.isRTL==null?void 0:o.isRTL(l.floating))?"start":"end")?"left":"right"):(_=p,w=y==="end"?"top":"bottom");const E=x-m.top-m.bottom,R=b-m.left-m.right,T=Va(x-m[w],E),O=Va(b-m[_],R),N=n.middlewareData.shift,z=!N;let U=T,$=O;N!=null&&N.enabled.x&&($=R),N!=null&&N.enabled.y&&(U=E),z&&!y&&(v?$=b-2*ra(m.left,m.right):U=x-2*ra(m.top,m.bottom)),await u({...n,availableWidth:$,availableHeight:U});const F=await o.getDimensions(l.floating);return b!==F.width||x!==F.height?{reset:{rects:!0}}:{}}}};function Lu(){return typeof window<"u"}function Zs(e){return lS(e)?(e.nodeName||"").toLowerCase():"#document"}function An(e){var n;return(e==null||(n=e.ownerDocument)==null?void 0:n.defaultView)||window}function sa(e){var n;return(n=(lS(e)?e.ownerDocument:e.document)||window.document)==null?void 0:n.documentElement}function lS(e){return Lu()?e instanceof Node||e instanceof An(e).Node:!1}function Nr(e){return Lu()?e instanceof Element||e instanceof An(e).Element:!1}function Za(e){return Lu()?e instanceof HTMLElement||e instanceof An(e).HTMLElement:!1}function Kb(e){return!Lu()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof An(e).ShadowRoot}function $u(e){const{overflow:n,overflowX:r,overflowY:i,display:o}=Dr(e);return/auto|scroll|overlay|hidden|clip/.test(n+i+r)&&o!=="inline"&&o!=="contents"}function _O(e){return/^(table|td|th)$/.test(Zs(e))}function Iu(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const CO=/transform|translate|scale|rotate|perspective|filter/,EO=/paint|layout|strict|content/,vi=e=>!!e&&e!=="none";let Ih;function Sp(e){const n=Nr(e)?Dr(e):e;return vi(n.transform)||vi(n.translate)||vi(n.scale)||vi(n.rotate)||vi(n.perspective)||!_p()&&(vi(n.backdropFilter)||vi(n.filter))||CO.test(n.willChange||"")||EO.test(n.contain||"")}function RO(e){let n=Ei(e);for(;Za(n)&&!il(n);){if(Sp(n))return n;if(Iu(n))return null;n=Ei(n)}return null}function _p(){return Ih==null&&(Ih=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Ih}function il(e){return/^(html|body|#document)$/.test(Zs(e))}function Dr(e){return An(e).getComputedStyle(e)}function Pu(e){return Nr(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Ei(e){if(Zs(e)==="html")return e;const n=e.assignedSlot||e.parentNode||Kb(e)&&e.host||sa(e);return Kb(n)?n.host:n}function cS(e){const n=Ei(e);return il(n)?(e.ownerDocument||e).body:Za(n)&&$u(n)?n:cS(n)}function sl(e,n,r){var i;n===void 0&&(n=[]),r===void 0&&(r=!0);const o=cS(e),l=o===((i=e.ownerDocument)==null?void 0:i.body),u=An(o);if(l){const d=wm(u);return n.concat(u,u.visualViewport||[],$u(o)?o:[],d&&r?sl(d):[])}else return n.concat(o,sl(o,[],r))}function wm(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function uS(e){const n=Dr(e);let r=parseFloat(n.width)||0,i=parseFloat(n.height)||0;const o=Za(e),l=o?e.offsetWidth:r,u=o?e.offsetHeight:i,d=mu(r)!==l||mu(i)!==u;return d&&(r=l,i=u),{width:r,height:i,$:d}}function Cp(e){return Nr(e)?e:e.contextElement}function Ls(e){const n=Cp(e);if(!Za(n))return aa(1);const r=n.getBoundingClientRect(),{width:i,height:o,$:l}=uS(n);let u=(l?mu(r.width):r.width)/i,d=(l?mu(r.height):r.height)/o;return(!u||!Number.isFinite(u))&&(u=1),(!d||!Number.isFinite(d))&&(d=1),{x:u,y:d}}const jO=aa(0);function dS(e){const n=An(e);return!_p()||!n.visualViewport?jO:{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}}function TO(e,n,r){return n===void 0&&(n=!1),!!r&&n&&r===An(e)}function Ri(e,n,r,i){n===void 0&&(n=!1),r===void 0&&(r=!1);const o=e.getBoundingClientRect(),l=Cp(e);let u=aa(1);n&&(i?Nr(i)&&(u=Ls(i)):u=Ls(e));const d=TO(l,r,i)?dS(l):aa(0);let m=(o.left+d.x)/u.x,p=(o.top+d.y)/u.y,y=o.width/u.x,v=o.height/u.y;if(l&&i){const b=An(l),x=Nr(i)?An(i):i;let w=b,_=wm(w);for(;_&&x!==w;){const E=Ls(_),R=_.getBoundingClientRect(),T=Dr(_),O=R.left+(_.clientLeft+parseFloat(T.paddingLeft))*E.x,N=R.top+(_.clientTop+parseFloat(T.paddingTop))*E.y;m*=E.x,p*=E.y,y*=E.x,v*=E.y,m+=O,p+=N,w=An(_),_=wm(w)}}return gu({width:y,height:v,x:m,y:p})}function Fu(e,n){const r=Pu(e).scrollLeft;return n?n.left+r:Ri(sa(e)).left+r}function fS(e,n){const r=e.getBoundingClientRect(),i=r.left+n.scrollLeft-Fu(e,r),o=r.top+n.scrollTop;return{x:i,y:o}}function OO(e){let{elements:n,rect:r,offsetParent:i,strategy:o}=e;const l=o==="fixed",u=sa(i),d=n?Iu(n.floating):!1;if(i===u||d&&l)return r;let m={scrollLeft:0,scrollTop:0},p=aa(1);const y=aa(0),v=Za(i);if((v||!l)&&((Zs(i)!=="body"||$u(u))&&(m=Pu(i)),v)){const x=Ri(i);p=Ls(i),y.x=x.x+i.clientLeft,y.y=x.y+i.clientTop}const b=u&&!v&&!l?fS(u,m):aa(0);return{width:r.width*p.x,height:r.height*p.y,x:r.x*p.x-m.scrollLeft*p.x+y.x+b.x,y:r.y*p.y-m.scrollTop*p.y+y.y+b.y}}function AO(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function MO(e){const n=Pu(e),r=e.ownerDocument.body,i=ra(e.scrollWidth,e.clientWidth,r.scrollWidth,r.clientWidth),o=ra(e.scrollHeight,e.clientHeight,r.scrollHeight,r.clientHeight);let l=-n.scrollLeft+Fu(e);const u=-n.scrollTop;return Dr(r).direction==="rtl"&&(l+=ra(e.clientWidth,r.clientWidth)-i),{width:i,height:o,x:l,y:u}}const NO=25;function DO(e,n,r){r===void 0&&(r="viewport");const i=r==="layoutViewport",o=An(e),l=sa(e),u=o.visualViewport;let d=l.clientWidth,m=l.clientHeight,p=0,y=0;if(u){const b=!_p()||n==="fixed";i?b||(p=-u.offsetLeft,y=-u.offsetTop):(d=u.width,m=u.height,b&&(p=u.offsetLeft,y=u.offsetTop))}if(Fu(l)<=0){const b=l.ownerDocument,x=b.body,w=getComputedStyle(x),_=b.compatMode==="CSS1Compat"&&parseFloat(w.marginLeft)+parseFloat(w.marginRight)||0,E=Math.abs(l.clientWidth-x.clientWidth-_),R=getComputedStyle(l).scrollbarGutter==="stable both-edges"?E/2:E;R<=NO&&(d-=R)}return{width:d,height:m,x:p,y}}function zO(e,n){const r=Ri(e,!0,n==="fixed"),i=r.top+e.clientTop,o=r.left+e.clientLeft,l=Ls(e),u=e.clientWidth*l.x,d=e.clientHeight*l.y,m=o*l.x,p=i*l.y;return{width:u,height:d,x:m,y:p}}function Yb(e,n,r){let i;if(n==="viewport"||n==="layoutViewport")i=DO(e,r,n);else if(n==="document")i=MO(sa(e));else if(Nr(n))i=zO(n,r);else{const o=dS(e);i={x:n.x-o.x,y:n.y-o.y,width:n.width,height:n.height}}return gu(i)}function kO(e,n){const r=n.get(e);if(r)return r;let i=sl(e,[],!1).filter(d=>Nr(d)&&Zs(d)!=="body"),o=null;const l=Dr(e).position==="fixed";let u=l?Ei(e):e;for(;Nr(u)&&!il(u);){const d=Dr(u),m=Sp(u),p=o?o.position:l?"fixed":"";!m&&(p==="fixed"||p==="absolute"&&d.position==="static")?i=i.filter(v=>v!==u):o=d,u=Ei(u)}return n.set(e,i),i}function LO(e){let{element:n,boundary:r,rootBoundary:i,strategy:o}=e;const u=[...r==="clippingAncestors"?Iu(n)?[]:kO(n,this._c):[].concat(r),i],d=Yb(n,u[0],o);let m=d.top,p=d.right,y=d.bottom,v=d.left;for(let b=1;b{d(!1,1e-7)},1e3)}$=!1}try{i=new IntersectionObserver(F,{...U,root:l.ownerDocument})}catch{i=new IntersectionObserver(F,U)}i.observe(e)}const m=An(e),p=()=>d(r);return m.addEventListener("resize",p),d(!0),()=>{m.removeEventListener("resize",p),u()}}function HO(e,n,r,i){i===void 0&&(i={});const{ancestorScroll:o=!0,ancestorResize:l=!0,elementResize:u=typeof ResizeObserver=="function",layoutShift:d=typeof IntersectionObserver=="function",animationFrame:m=!1}=i,p=Cp(e),y=o||l?[...p?sl(p):[],...n?sl(n):[]]:[];y.forEach(R=>{o&&R.addEventListener("scroll",r),l&&R.addEventListener("resize",r)});const v=p&&d?UO(p,r,l):null;let b=-1,x=null;u&&(x=new ResizeObserver(R=>{let[T]=R;T&&T.target===p&&x&&n&&(x.unobserve(n),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{var O;(O=x)==null||O.observe(n)})),r()}),p&&!m&&x.observe(p),n&&x.observe(n));let w,_=m?Ri(e):null;m&&E();function E(){const R=Ri(e);_&&!mS(_,R)&&r(),_=R,w=requestAnimationFrame(E)}return r(),()=>{var R;y.forEach(T=>{o&&T.removeEventListener("scroll",r),l&&T.removeEventListener("resize",r)}),v?.(),(R=x)==null||R.disconnect(),x=null,m&&cancelAnimationFrame(w)}}const BO=bO,qO=xO,GO=gO,ZO=SO,KO=vO,Xb=pO,YO=wO,QO=(e,n,r)=>{const i=new Map,o=r??{},l={...VO,...o.platform,_c:i};return mO(e,n,{...o,platform:l})};var XO=typeof document<"u",JO=function(){},su=XO?S.useLayoutEffect:JO;function vu(e,n){if(e===n)return!0;if(typeof e!=typeof n)return!1;if(typeof e=="function"&&e.toString()===n.toString())return!0;let r,i,o;if(e&&n&&typeof e=="object"){if(Array.isArray(e)){if(r=e.length,r!==n.length)return!1;for(i=r;i--!==0;)if(!vu(e[i],n[i]))return!1;return!0}if(o=Object.keys(e),r=o.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!{}.hasOwnProperty.call(n,o[i]))return!1;for(i=r;i--!==0;){const l=o[i];if(!(l==="_owner"&&e.$$typeof)&&!vu(e[l],n[l]))return!1}return!0}return e!==e&&n!==n}function pS(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Jb(e,n){const r=pS(e);return Math.round(n*r)/r}function Fh(e){const n=S.useRef(e);return su(()=>{n.current=e}),n}function WO(e){e===void 0&&(e={});const{placement:n="bottom",strategy:r="absolute",middleware:i=[],platform:o,elements:{reference:l,floating:u}={},transform:d=!0,whileElementsMounted:m,open:p}=e,[y,v]=S.useState({x:0,y:0,strategy:r,placement:n,middlewareData:{},isPositioned:!1}),[b,x]=S.useState(i);vu(b,i)||x(i);const[w,_]=S.useState(null),[E,R]=S.useState(null),T=S.useCallback(re=>{re!==U.current&&(U.current=re,_(re))},[]),O=S.useCallback(re=>{re!==$.current&&($.current=re,R(re))},[]),N=l||w,z=u||E,U=S.useRef(null),$=S.useRef(null),F=S.useRef(y),ve=m!=null,ye=Fh(m),me=Fh(o),de=Fh(p),le=S.useCallback(()=>{if(!U.current||!$.current)return;const re={placement:n,strategy:r,middleware:b};me.current&&(re.platform=me.current),QO(U.current,$.current,re).then(W=>{const ne={...W,isPositioned:de.current!==!1};te.current&&!vu(F.current,ne)&&(F.current=ne,Ni.flushSync(()=>{v(ne)}))})},[b,n,r,me,de]);su(()=>{p===!1&&F.current.isPositioned&&(F.current.isPositioned=!1,v(re=>({...re,isPositioned:!1})))},[p]);const te=S.useRef(!1);su(()=>(te.current=!0,()=>{te.current=!1}),[]),su(()=>{if(N&&(U.current=N),z&&($.current=z),N&&z){if(ye.current)return ye.current(N,z,le);le()}},[N,z,le,ye,ve]);const ge=S.useMemo(()=>({reference:U,floating:$,setReference:T,setFloating:O}),[T,O]),L=S.useMemo(()=>({reference:N,floating:z}),[N,z]),K=S.useMemo(()=>{const re={position:r,left:0,top:0};if(!L.floating)return re;const W=Jb(L.floating,y.x),ne=Jb(L.floating,y.y);return d?{...re,transform:"translate("+W+"px, "+ne+"px)",...pS(L.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:W,top:ne}},[r,d,L.floating,y.x,y.y]);return S.useMemo(()=>({...y,update:le,refs:ge,elements:L,floatingStyles:K}),[y,le,ge,L,K])}const eA=e=>{function n(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:e,fn(r){const{element:i,padding:o}=typeof e=="function"?e(r):e;return i&&n(i)?i.current!=null?Xb({element:i.current,padding:o}).fn(r):{}:i?Xb({element:i,padding:o}).fn(r):{}}}},tA=(e,n)=>{const r=BO(e);return{name:r.name,fn:r.fn,options:[e,n]}},nA=(e,n)=>{const r=qO(e);return{name:r.name,fn:r.fn,options:[e,n]}},rA=(e,n)=>({fn:YO(e).fn,options:[e,n]}),aA=(e,n)=>{const r=GO(e);return{name:r.name,fn:r.fn,options:[e,n]}},iA=(e,n)=>{const r=ZO(e);return{name:r.name,fn:r.fn,options:[e,n]}},sA=(e,n)=>{const r=KO(e);return{name:r.name,fn:r.fn,options:[e,n]}},oA=(e,n)=>{const r=eA(e);return{name:r.name,fn:r.fn,options:[e,n]}};var lA="Arrow",gS=S.forwardRef((e,n)=>{const{children:r,width:i=10,height:o=5,...l}=e;return f.jsx($e.svg,{...l,ref:n,width:i,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:f.jsx("polygon",{points:"0,0 30,0 15,10"})})});gS.displayName=lA;var cA=gS,Ep="Popper",[vS,Ks]=Ga(Ep),[uA,yS]=vS(Ep),bS=e=>{const{__scopePopper:n,children:r}=e,[i,o]=S.useState(null),[l,u]=S.useState(void 0);return f.jsx(uA,{scope:n,anchor:i,onAnchorChange:o,placementState:l,setPlacementState:u,children:r})};bS.displayName=Ep;var xS="PopperAnchor",wS=S.forwardRef((e,n)=>{const{__scopePopper:r,virtualRef:i,...o}=e,l=yS(xS,r),u=S.useRef(null),d=l.onAnchorChange,m=S.useCallback(w=>{u.current=w,w&&d(w)},[d]),p=nt(n,m),y=S.useRef(null);S.useEffect(()=>{if(!i)return;const w=y.current;y.current=i.current,w!==y.current&&d(y.current)});const v=l.placementState&&jp(l.placementState),b=v?.[0],x=v?.[1];return i?null:f.jsx($e.div,{"data-radix-popper-side":b,"data-radix-popper-align":x,...o,ref:p})});wS.displayName=xS;var Rp="PopperContent",[dA,fA]=vS(Rp),SS=S.forwardRef((e,n)=>{const{__scopePopper:r,side:i="bottom",sideOffset:o=0,align:l="center",alignOffset:u=0,arrowPadding:d=0,avoidCollisions:m=!0,collisionBoundary:p=[],collisionPadding:y=0,sticky:v="partial",hideWhenDetached:b=!1,updatePositionStrategy:x="optimized",onPlaced:w,..._}=e,E=yS(Rp,r),[R,T]=S.useState(null),O=nt(n,T),[N,z]=S.useState(null),U=nO(N),$=U?.width??0,F=U?.height??0,ve=i+(l!=="center"?"-"+l:""),ye=typeof y=="number"?y:{top:0,right:0,bottom:0,left:0,...y},me=Array.isArray(p)?p:[p],de=me.length>0,le={padding:ye,boundary:me.filter(mA),altBoundary:de},{refs:te,floatingStyles:ge,placement:L,isPositioned:K,middlewareData:re}=WO({strategy:"fixed",placement:ve,whileElementsMounted:(...be)=>HO(...be,{animationFrame:x==="always"}),elements:{reference:E.anchor},middleware:[tA({mainAxis:o+F,alignmentAxis:u}),m&&nA({mainAxis:!0,crossAxis:!1,limiter:v==="partial"?rA():void 0,...le}),m&&aA({...le}),iA({...le,apply:({elements:be,rects:xe,availableWidth:Oe,availableHeight:Ie})=>{const{width:Ve,height:it}=xe.reference,Qe=be.floating.style;Qe.setProperty("--radix-popper-available-width",`${Oe}px`),Qe.setProperty("--radix-popper-available-height",`${Ie}px`),Qe.setProperty("--radix-popper-anchor-width",`${Ve}px`),Qe.setProperty("--radix-popper-anchor-height",`${it}px`)}}),N&&oA({element:N,padding:d}),pA({arrowWidth:$,arrowHeight:F}),b&&sA({strategy:"referenceHidden",...le,boundary:de?le.boundary:void 0})]}),W=E.setPlacementState;Yt(()=>(W(L),()=>{W(void 0)}),[L,W]);const[ne,D]=jp(L),M=tr(w);Yt(()=>{K&&M?.()},[K,M]);const B=re.arrow?.x,X=re.arrow?.y,Y=re.arrow?.centerOffset!==0,[ce,ae]=S.useState();return Yt(()=>{R&&ae(window.getComputedStyle(R).zIndex)},[R]),f.jsx("div",{ref:te.setFloating,"data-radix-popper-content-wrapper":"",style:{...ge,transform:K?ge.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ce,"--radix-popper-transform-origin":[re.transformOrigin?.x,re.transformOrigin?.y].join(" "),...re.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:f.jsx(dA,{scope:r,placedSide:ne,placedAlign:D,onArrowChange:z,arrowX:B,arrowY:X,shouldHideArrow:Y,children:f.jsx($e.div,{"data-side":ne,"data-align":D,..._,ref:O,style:{..._.style,animation:K?void 0:"none"}})})})});SS.displayName=Rp;var _S="PopperArrow",hA={top:"bottom",right:"left",bottom:"top",left:"right"},CS=S.forwardRef(function(n,r){const{__scopePopper:i,...o}=n,l=fA(_S,i),u=hA[l.placedSide];return f.jsx("span",{ref:l.onArrowChange,style:{position:"absolute",left:l.arrowX,top:l.arrowY,[u]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[l.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[l.placedSide],visibility:l.shouldHideArrow?"hidden":void 0},children:f.jsx(cA,{...o,ref:r,style:{...o.style,display:"block"}})})});CS.displayName=_S;function mA(e){return e!==null}var pA=e=>({name:"transformOrigin",options:e,fn(n){const{placement:r,rects:i,middlewareData:o}=n,u=o.arrow?.centerOffset!==0,d=u?0:e.arrowWidth,m=u?0:e.arrowHeight,[p,y]=jp(r),v={start:"0%",center:"50%",end:"100%"}[y],b=(o.arrow?.x??0)+d/2,x=(o.arrow?.y??0)+m/2;let w="",_="";return p==="bottom"?(w=u?v:`${b}px`,_=`${-m}px`):p==="top"?(w=u?v:`${b}px`,_=`${i.floating.height+m}px`):p==="right"?(w=`${-m}px`,_=u?v:`${x}px`):p==="left"&&(w=`${i.floating.width+m}px`,_=u?v:`${x}px`),{data:{x:w,y:_}}}});function jp(e){const[n,r="center"]=e.split("-");return[n,r]}var Tp=bS,Op=wS,Ap=SS,Mp=CS,Vh=!1;function gA(){const[e,n]=S.useState(Vh);return S.useEffect(()=>{Vh||(Vh=!0,n(!0))},[]),e}var ES=Au[" useSyncExternalStore ".trim().toString()];function vA(){return()=>{}}function yA(){return ES(vA,()=>!0,()=>!1)}var bA=typeof ES=="function"?yA:gA,Uh="rovingFocusGroup.onEntryFocus",xA={bubbles:!1,cancelable:!0},bl="RovingFocusGroup",[Sm,RS,wA]=lp(bl),[SA,jS]=Ga(bl,[wA]),[_A,CA]=SA(bl),TS=S.forwardRef((e,n)=>f.jsx(Sm.Provider,{scope:e.__scopeRovingFocusGroup,children:f.jsx(Sm.Slot,{scope:e.__scopeRovingFocusGroup,children:f.jsx(EA,{...e,ref:n})})}));TS.displayName=bl;var EA=S.forwardRef((e,n)=>{const{__scopeRovingFocusGroup:r,orientation:i,loop:o=!1,dir:l,currentTabStopId:u,defaultCurrentTabStopId:d,onCurrentTabStopIdChange:m,onEntryFocus:p,preventScrollOnEntryFocus:y=!1,...v}=e,b=S.useRef(null),x=nt(n,b),w=cp(l),[_,E]=Vs({prop:u,defaultProp:d??null,onChange:m,caller:bl}),[R,T]=S.useState(!1),O=tr(p),N=RS(r),z=S.useRef(!1),[U,$]=S.useState(0);return S.useEffect(()=>{const F=b.current;if(F)return F.addEventListener(Uh,O),()=>F.removeEventListener(Uh,O)},[O]),f.jsx(_A,{scope:r,orientation:i,dir:w,loop:o,currentTabStopId:_,onItemFocus:S.useCallback(F=>E(F),[E]),onItemShiftTab:S.useCallback(()=>T(!0),[]),onFocusableItemAdd:S.useCallback(()=>$(F=>F+1),[]),onFocusableItemRemove:S.useCallback(()=>$(F=>F-1),[]),children:f.jsx($e.div,{tabIndex:R||U===0?-1:0,"data-orientation":i,...v,ref:x,style:{outline:"none",...e.style},onMouseDown:je(e.onMouseDown,()=>{z.current=!0}),onFocus:je(e.onFocus,F=>{const ve=!z.current;if(F.target===F.currentTarget&&ve&&!R){const ye=new CustomEvent(Uh,xA);if(F.currentTarget.dispatchEvent(ye),!ye.defaultPrevented){const me=N().filter(L=>L.focusable),de=me.find(L=>L.active),le=me.find(L=>L.id===_),ge=[de,le,...me].filter(Boolean).map(L=>L.ref.current);MS(ge,y)}}z.current=!1}),onBlur:je(e.onBlur,()=>T(!1))})})}),OS="RovingFocusGroupItem",AS=S.forwardRef((e,n)=>{const{__scopeRovingFocusGroup:r,focusable:i=!0,active:o=!1,tabStopId:l,children:u,...d}=e,m=dn(),p=l||m,y=CA(OS,r),v=y.currentTabStopId===p,b=RS(r),{onFocusableItemAdd:x,onFocusableItemRemove:w,currentTabStopId:_}=y,E=bA();return Yt(()=>{if(!(!E||!i))return x(),()=>w()},[E,i,x,w]),S.useEffect(()=>{if(!(E||!i))return x(),()=>w()},[E,i,x,w]),f.jsx(Sm.ItemSlot,{scope:r,id:p,focusable:i,active:o,children:f.jsx($e.span,{tabIndex:v?0:-1,"data-orientation":y.orientation,...d,ref:n,onMouseDown:je(e.onMouseDown,R=>{i?y.onItemFocus(p):R.preventDefault()}),onFocus:je(e.onFocus,()=>y.onItemFocus(p)),onKeyDown:je(e.onKeyDown,R=>{if(R.key==="Tab"&&R.shiftKey){y.onItemShiftTab();return}if(R.target!==R.currentTarget)return;const T=TA(R,y.orientation,y.dir);if(T!==void 0){if(R.metaKey||R.ctrlKey||R.altKey||R.shiftKey)return;R.preventDefault();let N=b().filter(z=>z.focusable).map(z=>z.ref.current);if(T==="last")N.reverse();else if(T==="prev"||T==="next"){T==="prev"&&N.reverse();const z=N.indexOf(R.currentTarget);N=y.loop?OA(N,z+1):N.slice(z+1)}setTimeout(()=>MS(N))}}),children:typeof u=="function"?u({isCurrentTabStop:v,hasTabStop:_!=null}):u})})});AS.displayName=OS;var RA={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function jA(e,n){return n!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function TA(e,n,r){const i=jA(e.key,r);if(!(n==="vertical"&&["ArrowLeft","ArrowRight"].includes(i))&&!(n==="horizontal"&&["ArrowUp","ArrowDown"].includes(i)))return RA[i]}function MS(e,n=!1){const r=document.activeElement;for(const i of e)if(i===r||(i.focus({preventScroll:n}),document.activeElement!==r))return}function OA(e,n){return e.map((r,i)=>e[(n+i)%e.length])}var AA=TS,MA=AS,_m=["Enter"," "],NA=["ArrowDown","PageUp","Home"],NS=["ArrowUp","PageDown","End"],DA=[...NA,...NS],zA={ltr:[..._m,"ArrowRight"],rtl:[..._m,"ArrowLeft"]},kA={ltr:["ArrowLeft"],rtl:["ArrowRight"]},xl="Menu",[ol,LA,$A]=lp(xl),[Di,DS]=Ga(xl,[$A,Ks,jS]),Vu=Ks(),zS=jS(),[IA,zi]=Di(xl),[PA,wl]=Di(xl),kS=e=>{const{__scopeMenu:n,open:r=!1,children:i,dir:o,onOpenChange:l,modal:u=!0}=e,d=Vu(n),[m,p]=S.useState(null),y=S.useRef(!1),v=tr(l),b=cp(o);return S.useEffect(()=>{const x=()=>{y.current=!0,document.addEventListener("pointerdown",w,{capture:!0,once:!0}),document.addEventListener("pointermove",w,{capture:!0,once:!0})},w=()=>y.current=!1;return document.addEventListener("keydown",x,{capture:!0}),()=>{document.removeEventListener("keydown",x,{capture:!0}),document.removeEventListener("pointerdown",w,{capture:!0}),document.removeEventListener("pointermove",w,{capture:!0})}},[]),S.useEffect(()=>{if(!r)return;const x=()=>v(!1);return window.addEventListener("blur",x),()=>window.removeEventListener("blur",x)},[r,v]),f.jsx(Tp,{...d,children:f.jsx(IA,{scope:n,open:r,onOpenChange:v,content:m,onContentChange:p,children:f.jsx(PA,{scope:n,onClose:S.useCallback(()=>v(!1),[v]),isUsingKeyboardRef:y,dir:b,modal:u,children:i})})})};kS.displayName=xl;var FA="MenuAnchor",Np=S.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e,o=Vu(r);return f.jsx(Op,{...o,...i,ref:n})});Np.displayName=FA;var Dp="MenuPortal",[VA,LS]=Di(Dp,{forceMount:void 0}),$S=e=>{const{__scopeMenu:n,forceMount:r,children:i,container:o}=e,l=zi(Dp,n);return f.jsx(VA,{scope:n,forceMount:r,children:f.jsx(vr,{present:r||l.open,children:f.jsx(yl,{asChild:!0,container:o,children:i})})})};$S.displayName=Dp;var er="MenuContent",[UA,zp]=Di(er),IS=S.forwardRef((e,n)=>{const r=LS(er,e.__scopeMenu),{forceMount:i=r.forceMount,...o}=e,l=zi(er,e.__scopeMenu),u=wl(er,e.__scopeMenu);return f.jsx(ol.Provider,{scope:e.__scopeMenu,children:f.jsx(vr,{present:i||l.open,children:f.jsx(ol.Slot,{scope:e.__scopeMenu,children:u.modal?f.jsx(HA,{...o,ref:n}):f.jsx(BA,{...o,ref:n})})})})}),HA=S.forwardRef((e,n)=>{const r=zi(er,e.__scopeMenu),i=S.useRef(null),o=nt(n,i);return S.useEffect(()=>{const l=i.current;if(l)return fp(l)},[]),f.jsx(kp,{...e,ref:o,trapFocus:r.open,disableOutsidePointerEvents:r.open,disableOutsideScroll:!0,onFocusOutside:je(e.onFocusOutside,l=>l.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>r.onOpenChange(!1)})}),BA=S.forwardRef((e,n)=>{const r=zi(er,e.__scopeMenu);return f.jsx(kp,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>r.onOpenChange(!1)})}),qA=Ci("MenuContent.ScrollLock"),kp=S.forwardRef((e,n)=>{const{__scopeMenu:r,loop:i=!1,trapFocus:o,onOpenAutoFocus:l,onCloseAutoFocus:u,disableOutsidePointerEvents:d,onEntryFocus:m,onEscapeKeyDown:p,onPointerDownOutside:y,onFocusOutside:v,onInteractOutside:b,onDismiss:x,disableOutsideScroll:w,..._}=e,E=zi(er,r),R=wl(er,r),T=Vu(r),O=zS(r),N=LA(r),[z,U]=S.useState(null),$=S.useRef(null),F=nt(n,$,E.onContentChange),ve=S.useRef(0),ye=S.useRef(""),me=S.useRef(0),de=S.useRef(null),le=S.useRef("right"),te=S.useRef(0),ge=w?zu:S.Fragment,L=w?{as:qA,allowPinchZoom:!0}:void 0,K=W=>{const ne=ye.current+W,D=N().filter(ae=>!ae.disabled),M=document.activeElement,B=D.find(ae=>ae.ref.current===M)?.textValue,X=D.map(ae=>ae.textValue),Y=rM(X,ne,B),ce=D.find(ae=>ae.textValue===Y)?.ref.current;(function ae(be){ye.current=be,window.clearTimeout(ve.current),be!==""&&(ve.current=window.setTimeout(()=>ae(""),1e3))})(ne),ce&&setTimeout(()=>ce.focus())};S.useEffect(()=>()=>window.clearTimeout(ve.current),[]),dp();const re=S.useCallback(W=>le.current===de.current?.side&&iM(W,de.current?.area),[]);return f.jsx(UA,{scope:r,searchRef:ye,onItemEnter:S.useCallback(W=>{re(W)&&W.preventDefault()},[re]),onItemLeave:S.useCallback(W=>{re(W)||($.current?.focus(),U(null))},[re]),onTriggerLeave:S.useCallback(W=>{re(W)&&W.preventDefault()},[re]),pointerGraceTimerRef:me,onPointerGraceIntentChange:S.useCallback(W=>{de.current=W},[]),children:f.jsx(ge,{...L,children:f.jsx(Nu,{asChild:!0,trapped:o,onMountAutoFocus:je(l,W=>{W.preventDefault(),$.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:u,children:f.jsx(vl,{asChild:!0,disableOutsidePointerEvents:d,onEscapeKeyDown:p,onPointerDownOutside:y,onFocusOutside:v,onInteractOutside:b,onDismiss:x,children:f.jsx(AA,{asChild:!0,...O,dir:R.dir,orientation:"vertical",loop:i,currentTabStopId:z,onCurrentTabStopIdChange:U,onEntryFocus:je(m,W=>{R.isUsingKeyboardRef.current||W.preventDefault()}),preventScrollOnEntryFocus:!0,children:f.jsx(Ap,{role:"menu","aria-orientation":"vertical","data-state":e1(E.open),"data-radix-menu-content":"",dir:R.dir,...T,..._,ref:F,style:{outline:"none",..._.style},onKeyDown:je(_.onKeyDown,W=>{const D=W.target.closest("[data-radix-menu-content]")===W.currentTarget,M=W.ctrlKey||W.altKey||W.metaKey,B=W.key.length===1;D&&(W.key==="Tab"&&W.preventDefault(),!M&&B&&K(W.key));const X=$.current;if(W.target!==X||!DA.includes(W.key))return;W.preventDefault();const ce=N().filter(ae=>!ae.disabled).map(ae=>ae.ref.current);NS.includes(W.key)&&ce.reverse(),tM(ce)}),onBlur:je(e.onBlur,W=>{W.currentTarget.contains(W.target)||(window.clearTimeout(ve.current),ye.current="")}),onPointerMove:je(e.onPointerMove,ll(W=>{const ne=W.target,D=te.current!==W.clientX;if(W.currentTarget.contains(ne)&&D){const M=W.clientX>te.current?"right":"left";le.current=M,te.current=W.clientX}}))})})})})})})});IS.displayName=er;var GA="MenuGroup",Lp=S.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e;return f.jsx($e.div,{role:"group",...i,ref:n})});Lp.displayName=GA;var ZA="MenuLabel",PS=S.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e;return f.jsx($e.div,{...i,ref:n})});PS.displayName=ZA;var yu="MenuItem",Wb="menu.itemSelect",Uu=S.forwardRef((e,n)=>{const{disabled:r=!1,onSelect:i,...o}=e,l=S.useRef(null),u=wl(yu,e.__scopeMenu),d=zp(yu,e.__scopeMenu),m=nt(n,l),p=S.useRef(!1),y=()=>{const v=l.current;if(!r&&v){const b=new CustomEvent(Wb,{bubbles:!0,cancelable:!0});v.addEventListener(Wb,x=>i?.(x),{once:!0}),$w(v,b),b.defaultPrevented?p.current=!1:u.onClose()}};return f.jsx(FS,{...o,ref:m,disabled:r,onClick:je(e.onClick,y),onPointerDown:v=>{e.onPointerDown?.(v),p.current=!0},onPointerUp:je(e.onPointerUp,v=>{p.current||v.currentTarget?.click()}),onKeyDown:je(e.onKeyDown,v=>{r||v.target!==v.currentTarget||d.searchRef.current!==""&&v.key===" "||_m.includes(v.key)&&(v.currentTarget.click(),v.preventDefault())})})});Uu.displayName=yu;var FS=S.forwardRef((e,n)=>{const{__scopeMenu:r,disabled:i=!1,textValue:o,...l}=e,u=zp(yu,r),d=zS(r),m=S.useRef(null),p=nt(n,m),[y,v]=S.useState(!1),[b,x]=S.useState("");return S.useEffect(()=>{const w=m.current;w&&x((w.textContent??"").trim())},[l.children]),f.jsx(ol.ItemSlot,{scope:r,disabled:i,textValue:o??b,children:f.jsx(MA,{asChild:!0,...d,focusable:!i,children:f.jsx($e.div,{role:"menuitem","data-highlighted":y?"":void 0,"aria-disabled":i||void 0,"data-disabled":i?"":void 0,...l,ref:p,onPointerMove:je(e.onPointerMove,ll(w=>{i?u.onItemLeave(w):(u.onItemEnter(w),w.defaultPrevented||w.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:je(e.onPointerLeave,ll(w=>u.onItemLeave(w))),onFocus:je(e.onFocus,()=>v(!0)),onBlur:je(e.onBlur,()=>v(!1))})})})}),KA="MenuCheckboxItem",VS=S.forwardRef((e,n)=>{const{checked:r=!1,onCheckedChange:i,...o}=e;return f.jsx(GS,{scope:e.__scopeMenu,checked:r,children:f.jsx(Uu,{role:"menuitemcheckbox","aria-checked":bu(r)?"mixed":r,...o,ref:n,"data-state":Ip(r),onSelect:je(o.onSelect,()=>i?.(bu(r)?!0:!r),{checkForDefaultPrevented:!1})})})});VS.displayName=KA;var US="MenuRadioGroup",[YA,QA]=Di(US,{value:void 0,onValueChange:()=>{}}),HS=S.forwardRef((e,n)=>{const{value:r,onValueChange:i,...o}=e,l=tr(i);return f.jsx(YA,{scope:e.__scopeMenu,value:r,onValueChange:l,children:f.jsx(Lp,{...o,ref:n})})});HS.displayName=US;var BS="MenuRadioItem",qS=S.forwardRef((e,n)=>{const{value:r,...i}=e,o=QA(BS,e.__scopeMenu),l=r===o.value;return f.jsx(GS,{scope:e.__scopeMenu,checked:l,children:f.jsx(Uu,{role:"menuitemradio","aria-checked":l,...i,ref:n,"data-state":Ip(l),onSelect:je(i.onSelect,()=>o.onValueChange?.(r),{checkForDefaultPrevented:!1})})})});qS.displayName=BS;var $p="MenuItemIndicator",[GS,XA]=Di($p,{checked:!1}),ZS=S.forwardRef((e,n)=>{const{__scopeMenu:r,forceMount:i,...o}=e,l=XA($p,r);return f.jsx(vr,{present:i||bu(l.checked)||l.checked===!0,children:f.jsx($e.span,{...o,ref:n,"data-state":Ip(l.checked)})})});ZS.displayName=$p;var JA="MenuSeparator",KS=S.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e;return f.jsx($e.div,{role:"separator","aria-orientation":"horizontal",...i,ref:n})});KS.displayName=JA;var WA="MenuArrow",YS=S.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e,o=Vu(r);return f.jsx(Mp,{...o,...i,ref:n})});YS.displayName=WA;var eM="MenuSub",[hF,QS]=Di(eM),Ko="MenuSubTrigger",XS=S.forwardRef((e,n)=>{const r=zi(Ko,e.__scopeMenu),i=wl(Ko,e.__scopeMenu),o=QS(Ko,e.__scopeMenu),l=zp(Ko,e.__scopeMenu),u=S.useRef(null),{pointerGraceTimerRef:d,onPointerGraceIntentChange:m}=l,p={__scopeMenu:e.__scopeMenu},y=S.useCallback(()=>{u.current&&window.clearTimeout(u.current),u.current=null},[]);S.useEffect(()=>y,[y]),S.useEffect(()=>{const b=d.current;return()=>{window.clearTimeout(b),m(null)}},[d,m]);const v=nt(n,o.onTriggerChange);return f.jsx(Np,{asChild:!0,...p,children:f.jsx(FS,{id:o.triggerId,"aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":r.open?o.contentId:void 0,"data-state":e1(r.open),...e,ref:v,onClick:b=>{e.onClick?.(b),!(e.disabled||b.defaultPrevented)&&(b.currentTarget.focus(),r.open||r.onOpenChange(!0))},onPointerMove:je(e.onPointerMove,ll(b=>{l.onItemEnter(b),!b.defaultPrevented&&!e.disabled&&!r.open&&!u.current&&(l.onPointerGraceIntentChange(null),u.current=window.setTimeout(()=>{r.onOpenChange(!0),y()},100))})),onPointerLeave:je(e.onPointerLeave,ll(b=>{y();const x=r.content?.getBoundingClientRect();if(x){const w=r.content?.dataset.side,_=w==="right",E=_?-5:5,R=x[_?"left":"right"],T=x[_?"right":"left"];l.onPointerGraceIntentChange({area:[{x:b.clientX+E,y:b.clientY},{x:R,y:x.top},{x:T,y:x.top},{x:T,y:x.bottom},{x:R,y:x.bottom}],side:w}),window.clearTimeout(d.current),d.current=window.setTimeout(()=>l.onPointerGraceIntentChange(null),300)}else{if(l.onTriggerLeave(b),b.defaultPrevented)return;l.onPointerGraceIntentChange(null)}})),onKeyDown:je(e.onKeyDown,b=>{e.disabled||b.target!==b.currentTarget||l.searchRef.current!==""&&b.key===" "||zA[i.dir].includes(b.key)&&(r.onOpenChange(!0),r.content?.focus(),b.preventDefault())})})})});XS.displayName=Ko;var JS="MenuSubContent",WS=S.forwardRef((e,n)=>{const r=LS(er,e.__scopeMenu),{forceMount:i=r.forceMount,align:o="start",...l}=e,u=zi(er,e.__scopeMenu),d=wl(er,e.__scopeMenu),m=QS(JS,e.__scopeMenu),p=S.useRef(null),y=nt(n,p);return f.jsx(ol.Provider,{scope:e.__scopeMenu,children:f.jsx(vr,{present:i||u.open,children:f.jsx(ol.Slot,{scope:e.__scopeMenu,children:f.jsx(kp,{id:m.contentId,"aria-labelledby":m.triggerId,...l,ref:y,align:o,side:d.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:v=>{d.isUsingKeyboardRef.current&&p.current?.focus(),v.preventDefault()},onCloseAutoFocus:v=>v.preventDefault(),onFocusOutside:je(e.onFocusOutside,v=>{v.target!==m.trigger&&u.onOpenChange(!1)}),onEscapeKeyDown:je(e.onEscapeKeyDown,v=>{d.onClose(),v.preventDefault()}),onKeyDown:je(e.onKeyDown,v=>{const b=v.currentTarget.contains(v.target),x=kA[d.dir].includes(v.key);b&&x&&(u.onOpenChange(!1),m.trigger?.focus(),v.preventDefault())})})})})})});WS.displayName=JS;function e1(e){return e?"open":"closed"}function bu(e){return e==="indeterminate"}function Ip(e){return bu(e)?"indeterminate":e?"checked":"unchecked"}function tM(e){const n=document.activeElement;for(const r of e)if(r===n||(r.focus(),document.activeElement!==n))return}function nM(e,n){return e.map((r,i)=>e[(n+i)%e.length])}function rM(e,n,r){const o=n.length>1&&Array.from(n).every(p=>p===n[0])?n[0]:n,l=r?e.indexOf(r):-1;let u=nM(e,Math.max(l,0));o.length===1&&(u=u.filter(p=>p!==r));const m=u.find(p=>p.toLowerCase().startsWith(o.toLowerCase()));return m!==r?m:void 0}function aM(e,n){const{x:r,y:i}=e;let o=!1;for(let l=0,u=n.length-1;li!=b>i&&r<(v-p)*(i-y)/(b-y)+p&&(o=!o)}return o}function iM(e,n){if(!n)return!1;const r={x:e.clientX,y:e.clientY};return aM(r,n)}function ll(e){return n=>n.pointerType==="mouse"?e(n):void 0}var sM=kS,oM=Np,lM=$S,cM=IS,uM=Lp,dM=PS,fM=Uu,hM=VS,mM=HS,pM=qS,gM=ZS,vM=KS,yM=YS,bM=XS,xM=WS,Hu="DropdownMenu",[wM]=Ga(Hu,[DS]),vn=DS(),[SM,t1]=wM(Hu),n1=e=>{const{__scopeDropdownMenu:n,children:r,dir:i,open:o,defaultOpen:l,onOpenChange:u,modal:d=!0}=e,m=vn(n),p=S.useRef(null),[y,v]=Vs({prop:o,defaultProp:l??!1,onChange:u,caller:Hu});return f.jsx(SM,{scope:n,triggerId:dn(),triggerRef:p,contentId:dn(),open:y,onOpenChange:v,onOpenToggle:S.useCallback(()=>v(b=>!b),[v]),modal:d,children:f.jsx(sM,{...m,open:y,onOpenChange:v,dir:i,modal:d,children:r})})};n1.displayName=Hu;var r1="DropdownMenuTrigger",a1=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,disabled:i=!1,...o}=e,l=t1(r1,r),u=vn(r),d=nt(n,l.triggerRef);return f.jsx(oM,{asChild:!0,...u,children:f.jsx($e.button,{type:"button",id:l.triggerId,"aria-haspopup":"menu","aria-expanded":l.open,"aria-controls":l.open?l.contentId:void 0,"data-state":l.open?"open":"closed","data-disabled":i?"":void 0,disabled:i,...o,ref:d,onPointerDown:je(e.onPointerDown,m=>{!i&&m.button===0&&m.ctrlKey===!1&&(l.onOpenToggle(),l.open||m.preventDefault())}),onKeyDown:je(e.onKeyDown,m=>{i||(["Enter"," "].includes(m.key)&&l.onOpenToggle(),m.key==="ArrowDown"&&l.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(m.key)&&m.preventDefault())})})})});a1.displayName=r1;var _M="DropdownMenuPortal",i1=e=>{const{__scopeDropdownMenu:n,...r}=e,i=vn(n);return f.jsx(lM,{...i,...r})};i1.displayName=_M;var s1="DropdownMenuContent",o1=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,o=t1(s1,r),l=vn(r),u=S.useRef(!1);return f.jsx(cM,{id:o.contentId,"aria-labelledby":o.triggerId,...l,...i,ref:n,onCloseAutoFocus:je(e.onCloseAutoFocus,d=>{u.current||o.triggerRef.current?.focus(),u.current=!1,d.preventDefault()}),onInteractOutside:je(e.onInteractOutside,d=>{const m=d.detail.originalEvent,p=m.button===0&&m.ctrlKey===!0,y=m.button===2||p;(!o.modal||y)&&(u.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});o1.displayName=s1;var CM="DropdownMenuGroup",EM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,o=vn(r);return f.jsx(uM,{...o,...i,ref:n})});EM.displayName=CM;var RM="DropdownMenuLabel",l1=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,o=vn(r);return f.jsx(dM,{...o,...i,ref:n})});l1.displayName=RM;var jM="DropdownMenuItem",c1=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,o=vn(r);return f.jsx(fM,{...o,...i,ref:n})});c1.displayName=jM;var TM="DropdownMenuCheckboxItem",OM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,o=vn(r);return f.jsx(hM,{...o,...i,ref:n})});OM.displayName=TM;var AM="DropdownMenuRadioGroup",MM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,o=vn(r);return f.jsx(mM,{...o,...i,ref:n})});MM.displayName=AM;var NM="DropdownMenuRadioItem",DM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,o=vn(r);return f.jsx(pM,{...o,...i,ref:n})});DM.displayName=NM;var zM="DropdownMenuItemIndicator",kM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,o=vn(r);return f.jsx(gM,{...o,...i,ref:n})});kM.displayName=zM;var LM="DropdownMenuSeparator",$M=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,o=vn(r);return f.jsx(vM,{...o,...i,ref:n})});$M.displayName=LM;var IM="DropdownMenuArrow",PM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,o=vn(r);return f.jsx(yM,{...o,...i,ref:n})});PM.displayName=IM;var FM="DropdownMenuSubTrigger",VM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,o=vn(r);return f.jsx(bM,{...o,...i,ref:n})});VM.displayName=FM;var UM="DropdownMenuSubContent",HM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,o=vn(r);return f.jsx(xM,{...o,...i,ref:n,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});HM.displayName=UM;var BM=n1,qM=a1,GM=i1,ZM=o1,KM=l1,YM=c1,QM="Label",u1=S.forwardRef((e,n)=>f.jsx($e.label,{...e,ref:n,onMouseDown:r=>{r.target.closest("button, input, select, textarea")||(e.onMouseDown?.(r),!r.defaultPrevented&&r.detail>1&&r.preventDefault())}}));u1.displayName=QM;var XM=u1;function ex(e,[n,r]){return Math.min(r,Math.max(n,e))}var JM=[" ","Enter","ArrowUp","ArrowDown"],WM=[" ","Enter"],ji="Select",[Bu,qu,eN]=lp(ji),[ki]=Ga(ji,[eN,Ks]),Gu=Ks(),[tN,Ka]=ki(ji),[nN,rN]=ki(ji),aN="SelectProvider";function d1(e){const{__scopeSelect:n,children:r,open:i,defaultOpen:o,onOpenChange:l,value:u,defaultValue:d,onValueChange:m,dir:p,name:y,autoComplete:v,disabled:b,required:x,form:w,internal_do_not_use_render:_}=e,E=Gu(n),[R,T]=S.useState(null),[O,N]=S.useState(null),[z,U]=S.useState(!1),$=cp(p),[F,ve]=Vs({prop:i,defaultProp:o??!1,onChange:l,caller:ji}),[ye,me]=Vs({prop:u,defaultProp:d,onChange:m,caller:ji}),de=S.useRef(null),le=S.useRef(ye);S.useEffect(()=>{const M=w?R?.ownerDocument.getElementById(w):R?.form;if(M instanceof HTMLFormElement){const B=()=>me(le.current);return M.addEventListener("reset",B),()=>M.removeEventListener("reset",B)}},[w,R,me]);const te=R?!!w||!!R.closest("form"):!0,[ge,L]=S.useState(new Set),K=dn(),re=Array.from(ge).map(M=>M.props.value).join(";"),W=S.useCallback(M=>{L(B=>new Set(B).add(M))},[]),ne=S.useCallback(M=>{L(B=>{const X=new Set(B);return X.delete(M),X})},[]),D={required:x,trigger:R,onTriggerChange:T,valueNode:O,onValueNodeChange:N,valueNodeHasChildren:z,onValueNodeHasChildrenChange:U,contentId:K,value:ye,onValueChange:me,open:F,onOpenChange:ve,dir:$,triggerPointerDownPosRef:de,disabled:b,name:y,autoComplete:v,form:w,nativeOptions:ge,nativeSelectKey:re,isFormControl:te};return f.jsx(Tp,{...E,children:f.jsx(tN,{scope:n,...D,children:f.jsx(Bu.Provider,{scope:n,children:f.jsx(nN,{scope:n,onNativeOptionAdd:W,onNativeOptionRemove:ne,children:wN(_)?_(D):r})})})})}d1.displayName=aN;var f1=e=>{const{__scopeSelect:n,children:r,...i}=e;return f.jsx(d1,{__scopeSelect:n,...i,internal_do_not_use_render:({isFormControl:o})=>f.jsxs(f.Fragment,{children:[r,o?f.jsx(I1,{__scopeSelect:n}):null]})})};f1.displayName=ji;var h1="SelectTrigger",m1=S.forwardRef((e,n)=>{const{__scopeSelect:r,disabled:i=!1,...o}=e,l=Gu(r),u=Ka(h1,r),d=u.disabled||i,m=nt(n,u.onTriggerChange),p=qu(r),y=S.useRef("touch"),[v,b,x]=P1(_=>{const E=p().filter(O=>!O.disabled),R=E.find(O=>O.value===u.value),T=F1(E,_,R);T!==void 0&&u.onValueChange(T.value)}),w=_=>{d||(u.onOpenChange(!0),x()),_&&(u.triggerPointerDownPosRef.current={x:Math.round(_.pageX),y:Math.round(_.pageY)})};return f.jsx(Op,{asChild:!0,...l,children:f.jsx($e.button,{type:"button",role:"combobox","aria-controls":u.open?u.contentId:void 0,"aria-expanded":u.open,"aria-required":u.required,"aria-autocomplete":"none",dir:u.dir,"data-state":u.open?"open":"closed",disabled:d,"data-disabled":d?"":void 0,"data-placeholder":Zu(u.value)?"":void 0,...o,ref:m,onClick:je(o.onClick,_=>{_.currentTarget.focus(),y.current!=="mouse"&&w(_)}),onPointerDown:je(o.onPointerDown,_=>{y.current=_.pointerType;const E=_.target;E.hasPointerCapture(_.pointerId)&&E.releasePointerCapture(_.pointerId),_.button===0&&_.ctrlKey===!1&&_.pointerType==="mouse"&&(w(_),_.preventDefault())}),onKeyDown:je(o.onKeyDown,_=>{const E=v.current!=="";!(_.ctrlKey||_.altKey||_.metaKey)&&_.key.length===1&&b(_.key),!(E&&_.key===" ")&&JM.includes(_.key)&&(w(),_.preventDefault())})})})});m1.displayName=h1;var p1="SelectValue",g1=S.forwardRef((e,n)=>{const{__scopeSelect:r,className:i,style:o,children:l,placeholder:u="",...d}=e,m=Ka(p1,r),{onValueNodeHasChildrenChange:p}=m,y=l!==void 0,v=nt(n,m.onValueNodeChange);Yt(()=>{p(y)},[p,y]);const b=Zu(m.value);return f.jsx($e.span,{...d,asChild:b?!1:d.asChild,ref:v,style:{pointerEvents:"none"},children:f.jsx(S.Fragment,{children:b?u:l},b?"placeholder":"value")})});g1.displayName=p1;var iN="SelectIcon",v1=S.forwardRef((e,n)=>{const{__scopeSelect:r,children:i,...o}=e;return f.jsx($e.span,{"aria-hidden":!0,...o,ref:n,children:i||"▼"})});v1.displayName=iN;var y1="SelectPortal",[sN,oN]=ki(y1,{forceMount:void 0}),b1=e=>{const{__scopeSelect:n,forceMount:r,...i}=e;return f.jsx(sN,{scope:e.__scopeSelect,forceMount:r,children:f.jsx(yl,{asChild:!0,...i})})};b1.displayName=y1;var Ha="SelectContent",x1=S.forwardRef((e,n)=>{const r=oN(Ha,e.__scopeSelect),{forceMount:i=r.forceMount,...o}=e,l=Ka(Ha,e.__scopeSelect),[u,d]=S.useState();return Yt(()=>{d(new DocumentFragment)},[]),f.jsx(vr,{present:i||l.open,children:({present:m})=>m?f.jsx(_1,{...o,ref:n}):f.jsx(w1,{...o,fragment:u})})});x1.displayName=Ha;var w1=S.forwardRef((e,n)=>{const{__scopeSelect:r,children:i,fragment:o}=e;return o?Ni.createPortal(f.jsx(S1,{scope:r,children:f.jsx(Bu.Slot,{scope:r,children:f.jsx("div",{ref:n,children:i})})}),o):null});w1.displayName="SelectContentFragment";var fr=10,[S1,Ya]=ki(Ha),lN="SelectContentImpl",cN=Ci("SelectContent.RemoveScroll"),_1=S.forwardRef((e,n)=>{const{__scopeSelect:r}=e,{position:i="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:l,onPointerDownOutside:u,side:d,sideOffset:m,align:p,alignOffset:y,arrowPadding:v,collisionBoundary:b,collisionPadding:x,sticky:w,hideWhenDetached:_,avoidCollisions:E,...R}=e,T=Ka(Ha,r),[O,N]=S.useState(null),[z,U]=S.useState(null),$=nt(n,N),[F,ve]=S.useState(null),[ye,me]=S.useState(null),de=qu(r),[le,te]=S.useState(!1),ge=S.useRef(!1);S.useEffect(()=>{if(O)return fp(O)},[O]),dp();const L=S.useCallback(ae=>{const[be,...xe]=de().map(Ve=>Ve.ref.current),[Oe]=xe.slice(-1),Ie=document.activeElement;for(const Ve of ae)if(Ve===Ie||(Ve?.scrollIntoView({block:"nearest"}),Ve===be&&z&&(z.scrollTop=0),Ve===Oe&&z&&(z.scrollTop=z.scrollHeight),Ve?.focus(),document.activeElement!==Ie))return},[de,z]),K=S.useCallback(()=>L([F,O]),[L,F,O]);S.useEffect(()=>{le&&K()},[le,K]);const{onOpenChange:re,triggerPointerDownPosRef:W}=T;S.useEffect(()=>{if(O){let ae={x:0,y:0};const be=Oe=>{ae={x:Math.abs(Math.round(Oe.pageX)-(W.current?.x??0)),y:Math.abs(Math.round(Oe.pageY)-(W.current?.y??0))}},xe=Oe=>{ae.x<=10&&ae.y<=10?Oe.preventDefault():Oe.composedPath().includes(O)||re(!1),document.removeEventListener("pointermove",be),W.current=null};return W.current!==null&&(document.addEventListener("pointermove",be),document.addEventListener("pointerup",xe,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",be),document.removeEventListener("pointerup",xe,{capture:!0})}}},[O,re,W]),S.useEffect(()=>{const ae=()=>re(!1);return window.addEventListener("blur",ae),window.addEventListener("resize",ae),()=>{window.removeEventListener("blur",ae),window.removeEventListener("resize",ae)}},[re]);const[ne,D]=P1(ae=>{const be=de().filter(Ie=>!Ie.disabled),xe=be.find(Ie=>Ie.ref.current===document.activeElement),Oe=F1(be,ae,xe);Oe&&setTimeout(()=>Oe.ref.current?.focus())}),M=S.useCallback((ae,be,xe)=>{const Oe=!ge.current&&!xe;(T.value!==void 0&&T.value===be||Oe)&&(ve(ae),Oe&&(ge.current=!0))},[T.value]),B=S.useCallback(()=>O?.focus(),[O]),X=S.useCallback((ae,be,xe)=>{const Oe=!ge.current&&!xe;(T.value!==void 0&&T.value===be||Oe)&&me(ae)},[T.value]),Y=i==="popper"?Cm:C1,ce=Y===Cm?{side:d,sideOffset:m,align:p,alignOffset:y,arrowPadding:v,collisionBoundary:b,collisionPadding:x,sticky:w,hideWhenDetached:_,avoidCollisions:E}:{};return f.jsx(S1,{scope:r,content:O,viewport:z,onViewportChange:U,itemRefCallback:M,selectedItem:F,onItemLeave:B,itemTextRefCallback:X,focusSelectedItem:K,selectedItemText:ye,position:i,isPositioned:le,searchRef:ne,children:f.jsx(zu,{as:cN,allowPinchZoom:!0,children:f.jsx(Nu,{asChild:!0,trapped:T.open,onMountAutoFocus:ae=>{ae.preventDefault()},onUnmountAutoFocus:je(o,ae=>{T.trigger?.focus({preventScroll:!0}),ae.preventDefault()}),children:f.jsx(vl,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:ae=>ae.preventDefault(),onDismiss:()=>T.onOpenChange(!1),children:f.jsx(Y,{role:"listbox",id:T.contentId,"data-state":T.open?"open":"closed",dir:T.dir,onContextMenu:ae=>ae.preventDefault(),...R,...ce,onPlaced:()=>te(!0),ref:$,style:{display:"flex",flexDirection:"column",outline:"none",...R.style},onKeyDown:je(R.onKeyDown,ae=>{const be=ae.ctrlKey||ae.altKey||ae.metaKey;if(ae.key==="Tab"&&ae.preventDefault(),!be&&ae.key.length===1&&D(ae.key),["ArrowUp","ArrowDown","Home","End"].includes(ae.key)){let Oe=de().filter(Ie=>!Ie.disabled).map(Ie=>Ie.ref.current);if(["ArrowUp","End"].includes(ae.key)&&(Oe=Oe.slice().reverse()),["ArrowUp","ArrowDown"].includes(ae.key)){const Ie=ae.target,Ve=Oe.indexOf(Ie);Oe=Oe.slice(Ve+1)}setTimeout(()=>L(Oe)),ae.preventDefault()}})})})})})})});_1.displayName=lN;var uN="SelectItemAlignedPosition",C1=S.forwardRef((e,n)=>{const{__scopeSelect:r,onPlaced:i,...o}=e,l=Ka(Ha,r),u=Ya(Ha,r),[d,m]=S.useState(null),[p,y]=S.useState(null),v=nt(n,y),b=qu(r),x=S.useRef(!1),w=S.useRef(!0),{viewport:_,selectedItem:E,selectedItemText:R,focusSelectedItem:T}=u,O=S.useCallback(()=>{if(l.trigger&&l.valueNode&&d&&p&&_&&E&&R){const $=l.trigger.getBoundingClientRect(),F=p.getBoundingClientRect(),ve=l.valueNode.getBoundingClientRect(),ye=R.getBoundingClientRect();if(l.dir!=="rtl"){const Ie=ye.left-F.left,Ve=ve.left-Ie,it=$.left-Ve,Qe=$.width+it,fn=Math.max(Qe,F.width),hn=window.innerWidth-fr,Qt=ex(Ve,[fr,Math.max(fr,hn-fn)]);d.style.minWidth=Qe+"px",d.style.left=Qt+"px"}else{const Ie=F.right-ye.right,Ve=window.innerWidth-ve.right-Ie,it=window.innerWidth-$.right-Ve,Qe=$.width+it,fn=Math.max(Qe,F.width),hn=window.innerWidth-fr,Qt=ex(Ve,[fr,Math.max(fr,hn-fn)]);d.style.minWidth=Qe+"px",d.style.right=Qt+"px"}const me=b(),de=window.innerHeight-fr*2,le=_.scrollHeight,te=window.getComputedStyle(p),ge=parseInt(te.borderTopWidth,10),L=parseInt(te.paddingTop,10),K=parseInt(te.borderBottomWidth,10),re=parseInt(te.paddingBottom,10),W=ge+L+le+re+K,ne=Math.min(E.offsetHeight*5,W),D=window.getComputedStyle(_),M=parseInt(D.paddingTop,10),B=parseInt(D.paddingBottom,10),X=$.top+$.height/2-fr,Y=de-X,ce=E.offsetHeight/2,ae=E.offsetTop+ce,be=ge+L+ae,xe=W-be;if(be<=X){const Ie=me.length>0&&E===me[me.length-1].ref.current;d.style.bottom="0px";const Ve=p.clientHeight-_.offsetTop-_.offsetHeight,it=Math.max(Y,ce+(Ie?B:0)+Ve+K),Qe=be+it;d.style.height=Qe+"px"}else{const Ie=me.length>0&&E===me[0].ref.current;d.style.top="0px";const it=Math.max(X,ge+_.offsetTop+(Ie?M:0)+ce)+xe;d.style.height=it+"px",_.scrollTop=be-X+_.offsetTop}d.style.margin=`${fr}px 0`,d.style.minHeight=ne+"px",d.style.maxHeight=de+"px",i?.(),requestAnimationFrame(()=>x.current=!0)}},[b,l.trigger,l.valueNode,d,p,_,E,R,l.dir,i]);Yt(()=>O(),[O]);const[N,z]=S.useState();Yt(()=>{p&&z(window.getComputedStyle(p).zIndex)},[p]);const U=S.useCallback($=>{$&&w.current===!0&&(O(),T?.(),w.current=!1)},[O,T]);return f.jsx(fN,{scope:r,contentWrapper:d,shouldExpandOnScrollRef:x,onScrollButtonChange:U,children:f.jsx("div",{ref:m,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:N},children:f.jsx($e.div,{...o,ref:v,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});C1.displayName=uN;var dN="SelectPopperPosition",Cm=S.forwardRef((e,n)=>{const{__scopeSelect:r,align:i="start",collisionPadding:o=fr,...l}=e,u=Gu(r);return f.jsx(Ap,{...u,...l,ref:n,align:i,collisionPadding:o,style:{boxSizing:"border-box",...l.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Cm.displayName=dN;var[fN,Pp]=ki(Ha,{}),Em="SelectViewport",E1=S.forwardRef((e,n)=>{const{__scopeSelect:r,nonce:i,...o}=e,l=Ya(Em,r),u=Pp(Em,r),d=nt(n,l.onViewportChange),m=S.useRef(0);return f.jsxs(f.Fragment,{children:[f.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),f.jsx(Bu.Slot,{scope:r,children:f.jsx($e.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:d,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:je(o.onScroll,p=>{const y=p.currentTarget,{contentWrapper:v,shouldExpandOnScrollRef:b}=u;if(b?.current&&v){const x=Math.abs(m.current-y.scrollTop);if(x>0){const w=window.innerHeight-fr*2,_=parseFloat(v.style.minHeight),E=parseFloat(v.style.height),R=Math.max(_,E);if(R0?N:0,v.style.justifyContent="flex-end")}}}m.current=y.scrollTop})})})]})});E1.displayName=Em;var R1="SelectGroup",[hN,mN]=ki(R1),pN=S.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e,o=dn();return f.jsx(hN,{scope:r,id:o,children:f.jsx($e.div,{role:"group","aria-labelledby":o,...i,ref:n})})});pN.displayName=R1;var j1="SelectLabel",gN=S.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e,o=mN(j1,r);return f.jsx($e.div,{id:o.id,...i,ref:n})});gN.displayName=j1;var xu="SelectItem",[vN,T1]=ki(xu),O1=S.forwardRef((e,n)=>{const{__scopeSelect:r,value:i,disabled:o=!1,textValue:l,...u}=e,d=Ka(xu,r),m=Ya(xu,r),p=d.value===i,[y,v]=S.useState(l??""),[b,x]=S.useState(!1),w=tr(O=>m.itemRefCallback?.(O,i,o)),_=nt(n,w),E=dn(),R=S.useRef("touch"),T=()=>{o||(d.onValueChange(i),d.onOpenChange(!1))};return f.jsx(vN,{scope:r,value:i,disabled:o,textId:E,isSelected:p,onItemTextChange:S.useCallback(O=>{v(N=>N||(O?.textContent??"").trim())},[]),children:f.jsx(Bu.ItemSlot,{scope:r,value:i,disabled:o,textValue:y,children:f.jsx($e.div,{role:"option","aria-labelledby":E,"data-highlighted":b?"":void 0,"aria-selected":p&&b,"data-state":p?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...u,ref:_,onFocus:je(u.onFocus,()=>x(!0)),onBlur:je(u.onBlur,()=>x(!1)),onClick:je(u.onClick,()=>{R.current!=="mouse"&&T()}),onPointerUp:je(u.onPointerUp,()=>{R.current==="mouse"&&T()}),onPointerDown:je(u.onPointerDown,O=>{R.current=O.pointerType}),onPointerMove:je(u.onPointerMove,O=>{R.current=O.pointerType,o?m.onItemLeave?.():R.current==="mouse"&&O.currentTarget.focus({preventScroll:!0})}),onPointerLeave:je(u.onPointerLeave,O=>{O.currentTarget===document.activeElement&&m.onItemLeave?.()}),onKeyDown:je(u.onKeyDown,O=>{o||O.target!==O.currentTarget||m.searchRef?.current!==""&&O.key===" "||(WM.includes(O.key)&&T(),O.key===" "&&O.preventDefault())})})})})});O1.displayName=xu;var Yo="SelectItemText",A1=S.forwardRef((e,n)=>{const{__scopeSelect:r,className:i,style:o,...l}=e,u=Ka(Yo,r),d=Ya(Yo,r),m=T1(Yo,r),p=rN(Yo,r),[y,v]=S.useState(null),b=tr(T=>d.itemTextRefCallback?.(T,m.value,m.disabled)),x=nt(n,v,m.onItemTextChange,b),w=y?.textContent,_=S.useMemo(()=>f.jsx("option",{value:m.value,disabled:m.disabled,children:w},m.value),[m.disabled,m.value,w]),{onNativeOptionAdd:E,onNativeOptionRemove:R}=p;return Yt(()=>(E(_),()=>R(_)),[E,R,_]),f.jsxs(f.Fragment,{children:[f.jsx($e.span,{id:m.textId,...l,ref:x}),m.isSelected&&u.valueNode&&!u.valueNodeHasChildren&&!Zu(u.value)?Ni.createPortal(l.children,u.valueNode):null]})});A1.displayName=Yo;var M1="SelectItemIndicator",N1=S.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e;return T1(M1,r).isSelected?f.jsx($e.span,{"aria-hidden":!0,...i,ref:n}):null});N1.displayName=M1;var Rm="SelectScrollUpButton",D1=S.forwardRef((e,n)=>{const r=Ya(Rm,e.__scopeSelect),i=Pp(Rm,e.__scopeSelect),[o,l]=S.useState(!1),u=nt(n,i.onScrollButtonChange);return Yt(()=>{if(r.viewport&&r.isPositioned){let d=function(){const p=m.scrollTop>0;l(p)};const m=r.viewport;return d(),m.addEventListener("scroll",d),()=>m.removeEventListener("scroll",d)}},[r.viewport,r.isPositioned]),o?f.jsx(k1,{...e,ref:u,onAutoScroll:()=>{const{viewport:d,selectedItem:m}=r;d&&m&&(d.scrollTop=d.scrollTop-m.offsetHeight)}}):null});D1.displayName=Rm;var jm="SelectScrollDownButton",z1=S.forwardRef((e,n)=>{const r=Ya(jm,e.__scopeSelect),i=Pp(jm,e.__scopeSelect),[o,l]=S.useState(!1),u=nt(n,i.onScrollButtonChange);return Yt(()=>{if(r.viewport&&r.isPositioned){let d=function(){const p=m.scrollHeight-m.clientHeight,y=Math.ceil(m.scrollTop)m.removeEventListener("scroll",d)}},[r.viewport,r.isPositioned]),o?f.jsx(k1,{...e,ref:u,onAutoScroll:()=>{const{viewport:d,selectedItem:m}=r;d&&m&&(d.scrollTop=d.scrollTop+m.offsetHeight)}}):null});z1.displayName=jm;var k1=S.forwardRef((e,n)=>{const{__scopeSelect:r,onAutoScroll:i,...o}=e,l=Ya("SelectScrollButton",r),u=S.useRef(null),d=qu(r),m=S.useCallback(()=>{u.current!==null&&(window.clearInterval(u.current),u.current=null)},[]);return S.useEffect(()=>()=>m(),[m]),Yt(()=>{d().find(y=>y.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[d]),f.jsx($e.div,{"aria-hidden":!0,...o,ref:n,style:{flexShrink:0,...o.style},onPointerDown:je(o.onPointerDown,()=>{u.current===null&&(u.current=window.setInterval(i,50))}),onPointerMove:je(o.onPointerMove,()=>{l.onItemLeave?.(),u.current===null&&(u.current=window.setInterval(i,50))}),onPointerLeave:je(o.onPointerLeave,()=>{m()})})}),yN="SelectSeparator",bN=S.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e;return f.jsx($e.div,{"aria-hidden":!0,...i,ref:n})});bN.displayName=yN;var L1="SelectArrow",xN=S.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e,o=Gu(r);return Ya(L1,r).position==="popper"?f.jsx(Mp,{...o,...i,ref:n}):null});xN.displayName=L1;var $1="SelectBubbleInput",I1=S.forwardRef(({__scopeSelect:e,...n},r)=>{const i=Ka($1,e),{value:o,onValueChange:l,required:u,disabled:d,name:m,autoComplete:p,form:y}=i,{nativeOptions:v,nativeSelectKey:b}=i,x=S.useRef(null),w=nt(r,x),_=o??"",E=tO(_),R=Array.from(v).some(T=>(T.props.value??"")==="");return S.useEffect(()=>{const T=x.current;if(!T)return;const O=window.HTMLSelectElement.prototype,z=Object.getOwnPropertyDescriptor(O,"value").set;if(E!==_&&z){const U=new Event("change",{bubbles:!0});z.call(T,_),T.dispatchEvent(U)}},[E,_]),f.jsxs($e.select,{"aria-hidden":!0,required:u,tabIndex:-1,name:m,autoComplete:p,disabled:d,form:y,onChange:T=>l(T.target.value),...n,style:{...Iw,...n.style},ref:w,defaultValue:_,children:[Zu(o)&&!R?f.jsx("option",{value:""}):null,Array.from(v)]},b)});I1.displayName=$1;function wN(e){return typeof e=="function"}function Zu(e){return e===""||e===void 0}function P1(e){const n=tr(e),r=S.useRef(""),i=S.useRef(0),o=S.useCallback(u=>{const d=r.current+u;n(d),(function m(p){r.current=p,window.clearTimeout(i.current),p!==""&&(i.current=window.setTimeout(()=>m(""),1e3))})(d)},[n]),l=S.useCallback(()=>{r.current="",window.clearTimeout(i.current)},[]);return S.useEffect(()=>()=>window.clearTimeout(i.current),[]),[r,o,l]}function F1(e,n,r){const o=n.length>1&&Array.from(n).every(p=>p===n[0])?n[0]:n,l=r?e.indexOf(r):-1;let u=SN(e,Math.max(l,0));o.length===1&&(u=u.filter(p=>p!==r));const m=u.find(p=>p.textValue.toLowerCase().startsWith(o.toLowerCase()));return m!==r?m:void 0}function SN(e,n){return e.map((r,i)=>e[(n+i)%e.length])}var _N="Separator",tx="horizontal",CN=["horizontal","vertical"],V1=S.forwardRef((e,n)=>{const{decorative:r,orientation:i=tx,...o}=e,l=EN(i)?i:tx,d=r?{role:"none"}:{"aria-orientation":l==="vertical"?l:void 0,role:"separator"};return f.jsx($e.div,{"data-orientation":l,...d,...o,ref:n})});V1.displayName=_N;function EN(e){return CN.includes(e)}var RN=V1,[Ku]=Ga("Tooltip",[Ks]),Yu=Ks(),U1="TooltipProvider",jN=700,Tm="tooltip.open",[TN,Fp]=Ku(U1),H1=e=>{const{__scopeTooltip:n,delayDuration:r=jN,skipDelayDuration:i=300,disableHoverableContent:o=!1,children:l}=e,u=S.useRef(!0),d=S.useRef(!1),m=S.useRef(0);return S.useEffect(()=>{const p=m.current;return()=>window.clearTimeout(p)},[]),f.jsx(TN,{scope:n,isOpenDelayedRef:u,delayDuration:r,onOpen:S.useCallback(()=>{i<=0||(window.clearTimeout(m.current),u.current=!1)},[i]),onClose:S.useCallback(()=>{i<=0||(window.clearTimeout(m.current),m.current=window.setTimeout(()=>u.current=!0,i))},[i]),isPointerInTransitRef:d,onPointerInTransitChange:S.useCallback(p=>{d.current=p},[]),disableHoverableContent:o,children:l})};H1.displayName=U1;var cl="Tooltip",[ON,Sl]=Ku(cl),B1=e=>{const{__scopeTooltip:n,children:r,open:i,defaultOpen:o,onOpenChange:l,disableHoverableContent:u,delayDuration:d}=e,m=Fp(cl,e.__scopeTooltip),p=Yu(n),[y,v]=S.useState(null),b=dn(),x=S.useRef(0),w=u??m.disableHoverableContent,_=d??m.delayDuration,E=S.useRef(!1),[R,T]=Vs({prop:i,defaultProp:o??!1,onChange:$=>{$?(m.onOpen(),document.dispatchEvent(new CustomEvent(Tm))):m.onClose(),l?.($)},caller:cl}),O=S.useMemo(()=>R?E.current?"delayed-open":"instant-open":"closed",[R]),N=S.useCallback(()=>{window.clearTimeout(x.current),x.current=0,E.current=!1,T(!0)},[T]),z=S.useCallback(()=>{window.clearTimeout(x.current),x.current=0,T(!1)},[T]),U=S.useCallback(()=>{window.clearTimeout(x.current),x.current=window.setTimeout(()=>{E.current=!0,T(!0),x.current=0},_)},[_,T]);return S.useEffect(()=>()=>{x.current&&(window.clearTimeout(x.current),x.current=0)},[]),f.jsx(Tp,{...p,children:f.jsx(ON,{scope:n,contentId:b,open:R,stateAttribute:O,trigger:y,onTriggerChange:v,onTriggerEnter:S.useCallback(()=>{m.isOpenDelayedRef.current?U():N()},[m.isOpenDelayedRef,U,N]),onTriggerLeave:S.useCallback(()=>{w?z():(window.clearTimeout(x.current),x.current=0)},[z,w]),onOpen:N,onClose:z,disableHoverableContent:w,children:r})})};B1.displayName=cl;var Om="TooltipTrigger",q1=S.forwardRef((e,n)=>{const{__scopeTooltip:r,...i}=e,o=Sl(Om,r),l=Fp(Om,r),u=Yu(r),d=S.useRef(null),m=nt(n,d,o.onTriggerChange),p=S.useRef(!1),y=S.useRef(!1),v=S.useCallback(()=>p.current=!1,[]);return S.useEffect(()=>()=>document.removeEventListener("pointerup",v),[v]),f.jsx(Op,{asChild:!0,...u,children:f.jsx($e.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...i,ref:m,onPointerMove:je(e.onPointerMove,b=>{b.pointerType!=="touch"&&!y.current&&!l.isPointerInTransitRef.current&&(o.onTriggerEnter(),y.current=!0)}),onPointerLeave:je(e.onPointerLeave,()=>{o.onTriggerLeave(),y.current=!1}),onPointerDown:je(e.onPointerDown,()=>{o.open&&o.onClose(),p.current=!0,document.addEventListener("pointerup",v,{once:!0})}),onFocus:je(e.onFocus,()=>{p.current||o.onOpen()}),onBlur:je(e.onBlur,o.onClose),onClick:je(e.onClick,o.onClose)})})});q1.displayName=Om;var Vp="TooltipPortal",[AN,MN]=Ku(Vp,{forceMount:void 0}),G1=e=>{const{__scopeTooltip:n,forceMount:r,children:i,container:o}=e,l=Sl(Vp,n);return f.jsx(AN,{scope:n,forceMount:r,children:f.jsx(vr,{present:r||l.open,children:f.jsx(yl,{asChild:!0,container:o,children:i})})})};G1.displayName=Vp;var Hs="TooltipContent",Z1=S.forwardRef((e,n)=>{const r=MN(Hs,e.__scopeTooltip),{forceMount:i=r.forceMount,side:o="top",...l}=e,u=Sl(Hs,e.__scopeTooltip);return f.jsx(vr,{present:i||u.open,children:u.disableHoverableContent?f.jsx(K1,{side:o,...l,ref:n}):f.jsx(NN,{side:o,...l,ref:n})})}),NN=S.forwardRef((e,n)=>{const r=Sl(Hs,e.__scopeTooltip),i=Fp(Hs,e.__scopeTooltip),o=S.useRef(null),l=nt(n,o),[u,d]=S.useState(null),{trigger:m,onClose:p}=r,y=o.current,{onPointerInTransitChange:v}=i,b=S.useCallback(()=>{d(null),v(!1)},[v]),x=S.useCallback((w,_)=>{const E=w.currentTarget,R={x:w.clientX,y:w.clientY},T=LN(R,E.getBoundingClientRect()),O=$N(R,T),N=IN(_.getBoundingClientRect()),z=FN([...O,...N]);d(z),v(!0)},[v]);return S.useEffect(()=>()=>b(),[b]),S.useEffect(()=>{if(m&&y){const w=E=>x(E,y),_=E=>x(E,m);return m.addEventListener("pointerleave",w),y.addEventListener("pointerleave",_),()=>{m.removeEventListener("pointerleave",w),y.removeEventListener("pointerleave",_)}}},[m,y,x,b]),S.useEffect(()=>{if(u){const w=_=>{const E=_.target,R={x:_.clientX,y:_.clientY},T=m?.contains(E)||y?.contains(E),O=!PN(R,u);T?b():O&&(b(),p())};return document.addEventListener("pointermove",w),()=>document.removeEventListener("pointermove",w)}},[m,y,u,p,b]),f.jsx(K1,{...e,ref:l})}),[DN,zN]=Ku(cl,{isInside:!1}),kN=Sj("TooltipContent"),K1=S.forwardRef((e,n)=>{const{__scopeTooltip:r,children:i,"aria-label":o,onEscapeKeyDown:l,onPointerDownOutside:u,...d}=e,m=Sl(Hs,r),p=Yu(r),{onClose:y}=m;return S.useEffect(()=>(document.addEventListener(Tm,y),()=>document.removeEventListener(Tm,y)),[y]),S.useEffect(()=>{if(m.trigger){const v=b=>{b.target instanceof Node&&b.target.contains(m.trigger)&&y()};return window.addEventListener("scroll",v,{capture:!0}),()=>window.removeEventListener("scroll",v,{capture:!0})}},[m.trigger,y]),f.jsx(vl,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:v=>v.preventDefault(),onDismiss:y,children:f.jsxs(Ap,{"data-state":m.stateAttribute,...p,...d,ref:n,style:{...d.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[f.jsx(kN,{children:i}),f.jsx(DN,{scope:r,isInside:!0,children:f.jsx(Dj,{id:m.contentId,role:"tooltip",children:o||i})})]})})});Z1.displayName=Hs;var Y1="TooltipArrow",Q1=S.forwardRef((e,n)=>{const{__scopeTooltip:r,...i}=e,o=Yu(r);return zN(Y1,r).isInside?null:f.jsx(Mp,{...o,...i,ref:n})});Q1.displayName=Y1;function LN(e,n){const r=Math.abs(n.top-e.y),i=Math.abs(n.bottom-e.y),o=Math.abs(n.right-e.x),l=Math.abs(n.left-e.x);switch(Math.min(r,i,o,l)){case l:return"left";case o:return"right";case r:return"top";case i:return"bottom";default:throw new Error("unreachable")}}function $N(e,n,r=5){const i=[];switch(n){case"top":i.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":i.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":i.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":i.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r});break}return i}function IN(e){const{top:n,right:r,bottom:i,left:o}=e;return[{x:o,y:n},{x:r,y:n},{x:r,y:i},{x:o,y:i}]}function PN(e,n){const{x:r,y:i}=e;let o=!1;for(let l=0,u=n.length-1;li!=b>i&&r<(v-p)*(i-y)/(b-y)+p&&(o=!o)}return o}function FN(e){const n=e.slice();return n.sort((r,i)=>r.xi.x?1:r.yi.y?1:0),VN(n)}function VN(e){if(e.length<=1)return e.slice();const n=[];for(let i=0;i=2;){const l=n[n.length-1],u=n[n.length-2];if((l.x-u.x)*(o.y-u.y)>=(l.y-u.y)*(o.x-u.x))n.pop();else break}n.push(o)}n.pop();const r=[];for(let i=e.length-1;i>=0;i--){const o=e[i];for(;r.length>=2;){const l=r[r.length-1],u=r[r.length-2];if((l.x-u.x)*(o.y-u.y)>=(l.y-u.y)*(o.x-u.x))r.pop();else break}r.push(o)}return r.pop(),n.length===1&&r.length===1&&n[0].x===r[0].x&&n[0].y===r[0].y?n:n.concat(r)}var UN=H1,HN=B1,BN=q1,qN=G1,GN=Z1,ZN=Q1;function X1(e){var n,r,i="";if(typeof e=="string"||typeof e=="number")i+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(n=0;n{const r=new Array(e.length+n.length);for(let i=0;i({classGroupId:e,validator:n}),W1=(e=new Map,n=null,r)=>({nextPart:e,validators:n,classGroupId:r}),wu="-",nx=[],QN="arbitrary..",XN=e=>{const n=WN(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:i}=e;return{getClassGroupId:u=>{if(u.startsWith("[")&&u.endsWith("]"))return JN(u);const d=u.split(wu),m=d[0]===""&&d.length>1?1:0;return e_(d,m,n)},getConflictingClassGroupIds:(u,d)=>{if(d){const m=i[u],p=r[u];return m?p?KN(p,m):m:p||nx}return r[u]||nx}}},e_=(e,n,r)=>{if(e.length-n===0)return r.classGroupId;const o=e[n],l=r.nextPart.get(o);if(l){const p=e_(e,n+1,l);if(p)return p}const u=r.validators;if(u===null)return;const d=n===0?e.join(wu):e.slice(n).join(wu),m=u.length;for(let p=0;pe.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const n=e.slice(1,-1),r=n.indexOf(":"),i=n.slice(0,r);return i?QN+i:void 0})(),WN=e=>{const{theme:n,classGroups:r}=e;return eD(r,n)},eD=(e,n)=>{const r=W1();for(const i in e){const o=e[i];Up(o,r,i,n)}return r},Up=(e,n,r,i)=>{const o=e.length;for(let l=0;l{if(typeof e=="string"){nD(e,n,r);return}if(typeof e=="function"){rD(e,n,r,i);return}aD(e,n,r,i)},nD=(e,n,r)=>{const i=e===""?n:t_(n,e);i.classGroupId=r},rD=(e,n,r,i)=>{if(iD(e)){Up(e(i),n,r,i);return}n.validators===null&&(n.validators=[]),n.validators.push(YN(r,e))},aD=(e,n,r,i)=>{const o=Object.entries(e),l=o.length;for(let u=0;u{let r=e;const i=n.split(wu),o=i.length;for(let l=0;l"isThemeGetter"in e&&e.isThemeGetter===!0,sD=e=>{if(e<1)return{get:()=>{},set:()=>{}};let n=0,r=Object.create(null),i=Object.create(null);const o=(l,u)=>{r[l]=u,n++,n>e&&(n=0,i=r,r=Object.create(null))};return{get(l){let u=r[l];if(u!==void 0)return u;if((u=i[l])!==void 0)return o(l,u),u},set(l,u){l in r?r[l]=u:o(l,u)}}},Am="!",rx=":",oD=[],ax=(e,n,r,i,o)=>({modifiers:e,hasImportantModifier:n,baseClassName:r,maybePostfixModifierPosition:i,isExternal:o}),lD=e=>{const{prefix:n,experimentalParseClassName:r}=e;let i=o=>{const l=[];let u=0,d=0,m=0,p;const y=o.length;for(let _=0;_m?p-m:void 0;return ax(l,x,b,w)};if(n){const o=n+rx,l=i;i=u=>u.startsWith(o)?l(u.slice(o.length)):ax(oD,!1,u,void 0,!0)}if(r){const o=i;i=l=>r({className:l,parseClassName:o})}return i},cD=e=>{const n=new Map;return e.orderSensitiveModifiers.forEach((r,i)=>{n.set(r,1e6+i)}),r=>{const i=[];let o=[];for(let l=0;l0&&(o.sort(),i.push(...o),o=[]),i.push(u)):o.push(u)}return o.length>0&&(o.sort(),i.push(...o)),i}},uD=e=>({cache:sD(e.cacheSize),parseClassName:lD(e),sortModifiers:cD(e),postfixLookupClassGroupIds:dD(e),...XN(e)}),dD=e=>{const n=Object.create(null),r=e.postfixLookupClassGroups;if(r)for(let i=0;i{const{parseClassName:r,getClassGroupId:i,getConflictingClassGroupIds:o,sortModifiers:l,postfixLookupClassGroupIds:u}=n,d=[],m=e.trim().split(fD);let p="";for(let y=m.length-1;y>=0;y-=1){const v=m[y],{isExternal:b,modifiers:x,hasImportantModifier:w,baseClassName:_,maybePostfixModifierPosition:E}=r(v);if(b){p=v+(p.length>0?" "+p:p);continue}let R=!!E,T;if(R){const $=_.substring(0,E);T=i($);const F=T&&u[T]?i(_):void 0;F&&F!==T&&(T=F,R=!1)}else T=i(_);if(!T){if(!R){p=v+(p.length>0?" "+p:p);continue}if(T=i(_),!T){p=v+(p.length>0?" "+p:p);continue}R=!1}const O=x.length===0?"":x.length===1?x[0]:l(x).join(":"),N=w?O+Am:O,z=N+T;if(d.indexOf(z)>-1)continue;d.push(z);const U=o(T,R);for(let $=0;$0?" "+p:p)}return p},mD=(...e)=>{let n=0,r,i,o="";for(;n{if(typeof e=="string")return e;let n,r="";for(let i=0;i{let r,i,o,l;const u=m=>{const p=n.reduce((y,v)=>v(y),e());return r=uD(p),i=r.cache.get,o=r.cache.set,l=d,d(m)},d=m=>{const p=i(m);if(p)return p;const y=hD(m,r);return o(m,y),y};return l=u,(...m)=>l(mD(...m))},gD=[],Ht=e=>{const n=r=>r[e]||gD;return n.isThemeGetter=!0,n},r_=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,a_=/^\((?:(\w[\w-]*):)?(.+)\)$/i,vD=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,yD=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,bD=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,xD=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,wD=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,SD=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Ma=e=>vD.test(e),He=e=>!!e&&!Number.isNaN(Number(e)),Rr=e=>!!e&&Number.isInteger(Number(e)),Hh=e=>e.endsWith("%")&&He(e.slice(0,-1)),ea=e=>yD.test(e),i_=()=>!0,_D=e=>bD.test(e)&&!xD.test(e),Hp=()=>!1,CD=e=>wD.test(e),ED=e=>SD.test(e),RD=e=>!Ce(e)&&!Ee(e),jD=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),TD=e=>Qa(e,l_,Hp),Ce=e=>r_.test(e),yi=e=>Qa(e,c_,_D),ix=e=>Qa(e,LD,He),OD=e=>Qa(e,d_,i_),AD=e=>Qa(e,u_,Hp),sx=e=>Qa(e,s_,Hp),MD=e=>Qa(e,o_,ED),Kc=e=>Qa(e,f_,CD),Ee=e=>a_.test(e),Ho=e=>Li(e,c_),ND=e=>Li(e,u_),ox=e=>Li(e,s_),DD=e=>Li(e,l_),zD=e=>Li(e,o_),Yc=e=>Li(e,f_,!0),kD=e=>Li(e,d_,!0),Qa=(e,n,r)=>{const i=r_.exec(e);return i?i[1]?n(i[1]):r(i[2]):!1},Li=(e,n,r=!1)=>{const i=a_.exec(e);return i?i[1]?n(i[1]):r:!1},s_=e=>e==="position"||e==="percentage",o_=e=>e==="image"||e==="url",l_=e=>e==="length"||e==="size"||e==="bg-size",c_=e=>e==="length",LD=e=>e==="number",u_=e=>e==="family-name",d_=e=>e==="number"||e==="weight",f_=e=>e==="shadow",$D=()=>{const e=Ht("color"),n=Ht("font"),r=Ht("text"),i=Ht("font-weight"),o=Ht("tracking"),l=Ht("leading"),u=Ht("breakpoint"),d=Ht("container"),m=Ht("spacing"),p=Ht("radius"),y=Ht("shadow"),v=Ht("inset-shadow"),b=Ht("text-shadow"),x=Ht("drop-shadow"),w=Ht("blur"),_=Ht("perspective"),E=Ht("aspect"),R=Ht("ease"),T=Ht("animate"),O=()=>["auto","avoid","all","avoid-page","page","left","right","column"],N=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],z=()=>[...N(),Ee,Ce],U=()=>["auto","hidden","clip","visible","scroll"],$=()=>["auto","contain","none"],F=()=>[Ee,Ce,m],ve=()=>[Ma,"full","auto",...F()],ye=()=>[Rr,"none","subgrid",Ee,Ce],me=()=>["auto",{span:["full",Rr,Ee,Ce]},Rr,Ee,Ce],de=()=>[Rr,"auto",Ee,Ce],le=()=>["auto","min","max","fr",Ee,Ce],te=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],ge=()=>["start","end","center","stretch","center-safe","end-safe"],L=()=>["auto",...F()],K=()=>[Ma,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...F()],re=()=>[Ma,"screen","full","dvw","lvw","svw","min","max","fit",...F()],W=()=>[Ma,"screen","full","lh","dvh","lvh","svh","min","max","fit",...F()],ne=()=>[e,Ee,Ce],D=()=>[...N(),ox,sx,{position:[Ee,Ce]}],M=()=>["no-repeat",{repeat:["","x","y","space","round"]}],B=()=>["auto","cover","contain",DD,TD,{size:[Ee,Ce]}],X=()=>[Hh,Ho,yi],Y=()=>["","none","full",p,Ee,Ce],ce=()=>["",He,Ho,yi],ae=()=>["solid","dashed","dotted","double"],be=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],xe=()=>[He,Hh,ox,sx],Oe=()=>["","none",w,Ee,Ce],Ie=()=>["none",He,Ee,Ce],Ve=()=>["none",He,Ee,Ce],it=()=>[He,Ee,Ce],Qe=()=>[Ma,"full",...F()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[ea],breakpoint:[ea],color:[i_],container:[ea],"drop-shadow":[ea],ease:["in","out","in-out"],font:[RD],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[ea],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[ea],shadow:[ea],spacing:["px",He],text:[ea],"text-shadow":[ea],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Ma,Ce,Ee,E]}],container:["container"],"container-type":[{"@container":["","normal","size",Ee,Ce]}],"container-named":[jD],columns:[{columns:[He,Ce,Ee,d]}],"break-after":[{"break-after":O()}],"break-before":[{"break-before":O()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:z()}],overflow:[{overflow:U()}],"overflow-x":[{"overflow-x":U()}],"overflow-y":[{"overflow-y":U()}],overscroll:[{overscroll:$()}],"overscroll-x":[{"overscroll-x":$()}],"overscroll-y":[{"overscroll-y":$()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:ve()}],"inset-x":[{"inset-x":ve()}],"inset-y":[{"inset-y":ve()}],start:[{"inset-s":ve(),start:ve()}],end:[{"inset-e":ve(),end:ve()}],"inset-bs":[{"inset-bs":ve()}],"inset-be":[{"inset-be":ve()}],top:[{top:ve()}],right:[{right:ve()}],bottom:[{bottom:ve()}],left:[{left:ve()}],visibility:["visible","invisible","collapse"],z:[{z:[Rr,"auto",Ee,Ce]}],basis:[{basis:[Ma,"full","auto",d,...F()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[He,Ma,"auto","initial","none",Ce]}],grow:[{grow:["",He,Ee,Ce]}],shrink:[{shrink:["",He,Ee,Ce]}],order:[{order:[Rr,"first","last","none",Ee,Ce]}],"grid-cols":[{"grid-cols":ye()}],"col-start-end":[{col:me()}],"col-start":[{"col-start":de()}],"col-end":[{"col-end":de()}],"grid-rows":[{"grid-rows":ye()}],"row-start-end":[{row:me()}],"row-start":[{"row-start":de()}],"row-end":[{"row-end":de()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":le()}],"auto-rows":[{"auto-rows":le()}],gap:[{gap:F()}],"gap-x":[{"gap-x":F()}],"gap-y":[{"gap-y":F()}],"justify-content":[{justify:[...te(),"normal"]}],"justify-items":[{"justify-items":[...ge(),"normal"]}],"justify-self":[{"justify-self":["auto",...ge()]}],"align-content":[{content:["normal",...te()]}],"align-items":[{items:[...ge(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...ge(),{baseline:["","last"]}]}],"place-content":[{"place-content":te()}],"place-items":[{"place-items":[...ge(),"baseline"]}],"place-self":[{"place-self":["auto",...ge()]}],p:[{p:F()}],px:[{px:F()}],py:[{py:F()}],ps:[{ps:F()}],pe:[{pe:F()}],pbs:[{pbs:F()}],pbe:[{pbe:F()}],pt:[{pt:F()}],pr:[{pr:F()}],pb:[{pb:F()}],pl:[{pl:F()}],m:[{m:L()}],mx:[{mx:L()}],my:[{my:L()}],ms:[{ms:L()}],me:[{me:L()}],mbs:[{mbs:L()}],mbe:[{mbe:L()}],mt:[{mt:L()}],mr:[{mr:L()}],mb:[{mb:L()}],ml:[{ml:L()}],"space-x":[{"space-x":F()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":F()}],"space-y-reverse":["space-y-reverse"],size:[{size:K()}],"inline-size":[{inline:["auto",...re()]}],"min-inline-size":[{"min-inline":["auto",...re()]}],"max-inline-size":[{"max-inline":["none",...re()]}],"block-size":[{block:["auto",...W()]}],"min-block-size":[{"min-block":["auto",...W()]}],"max-block-size":[{"max-block":["none",...W()]}],w:[{w:[d,"screen",...K()]}],"min-w":[{"min-w":[d,"screen","none",...K()]}],"max-w":[{"max-w":[d,"screen","none","prose",{screen:[u]},...K()]}],h:[{h:["screen","lh",...K()]}],"min-h":[{"min-h":["screen","lh","none",...K()]}],"max-h":[{"max-h":["screen","lh",...K()]}],"font-size":[{text:["base",r,Ho,yi]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[i,kD,OD]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Hh,Ce]}],"font-family":[{font:[ND,AD,n]}],"font-features":[{"font-features":[Ce]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[o,Ee,Ce]}],"line-clamp":[{"line-clamp":[He,"none",Ee,ix]}],leading:[{leading:[l,...F()]}],"list-image":[{"list-image":["none",Ee,Ce]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Ee,Ce]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:ne()}],"text-color":[{text:ne()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ae(),"wavy"]}],"text-decoration-thickness":[{decoration:[He,"from-font","auto",Ee,yi]}],"text-decoration-color":[{decoration:ne()}],"underline-offset":[{"underline-offset":[He,"auto",Ee,Ce]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:F()}],"tab-size":[{tab:[Rr,Ee,Ce]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Ee,Ce]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Ee,Ce]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:D()}],"bg-repeat":[{bg:M()}],"bg-size":[{bg:B()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Rr,Ee,Ce],radial:["",Ee,Ce],conic:[Rr,Ee,Ce]},zD,MD]}],"bg-color":[{bg:ne()}],"gradient-from-pos":[{from:X()}],"gradient-via-pos":[{via:X()}],"gradient-to-pos":[{to:X()}],"gradient-from":[{from:ne()}],"gradient-via":[{via:ne()}],"gradient-to":[{to:ne()}],rounded:[{rounded:Y()}],"rounded-s":[{"rounded-s":Y()}],"rounded-e":[{"rounded-e":Y()}],"rounded-t":[{"rounded-t":Y()}],"rounded-r":[{"rounded-r":Y()}],"rounded-b":[{"rounded-b":Y()}],"rounded-l":[{"rounded-l":Y()}],"rounded-ss":[{"rounded-ss":Y()}],"rounded-se":[{"rounded-se":Y()}],"rounded-ee":[{"rounded-ee":Y()}],"rounded-es":[{"rounded-es":Y()}],"rounded-tl":[{"rounded-tl":Y()}],"rounded-tr":[{"rounded-tr":Y()}],"rounded-br":[{"rounded-br":Y()}],"rounded-bl":[{"rounded-bl":Y()}],"border-w":[{border:ce()}],"border-w-x":[{"border-x":ce()}],"border-w-y":[{"border-y":ce()}],"border-w-s":[{"border-s":ce()}],"border-w-e":[{"border-e":ce()}],"border-w-bs":[{"border-bs":ce()}],"border-w-be":[{"border-be":ce()}],"border-w-t":[{"border-t":ce()}],"border-w-r":[{"border-r":ce()}],"border-w-b":[{"border-b":ce()}],"border-w-l":[{"border-l":ce()}],"divide-x":[{"divide-x":ce()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ce()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ae(),"hidden","none"]}],"divide-style":[{divide:[...ae(),"hidden","none"]}],"border-color":[{border:ne()}],"border-color-x":[{"border-x":ne()}],"border-color-y":[{"border-y":ne()}],"border-color-s":[{"border-s":ne()}],"border-color-e":[{"border-e":ne()}],"border-color-bs":[{"border-bs":ne()}],"border-color-be":[{"border-be":ne()}],"border-color-t":[{"border-t":ne()}],"border-color-r":[{"border-r":ne()}],"border-color-b":[{"border-b":ne()}],"border-color-l":[{"border-l":ne()}],"divide-color":[{divide:ne()}],"outline-style":[{outline:[...ae(),"none","hidden"]}],"outline-offset":[{"outline-offset":[He,Ee,Ce]}],"outline-w":[{outline:["",He,Ho,yi]}],"outline-color":[{outline:ne()}],shadow:[{shadow:["","none",y,Yc,Kc]}],"shadow-color":[{shadow:ne()}],"inset-shadow":[{"inset-shadow":["none",v,Yc,Kc]}],"inset-shadow-color":[{"inset-shadow":ne()}],"ring-w":[{ring:ce()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:ne()}],"ring-offset-w":[{"ring-offset":[He,yi]}],"ring-offset-color":[{"ring-offset":ne()}],"inset-ring-w":[{"inset-ring":ce()}],"inset-ring-color":[{"inset-ring":ne()}],"text-shadow":[{"text-shadow":["none",b,Yc,Kc]}],"text-shadow-color":[{"text-shadow":ne()}],opacity:[{opacity:[He,Ee,Ce]}],"mix-blend":[{"mix-blend":[...be(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":be()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[He]}],"mask-image-linear-from-pos":[{"mask-linear-from":xe()}],"mask-image-linear-to-pos":[{"mask-linear-to":xe()}],"mask-image-linear-from-color":[{"mask-linear-from":ne()}],"mask-image-linear-to-color":[{"mask-linear-to":ne()}],"mask-image-t-from-pos":[{"mask-t-from":xe()}],"mask-image-t-to-pos":[{"mask-t-to":xe()}],"mask-image-t-from-color":[{"mask-t-from":ne()}],"mask-image-t-to-color":[{"mask-t-to":ne()}],"mask-image-r-from-pos":[{"mask-r-from":xe()}],"mask-image-r-to-pos":[{"mask-r-to":xe()}],"mask-image-r-from-color":[{"mask-r-from":ne()}],"mask-image-r-to-color":[{"mask-r-to":ne()}],"mask-image-b-from-pos":[{"mask-b-from":xe()}],"mask-image-b-to-pos":[{"mask-b-to":xe()}],"mask-image-b-from-color":[{"mask-b-from":ne()}],"mask-image-b-to-color":[{"mask-b-to":ne()}],"mask-image-l-from-pos":[{"mask-l-from":xe()}],"mask-image-l-to-pos":[{"mask-l-to":xe()}],"mask-image-l-from-color":[{"mask-l-from":ne()}],"mask-image-l-to-color":[{"mask-l-to":ne()}],"mask-image-x-from-pos":[{"mask-x-from":xe()}],"mask-image-x-to-pos":[{"mask-x-to":xe()}],"mask-image-x-from-color":[{"mask-x-from":ne()}],"mask-image-x-to-color":[{"mask-x-to":ne()}],"mask-image-y-from-pos":[{"mask-y-from":xe()}],"mask-image-y-to-pos":[{"mask-y-to":xe()}],"mask-image-y-from-color":[{"mask-y-from":ne()}],"mask-image-y-to-color":[{"mask-y-to":ne()}],"mask-image-radial":[{"mask-radial":[Ee,Ce]}],"mask-image-radial-from-pos":[{"mask-radial-from":xe()}],"mask-image-radial-to-pos":[{"mask-radial-to":xe()}],"mask-image-radial-from-color":[{"mask-radial-from":ne()}],"mask-image-radial-to-color":[{"mask-radial-to":ne()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":N()}],"mask-image-conic-pos":[{"mask-conic":[He]}],"mask-image-conic-from-pos":[{"mask-conic-from":xe()}],"mask-image-conic-to-pos":[{"mask-conic-to":xe()}],"mask-image-conic-from-color":[{"mask-conic-from":ne()}],"mask-image-conic-to-color":[{"mask-conic-to":ne()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:D()}],"mask-repeat":[{mask:M()}],"mask-size":[{mask:B()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Ee,Ce]}],filter:[{filter:["","none",Ee,Ce]}],blur:[{blur:Oe()}],brightness:[{brightness:[He,Ee,Ce]}],contrast:[{contrast:[He,Ee,Ce]}],"drop-shadow":[{"drop-shadow":["","none",x,Yc,Kc]}],"drop-shadow-color":[{"drop-shadow":ne()}],grayscale:[{grayscale:["",He,Ee,Ce]}],"hue-rotate":[{"hue-rotate":[He,Ee,Ce]}],invert:[{invert:["",He,Ee,Ce]}],saturate:[{saturate:[He,Ee,Ce]}],sepia:[{sepia:["",He,Ee,Ce]}],"backdrop-filter":[{"backdrop-filter":["","none",Ee,Ce]}],"backdrop-blur":[{"backdrop-blur":Oe()}],"backdrop-brightness":[{"backdrop-brightness":[He,Ee,Ce]}],"backdrop-contrast":[{"backdrop-contrast":[He,Ee,Ce]}],"backdrop-grayscale":[{"backdrop-grayscale":["",He,Ee,Ce]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[He,Ee,Ce]}],"backdrop-invert":[{"backdrop-invert":["",He,Ee,Ce]}],"backdrop-opacity":[{"backdrop-opacity":[He,Ee,Ce]}],"backdrop-saturate":[{"backdrop-saturate":[He,Ee,Ce]}],"backdrop-sepia":[{"backdrop-sepia":["",He,Ee,Ce]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":F()}],"border-spacing-x":[{"border-spacing-x":F()}],"border-spacing-y":[{"border-spacing-y":F()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Ee,Ce]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[He,"initial",Ee,Ce]}],ease:[{ease:["linear","initial",R,Ee,Ce]}],delay:[{delay:[He,Ee,Ce]}],animate:[{animate:["none",T,Ee,Ce]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[_,Ee,Ce]}],"perspective-origin":[{"perspective-origin":z()}],rotate:[{rotate:Ie()}],"rotate-x":[{"rotate-x":Ie()}],"rotate-y":[{"rotate-y":Ie()}],"rotate-z":[{"rotate-z":Ie()}],scale:[{scale:Ve()}],"scale-x":[{"scale-x":Ve()}],"scale-y":[{"scale-y":Ve()}],"scale-z":[{"scale-z":Ve()}],"scale-3d":["scale-3d"],skew:[{skew:it()}],"skew-x":[{"skew-x":it()}],"skew-y":[{"skew-y":it()}],transform:[{transform:[Ee,Ce,"","none","gpu","cpu"]}],"transform-origin":[{origin:z()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Qe()}],"translate-x":[{"translate-x":Qe()}],"translate-y":[{"translate-y":Qe()}],"translate-z":[{"translate-z":Qe()}],"translate-none":["translate-none"],zoom:[{zoom:[Rr,Ee,Ce]}],accent:[{accent:ne()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:ne()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Ee,Ce]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":ne()}],"scrollbar-track-color":[{"scrollbar-track":ne()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":F()}],"scroll-mx":[{"scroll-mx":F()}],"scroll-my":[{"scroll-my":F()}],"scroll-ms":[{"scroll-ms":F()}],"scroll-me":[{"scroll-me":F()}],"scroll-mbs":[{"scroll-mbs":F()}],"scroll-mbe":[{"scroll-mbe":F()}],"scroll-mt":[{"scroll-mt":F()}],"scroll-mr":[{"scroll-mr":F()}],"scroll-mb":[{"scroll-mb":F()}],"scroll-ml":[{"scroll-ml":F()}],"scroll-p":[{"scroll-p":F()}],"scroll-px":[{"scroll-px":F()}],"scroll-py":[{"scroll-py":F()}],"scroll-ps":[{"scroll-ps":F()}],"scroll-pe":[{"scroll-pe":F()}],"scroll-pbs":[{"scroll-pbs":F()}],"scroll-pbe":[{"scroll-pbe":F()}],"scroll-pt":[{"scroll-pt":F()}],"scroll-pr":[{"scroll-pr":F()}],"scroll-pb":[{"scroll-pb":F()}],"scroll-pl":[{"scroll-pl":F()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Ee,Ce]}],fill:[{fill:["none",...ne()]}],"stroke-w":[{stroke:[He,Ho,yi,ix]}],stroke:[{stroke:["none",...ne()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},ID=pD($D);function Je(...e){return ID(J1(e))}function PD({delayDuration:e=0,...n}){return f.jsx(UN,{"data-slot":"tooltip-provider",delayDuration:e,...n})}function FD({...e}){return f.jsx(HN,{"data-slot":"tooltip",...e})}function VD({...e}){return f.jsx(BN,{"data-slot":"tooltip-trigger",...e})}function UD({className:e,sideOffset:n=0,children:r,...i}){return f.jsx(qN,{children:f.jsxs(GN,{"data-slot":"tooltip-content",sideOffset:n,className:Je("z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in rounded-md bg-foreground px-3 py-1.5 text-xs text-balance text-background fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",e),...i,children:[r,f.jsx(ZN,{className:"z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground"})]})})}const Mm=new Set;function HD(e){return Mm.add(e),()=>Mm.delete(e)}function BD(){for(const e of Mm)e()}const h_=(...e)=>e.filter((n,r,i)=>!!n&&n.trim()!==""&&i.indexOf(n)===r).join(" ").trim();const qD=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const GD=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(n,r,i)=>i?i.toUpperCase():r.toLowerCase());const lx=e=>{const n=GD(e);return n.charAt(0).toUpperCase()+n.slice(1)};var Bh={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const ZD=e=>{for(const n in e)if(n.startsWith("aria-")||n==="role"||n==="title")return!0;return!1},KD=S.createContext({}),YD=()=>S.useContext(KD),QD=S.forwardRef(({color:e,size:n,strokeWidth:r,absoluteStrokeWidth:i,className:o="",children:l,iconNode:u,...d},m)=>{const{size:p=24,strokeWidth:y=2,absoluteStrokeWidth:v=!1,color:b="currentColor",className:x=""}=YD()??{},w=i??v?Number(r??y)*24/Number(n??p):r??y;return S.createElement("svg",{ref:m,...Bh,width:n??p??Bh.width,height:n??p??Bh.height,stroke:e??b,strokeWidth:w,className:h_("lucide",x,o),...!l&&!ZD(d)&&{"aria-hidden":"true"},...d},[...u.map(([_,E])=>S.createElement(_,E)),...Array.isArray(l)?l:[l]])});const Me=(e,n)=>{const r=S.forwardRef(({className:i,...o},l)=>S.createElement(QD,{ref:l,iconNode:n,className:h_(`lucide-${qD(lx(e))}`,`lucide-${e}`,i),...o}));return r.displayName=lx(e),r};const XD=[["path",{d:"M4.5 3h15",key:"c7n0jr"}],["path",{d:"M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3",key:"m1uhx7"}],["path",{d:"M6 14h12",key:"4cwo0f"}]],JD=Me("beaker",XD);const WD=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],ez=Me("book-open",WD);const tz=[["path",{d:"M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16",key:"jecpp"}],["rect",{width:"20",height:"14",x:"2",y:"6",rx:"2",key:"i6l2r4"}]],nz=Me("briefcase",tz);const rz=[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]],az=Me("bug",rz);const iz=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]],sz=Me("calendar",iz);const oz=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],m_=Me("check",oz);const lz=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Bp=Me("chevron-down",lz);const cz=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],uz=Me("chevron-right",cz);const dz=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],fz=Me("chevron-up",dz);const hz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],mz=Me("circle-check",hz);const pz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]],p_=Me("clock",pz);const gz=[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]],vz=Me("code",gz);const yz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",key:"9ktpf1"}]],bz=Me("compass",yz);const xz=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],wz=Me("copy",xz);const Sz=[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]],_z=Me("credit-card",Sz);const Cz=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],Ez=Me("database",Cz);const Rz=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],jz=Me("download",Rz);const Tz=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],Oz=Me("ellipsis",Tz);const Az=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],g_=Me("file-text",Az);const Mz=[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]],Nz=Me("flag",Mz);const Dz=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],qp=Me("folder",Dz);const zz=[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]],kz=Me("gauge",zz);const Lz=[["path",{d:"m14 13-8.381 8.38a1 1 0 0 1-3.001-3l8.384-8.381",key:"pgg06f"}],["path",{d:"m16 16 6-6",key:"vzrcl6"}],["path",{d:"m21.5 10.5-8-8",key:"a17d9x"}],["path",{d:"m8 8 6-6",key:"18bi4p"}],["path",{d:"m8.5 7.5 8 8",key:"1oyaui"}]],$z=Me("gavel",Lz);const Iz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],v_=Me("globe",Iz);const Pz=[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]],Fz=Me("graduation-cap",Pz);const Vz=[["path",{d:"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5",key:"mvr1a0"}]],Uz=Me("heart",Vz);const Hz=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]],Bz=Me("history",Hz);const qz=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],Gz=Me("image",qz);const Zz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],Kz=Me("info",Zz);const Yz=[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]],Qz=Me("layout-dashboard",Yz);const Xz=[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]],Jz=Me("lightbulb",Xz);const Wz=[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]],ek=Me("link",Wz);const tk=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],nk=Me("loader-circle",tk);const rk=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],y_=Me("lock",rk);const ak=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],ik=Me("log-out",ak);const sk=[["path",{d:"M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z",key:"q8bfy3"}],["path",{d:"M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14",key:"1853fq"}],["path",{d:"M8 6v8",key:"15ugcq"}]],ok=Me("megaphone",sk);const lk=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],ck=Me("menu",lk);const uk=[["path",{d:"M9 18V5l12-2v13",key:"1jmyc2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["circle",{cx:"18",cy:"16",r:"3",key:"1hluhg"}]],dk=Me("music",uk);const fk=[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],hk=Me("octagon-x",fk);const mk=[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]],pk=Me("package",mk);const gk=[["path",{d:"M13 21h8",key:"1jsn5i"}],["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",key:"1a8usu"}]],vk=Me("pen-line",gk);const yk=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],bk=Me("plus",yk);const xk=[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]],wk=Me("rocket",xk);const Sk=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],b_=Me("search",Sk);const _k=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Ck=Me("settings",_k);const Ek=[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]],Rk=Me("share-2",Ek);const jk=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]],x_=Me("shield",jk);const Tk=[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]],w_=Me("square-terminal",Tk);const Ok=[["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",key:"r04s7s"}]],Ak=Me("star",Ok);const Mk=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],Nk=Me("trash-2",Mk);const Dk=[["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",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],S_=Me("triangle-alert",Dk);const zk=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],kk=Me("upload",zk);const Lk=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],__=Me("users",Lk);const $k=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],Ik=Me("wrench",$k);const Pk=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],C_=Me("x",Pk);function Fk(){const e=!document.body.classList.contains("sb-open");document.body.classList.toggle("sb-open"),Qu(),e?document.getElementById("sidebar")?.querySelector(Vk)?.focus():document.getElementById("menu-btn")?.focus()}const Vk='a[href], button:not(:disabled), select, input, [tabindex]:not([tabindex="-1"])';function mr(){const e=document.body.classList.contains("sb-open");document.body.classList.remove("sb-open"),Qu(),e&&window.innerWidth<=ou&&document.getElementById("menu-btn")?.focus()}const ou=900;function Qu(){const e=document.getElementById("sidebar");if(!e)return;const n=document.body.classList.contains("sb-open");window.innerWidth<=ou&&!n?e.setAttribute("inert",""):e.removeAttribute("inert");const i=document.getElementById("main");i&&(n&&window.innerWidth<=ou?i.setAttribute("inert",""):i.removeAttribute("inert")),e.setAttribute("aria-modal",String(n&&window.innerWidth<=ou)),document.getElementById("menu-btn")?.setAttribute("aria-expanded",String(n))}typeof window<"u"&&(window.addEventListener("resize",Qu),window.addEventListener("keydown",e=>{e.key==="Escape"&&document.body.classList.contains("sb-open")&&mr()}));const Uk={alert:S_,card:_z,check:m_,chev:uz,chevd:Bp,clock:p_,copy:wz,doc:g_,dots:Oz,download:jz,folder:qp,dashboard:Qz,gear:Ck,globe:v_,hist:Bz,link:ek,lock:y_,menu:ck,plus:bk,power:ik,search:b_,share:Rk,shield:x_,terminal:w_,trash:Nk,upload:kk,users:__,x:C_};function ut({name:e}){const n=Uk[e];return n?f.jsx(n,{className:"ico","aria-hidden":"true"}):null}const Nm={folder:qp,"book-open":ez,"file-text":g_,"pen-line":vk,users:__,briefcase:nz,megaphone:ok,rocket:wk,lightbulb:Jz,flag:Nz,star:Ak,heart:Uz,code:vz,"square-terminal":w_,bug:az,wrench:Ik,database:Ez,package:pk,beaker:JD,gauge:kz,shield:x_,lock:y_,gavel:$z,globe:v_,compass:bz,calendar:sz,clock:p_,"graduation-cap":Fz,image:Gz,music:dk};function $s({name:e,className:n}){const r=e??"",i=Object.hasOwn(Nm,r)?Nm[r]:qp;return f.jsx(i,{className:n,"aria-hidden":"true"})}function Hk({size:e=22}){return f.jsxs("svg",{width:e,height:e,viewBox:"0 0 32 32",fill:"currentColor",role:"img","aria-label":"BearDrive",children:[f.jsx("rect",{x:"4",y:"4",width:"5.6",height:"24"}),f.jsx("rect",{x:"11.2",y:"4",width:"14.4",height:"11.2"}),f.jsx("rect",{x:"11.2",y:"16.8",width:"16.8",height:"11.2"})]})}function Su(e){const n=["page",e.width??"app",e.className].filter(Boolean).join(" ");return f.jsx("div",{className:n,children:e.children})}function Bk(e){e&&Qu()}function ul(e){return f.jsxs(f.Fragment,{children:[f.jsx("div",{id:"sb-backdrop",onClick:mr}),f.jsxs("aside",{id:"sidebar",ref:Bk,children:[e.vault,e.projectsNav,e.tree??f.jsx("nav",{id:"tree","aria-label":"Files"}),e.orgBar]}),f.jsxs("main",{id:"main",children:[e.topbar,f.jsx("article",{id:"content",ref:e.contentRef,onScroll:e.onContentScroll,children:e.children})]})]})}function Xu(e){const{name:n,onHome:r,showSignout:i,search:o}=e;return f.jsxs("header",{id:"vault",children:[f.jsx("span",{id:"vault-badge",children:f.jsx(Hk,{size:22})}),f.jsx("span",{id:"vault-name",className:r?"vault-link":void 0,onClick:r,role:r?"button":void 0,tabIndex:r?0:void 0,onKeyDown:l=>{r&&(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),r())},children:n}),f.jsxs("div",{className:"vault-actions",children:[o&&f.jsxs(FD,{delayDuration:150,children:[f.jsx(VD,{asChild:!0,children:f.jsx("button",{id:"search-btn",className:"icon-btn2","aria-label":"Search",onClick:()=>{BD(),mr()},children:f.jsx(ut,{name:"search"})})}),f.jsxs(UD,{className:"tipcard",sideOffset:6,children:["Search ",f.jsx("kbd",{children:"⌘K"})]})]}),i&&f.jsx("a",{id:"signout",href:"/auth/logout",title:"Sign out","aria-label":"Sign out",children:f.jsx(ut,{name:"power"})})]})]})}function dl(e){return f.jsxs("header",{id:"topbar",children:[f.jsx("button",{id:"menu-btn",className:"icon-btn",title:"Menu","aria-label":"Menu","aria-controls":"sidebar","aria-expanded":"false",onClick:Fk,children:f.jsx(ut,{name:"menu"})}),f.jsx("span",{id:"crumb",children:e.crumb}),f.jsx("span",{id:"meta",children:e.meta}),e.actions]})}function qk(e){if(typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}const Gk=e=>{switch(e){case"success":return Yk;case"info":return Xk;case"warning":return Qk;case"error":return Jk;default:return null}},Zk=Array(12).fill(0),Kk=({visible:e,className:n})=>pe.createElement("div",{className:["sonner-loading-wrapper",n].filter(Boolean).join(" "),"data-visible":e},pe.createElement("div",{className:"sonner-spinner"},Zk.map((r,i)=>pe.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${i}`})))),Yk=pe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},pe.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),Qk=pe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},pe.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),Xk=pe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},pe.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),Jk=pe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},pe.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),Wk=pe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},pe.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),pe.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),e3=()=>{const[e,n]=pe.useState(document.hidden);return pe.useEffect(()=>{const r=()=>{n(document.hidden)};return document.addEventListener("visibilitychange",r),()=>window.removeEventListener("visibilitychange",r)},[]),e};let Dm=1;class t3{constructor(){this.subscribe=n=>(this.subscribers.push(n),()=>{const r=this.subscribers.indexOf(n);this.subscribers.splice(r,1)}),this.publish=n=>{this.subscribers.forEach(r=>r(n))},this.addToast=n=>{this.publish(n),this.toasts=[...this.toasts,n]},this.create=n=>{var r;const{message:i,...o}=n,l=typeof n?.id=="number"||((r=n.id)==null?void 0:r.length)>0?n.id:Dm++,u=this.toasts.find(m=>m.id===l),d=n.dismissible===void 0?!0:n.dismissible;return this.dismissedToasts.has(l)&&this.dismissedToasts.delete(l),u?this.toasts=this.toasts.map(m=>m.id===l?(this.publish({...m,...n,id:l,title:i}),{...m,...n,id:l,dismissible:d,title:i}):m):this.addToast({title:i,...o,dismissible:d,id:l}),l},this.dismiss=n=>(n?(this.dismissedToasts.add(n),requestAnimationFrame(()=>this.subscribers.forEach(r=>r({id:n,dismiss:!0})))):this.toasts.forEach(r=>{this.subscribers.forEach(i=>i({id:r.id,dismiss:!0}))}),n),this.message=(n,r)=>this.create({...r,message:n}),this.error=(n,r)=>this.create({...r,message:n,type:"error"}),this.success=(n,r)=>this.create({...r,type:"success",message:n}),this.info=(n,r)=>this.create({...r,type:"info",message:n}),this.warning=(n,r)=>this.create({...r,type:"warning",message:n}),this.loading=(n,r)=>this.create({...r,type:"loading",message:n}),this.promise=(n,r)=>{if(!r)return;let i;r.loading!==void 0&&(i=this.create({...r,promise:n,type:"loading",message:r.loading,description:typeof r.description!="function"?r.description:void 0}));const o=Promise.resolve(n instanceof Function?n():n);let l=i!==void 0,u;const d=o.then(async p=>{if(u=["resolve",p],pe.isValidElement(p))l=!1,this.create({id:i,type:"default",message:p});else if(r3(p)&&!p.ok){l=!1;const v=typeof r.error=="function"?await r.error(`HTTP error! status: ${p.status}`):r.error,b=typeof r.description=="function"?await r.description(`HTTP error! status: ${p.status}`):r.description,w=typeof v=="object"&&!pe.isValidElement(v)?v:{message:v};this.create({id:i,type:"error",description:b,...w})}else if(p instanceof Error){l=!1;const v=typeof r.error=="function"?await r.error(p):r.error,b=typeof r.description=="function"?await r.description(p):r.description,w=typeof v=="object"&&!pe.isValidElement(v)?v:{message:v};this.create({id:i,type:"error",description:b,...w})}else if(r.success!==void 0){l=!1;const v=typeof r.success=="function"?await r.success(p):r.success,b=typeof r.description=="function"?await r.description(p):r.description,w=typeof v=="object"&&!pe.isValidElement(v)?v:{message:v};this.create({id:i,type:"success",description:b,...w})}}).catch(async p=>{if(u=["reject",p],r.error!==void 0){l=!1;const y=typeof r.error=="function"?await r.error(p):r.error,v=typeof r.description=="function"?await r.description(p):r.description,x=typeof y=="object"&&!pe.isValidElement(y)?y:{message:y};this.create({id:i,type:"error",description:v,...x})}}).finally(()=>{l&&(this.dismiss(i),i=void 0),r.finally==null||r.finally.call(r)}),m=()=>new Promise((p,y)=>d.then(()=>u[0]==="reject"?y(u[1]):p(u[1])).catch(y));return typeof i!="string"&&typeof i!="number"?{unwrap:m}:Object.assign(i,{unwrap:m})},this.custom=(n,r)=>{const i=r?.id||Dm++;return this.create({jsx:n(i),id:i,...r}),i},this.getActiveToasts=()=>this.toasts.filter(n=>!this.dismissedToasts.has(n.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}const Tn=new t3,n3=(e,n)=>{const r=n?.id||Dm++;return Tn.addToast({title:e,...n,id:r}),r},r3=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",a3=n3,i3=()=>Tn.toasts,s3=()=>Tn.getActiveToasts(),cx=Object.assign(a3,{success:Tn.success,info:Tn.info,warning:Tn.warning,error:Tn.error,custom:Tn.custom,message:Tn.message,promise:Tn.promise,dismiss:Tn.dismiss,loading:Tn.loading},{getHistory:i3,getToasts:s3});qk("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");function Qc(e){return e.label!==void 0}const o3=3,l3="24px",c3="16px",ux=4e3,u3=356,d3=14,f3=45,h3=200;function jr(...e){return e.filter(Boolean).join(" ")}function m3(e){const[n,r]=e.split("-"),i=[];return n&&i.push(n),r&&i.push(r),i}const p3=e=>{var n,r,i,o,l,u,d,m,p;const{invert:y,toast:v,unstyled:b,interacting:x,setHeights:w,visibleToasts:_,heights:E,index:R,toasts:T,expanded:O,removeToast:N,defaultRichColors:z,closeButton:U,style:$,cancelButtonStyle:F,actionButtonStyle:ve,className:ye="",descriptionClassName:me="",duration:de,position:le,gap:te,expandByDefault:ge,classNames:L,icons:K,closeButtonAriaLabel:re="Close toast"}=e,[W,ne]=pe.useState(null),[D,M]=pe.useState(null),[B,X]=pe.useState(!1),[Y,ce]=pe.useState(!1),[ae,be]=pe.useState(!1),[xe,Oe]=pe.useState(!1),[Ie,Ve]=pe.useState(!1),[it,Qe]=pe.useState(0),[fn,hn]=pe.useState(0),Qt=pe.useRef(v.duration||de||ux),br=pe.useRef(null),jt=pe.useRef(null),rr=R===0,xr=R+1<=_,Tt=v.type,Vn=v.dismissible!==!1,Dt=v.className||"",kr=v.descriptionClassName||"",ar=pe.useMemo(()=>E.findIndex(Ne=>Ne.toastId===v.id)||0,[E,v.id]),ir=pe.useMemo(()=>{var Ne;return(Ne=v.closeButton)!=null?Ne:U},[v.closeButton,U]),wr=pe.useMemo(()=>v.duration||de||ux,[v.duration,de]),sr=pe.useRef(0),mn=pe.useRef(0),A=pe.useRef(0),P=pe.useRef(null),[V,ue]=le.split("-"),Z=pe.useMemo(()=>E.reduce((Ne,ht,yt)=>yt>=ar?Ne:Ne+ht.height,0),[E,ar]),J=e3(),fe=v.invert||y,we=Tt==="loading";mn.current=pe.useMemo(()=>ar*te+Z,[ar,Z]),pe.useEffect(()=>{Qt.current=wr},[wr]),pe.useEffect(()=>{X(!0)},[]),pe.useEffect(()=>{const Ne=jt.current;if(Ne){const ht=Ne.getBoundingClientRect().height;return hn(ht),w(yt=>[{toastId:v.id,height:ht,position:v.position},...yt]),()=>w(yt=>yt.filter(qt=>qt.toastId!==v.id))}},[w,v.id]),pe.useLayoutEffect(()=>{if(!B)return;const Ne=jt.current,ht=Ne.style.height;Ne.style.height="auto";const yt=Ne.getBoundingClientRect().height;Ne.style.height=ht,hn(yt),w(qt=>qt.find(St=>St.toastId===v.id)?qt.map(St=>St.toastId===v.id?{...St,height:yt}:St):[{toastId:v.id,height:yt,position:v.position},...qt])},[B,v.title,v.description,w,v.id,v.jsx,v.action,v.cancel]);const _e=pe.useCallback(()=>{ce(!0),Qe(mn.current),w(Ne=>Ne.filter(ht=>ht.toastId!==v.id)),setTimeout(()=>{N(v)},h3)},[v,N,w,mn]);pe.useEffect(()=>{if(v.promise&&Tt==="loading"||v.duration===1/0||v.type==="loading")return;let Ne;return O||x||J?(()=>{if(A.current{v.onAutoClose==null||v.onAutoClose.call(v,v),_e()},Qt.current)),()=>clearTimeout(Ne)},[O,x,v,Tt,J,_e]),pe.useEffect(()=>{v.delete&&(_e(),v.onDismiss==null||v.onDismiss.call(v,v))},[_e,v.delete]);function Xe(){var Ne;if(K?.loading){var ht;return pe.createElement("div",{className:jr(L?.loader,v==null||(ht=v.classNames)==null?void 0:ht.loader,"sonner-loader"),"data-visible":Tt==="loading"},K.loading)}return pe.createElement(Kk,{className:jr(L?.loader,v==null||(Ne=v.classNames)==null?void 0:Ne.loader),visible:Tt==="loading"})}const wt=v.icon||K?.[Tt]||Gk(Tt);var Xt,zt;return pe.createElement("li",{tabIndex:0,ref:jt,className:jr(ye,Dt,L?.toast,v==null||(n=v.classNames)==null?void 0:n.toast,L?.default,L?.[Tt],v==null||(r=v.classNames)==null?void 0:r[Tt]),"data-sonner-toast":"","data-rich-colors":(Xt=v.richColors)!=null?Xt:z,"data-styled":!(v.jsx||v.unstyled||b),"data-mounted":B,"data-promise":!!v.promise,"data-swiped":Ie,"data-removed":Y,"data-visible":xr,"data-y-position":V,"data-x-position":ue,"data-index":R,"data-front":rr,"data-swiping":ae,"data-dismissible":Vn,"data-type":Tt,"data-invert":fe,"data-swipe-out":xe,"data-swipe-direction":D,"data-expanded":!!(O||ge&&B),"data-testid":v.testId,style:{"--index":R,"--toasts-before":R,"--z-index":T.length-R,"--offset":`${Y?it:mn.current}px`,"--initial-height":ge?"auto":`${fn}px`,...$,...v.style},onDragEnd:()=>{be(!1),ne(null),P.current=null},onPointerDown:Ne=>{Ne.button!==2&&(we||!Vn||(br.current=new Date,Qe(mn.current),Ne.target.setPointerCapture(Ne.pointerId),Ne.target.tagName!=="BUTTON"&&(be(!0),P.current={x:Ne.clientX,y:Ne.clientY})))},onPointerUp:()=>{var Ne,ht,yt;if(xe||!Vn)return;P.current=null;const qt=Number(((Ne=jt.current)==null?void 0:Ne.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),or=Number(((ht=jt.current)==null?void 0:ht.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),St=new Date().getTime()-((yt=br.current)==null?void 0:yt.getTime()),yn=W==="x"?qt:or,Wa=Math.abs(yn)/St;if(Math.abs(yn)>=f3||Wa>.11){Qe(mn.current),v.onDismiss==null||v.onDismiss.call(v,v),M(W==="x"?qt>0?"right":"left":or>0?"down":"up"),_e(),Oe(!0);return}else{var bn,xn;(bn=jt.current)==null||bn.style.setProperty("--swipe-amount-x","0px"),(xn=jt.current)==null||xn.style.setProperty("--swipe-amount-y","0px")}Ve(!1),be(!1),ne(null)},onPointerMove:Ne=>{var ht,yt,qt;if(!P.current||!Vn||((ht=window.getSelection())==null?void 0:ht.toString().length)>0)return;const St=Ne.clientY-P.current.y,yn=Ne.clientX-P.current.x;var Wa;const bn=(Wa=e.swipeDirections)!=null?Wa:m3(le);!W&&(Math.abs(yn)>1||Math.abs(St)>1)&&ne(Math.abs(yn)>Math.abs(St)?"x":"y");let xn={x:0,y:0};const Ii=lr=>1/(1.5+Math.abs(lr)/20);if(W==="y"){if(bn.includes("top")||bn.includes("bottom"))if(bn.includes("top")&&St<0||bn.includes("bottom")&&St>0)xn.y=St;else{const lr=St*Ii(St);xn.y=Math.abs(lr)0)xn.x=yn;else{const lr=yn*Ii(yn);xn.x=Math.abs(lr)0||Math.abs(xn.y)>0)&&Ve(!0),(yt=jt.current)==null||yt.style.setProperty("--swipe-amount-x",`${xn.x}px`),(qt=jt.current)==null||qt.style.setProperty("--swipe-amount-y",`${xn.y}px`)}},ir&&!v.jsx&&Tt!=="loading"?pe.createElement("button",{"aria-label":re,"data-disabled":we,"data-close-button":!0,onClick:we||!Vn?()=>{}:()=>{_e(),v.onDismiss==null||v.onDismiss.call(v,v)},className:jr(L?.closeButton,v==null||(i=v.classNames)==null?void 0:i.closeButton)},(zt=K?.close)!=null?zt:Wk):null,(Tt||v.icon||v.promise)&&v.icon!==null&&(K?.[Tt]!==null||v.icon)?pe.createElement("div",{"data-icon":"",className:jr(L?.icon,v==null||(o=v.classNames)==null?void 0:o.icon)},v.promise||v.type==="loading"&&!v.icon?v.icon||Xe():null,v.type!=="loading"?wt:null):null,pe.createElement("div",{"data-content":"",className:jr(L?.content,v==null||(l=v.classNames)==null?void 0:l.content)},pe.createElement("div",{"data-title":"",className:jr(L?.title,v==null||(u=v.classNames)==null?void 0:u.title)},v.jsx?v.jsx:typeof v.title=="function"?v.title():v.title),v.description?pe.createElement("div",{"data-description":"",className:jr(me,kr,L?.description,v==null||(d=v.classNames)==null?void 0:d.description)},typeof v.description=="function"?v.description():v.description):null),pe.isValidElement(v.cancel)?v.cancel:v.cancel&&Qc(v.cancel)?pe.createElement("button",{"data-button":!0,"data-cancel":!0,style:v.cancelButtonStyle||F,onClick:Ne=>{Qc(v.cancel)&&Vn&&(v.cancel.onClick==null||v.cancel.onClick.call(v.cancel,Ne),_e())},className:jr(L?.cancelButton,v==null||(m=v.classNames)==null?void 0:m.cancelButton)},v.cancel.label):null,pe.isValidElement(v.action)?v.action:v.action&&Qc(v.action)?pe.createElement("button",{"data-button":!0,"data-action":!0,style:v.actionButtonStyle||ve,onClick:Ne=>{Qc(v.action)&&(v.action.onClick==null||v.action.onClick.call(v.action,Ne),!Ne.defaultPrevented&&_e())},className:jr(L?.actionButton,v==null||(p=v.classNames)==null?void 0:p.actionButton)},v.action.label):null)};function dx(){if(typeof window>"u"||typeof document>"u")return"ltr";const e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}function g3(e,n){const r={};return[e,n].forEach((i,o)=>{const l=o===1,u=l?"--mobile-offset":"--offset",d=l?c3:l3;function m(p){["top","right","bottom","left"].forEach(y=>{r[`${u}-${y}`]=typeof p=="number"?`${p}px`:p})}typeof i=="number"||typeof i=="string"?m(i):typeof i=="object"?["top","right","bottom","left"].forEach(p=>{i[p]===void 0?r[`${u}-${p}`]=d:r[`${u}-${p}`]=typeof i[p]=="number"?`${i[p]}px`:i[p]}):m(d)}),r}const v3=pe.forwardRef(function(n,r){const{id:i,invert:o,position:l="bottom-right",hotkey:u=["altKey","KeyT"],expand:d,closeButton:m,className:p,offset:y,mobileOffset:v,theme:b="light",richColors:x,duration:w,style:_,visibleToasts:E=o3,toastOptions:R,dir:T=dx(),gap:O=d3,icons:N,containerAriaLabel:z="Notifications"}=n,[U,$]=pe.useState([]),F=pe.useMemo(()=>i?U.filter(B=>B.toasterId===i):U.filter(B=>!B.toasterId),[U,i]),ve=pe.useMemo(()=>Array.from(new Set([l].concat(F.filter(B=>B.position).map(B=>B.position)))),[F,l]),[ye,me]=pe.useState([]),[de,le]=pe.useState(!1),[te,ge]=pe.useState(!1),[L,K]=pe.useState(b!=="system"?b:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),re=pe.useRef(null),W=u.join("+").replace(/Key/g,"").replace(/Digit/g,""),ne=pe.useRef(null),D=pe.useRef(!1),M=pe.useCallback(B=>{$(X=>{var Y;return(Y=X.find(ce=>ce.id===B.id))!=null&&Y.delete||Tn.dismiss(B.id),X.filter(({id:ce})=>ce!==B.id)})},[]);return pe.useEffect(()=>Tn.subscribe(B=>{if(B.dismiss){requestAnimationFrame(()=>{$(X=>X.map(Y=>Y.id===B.id?{...Y,delete:!0}:Y))});return}setTimeout(()=>{xj.flushSync(()=>{$(X=>{const Y=X.findIndex(ce=>ce.id===B.id);return Y!==-1?[...X.slice(0,Y),{...X[Y],...B},...X.slice(Y+1)]:[B,...X]})})})}),[U]),pe.useEffect(()=>{if(b!=="system"){K(b);return}if(b==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?K("dark"):K("light")),typeof window>"u")return;const B=window.matchMedia("(prefers-color-scheme: dark)");try{B.addEventListener("change",({matches:X})=>{K(X?"dark":"light")})}catch{B.addListener(({matches:Y})=>{try{K(Y?"dark":"light")}catch(ce){console.error(ce)}})}},[b]),pe.useEffect(()=>{U.length<=1&&le(!1)},[U]),pe.useEffect(()=>{const B=X=>{var Y;if(u.every(be=>X[be]||X.code===be)){var ae;le(!0),(ae=re.current)==null||ae.focus()}X.code==="Escape"&&(document.activeElement===re.current||(Y=re.current)!=null&&Y.contains(document.activeElement))&&le(!1)};return document.addEventListener("keydown",B),()=>document.removeEventListener("keydown",B)},[u]),pe.useEffect(()=>{if(re.current)return()=>{ne.current&&(ne.current.focus({preventScroll:!0}),ne.current=null,D.current=!1)}},[re.current]),pe.createElement("section",{ref:r,"aria-label":`${z} ${W}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},ve.map((B,X)=>{var Y;const[ce,ae]=B.split("-");return F.length?pe.createElement("ol",{key:B,dir:T==="auto"?dx():T,tabIndex:-1,ref:re,className:p,"data-sonner-toaster":!0,"data-sonner-theme":L,"data-y-position":ce,"data-x-position":ae,style:{"--front-toast-height":`${((Y=ye[0])==null?void 0:Y.height)||0}px`,"--width":`${u3}px`,"--gap":`${O}px`,..._,...g3(y,v)},onBlur:be=>{D.current&&!be.currentTarget.contains(be.relatedTarget)&&(D.current=!1,ne.current&&(ne.current.focus({preventScroll:!0}),ne.current=null))},onFocus:be=>{be.target instanceof HTMLElement&&be.target.dataset.dismissible==="false"||D.current||(D.current=!0,ne.current=be.relatedTarget)},onMouseEnter:()=>le(!0),onMouseMove:()=>le(!0),onMouseLeave:()=>{te||le(!1)},onDragEnd:()=>le(!1),onPointerDown:be=>{be.target instanceof HTMLElement&&be.target.dataset.dismissible==="false"||ge(!0)},onPointerUp:()=>ge(!1)},F.filter(be=>!be.position&&X===0||be.position===B).map((be,xe)=>{var Oe,Ie;return pe.createElement(p3,{key:be.id,icons:N,index:xe,toast:be,defaultRichColors:x,duration:(Oe=R?.duration)!=null?Oe:w,className:R?.className,descriptionClassName:R?.descriptionClassName,invert:o,visibleToasts:E,closeButton:(Ie=R?.closeButton)!=null?Ie:m,interacting:te,position:B,style:R?.style,unstyled:R?.unstyled,classNames:R?.classNames,cancelButtonStyle:R?.cancelButtonStyle,actionButtonStyle:R?.actionButtonStyle,closeButtonAriaLabel:R?.closeButtonAriaLabel,removeToast:M,toasts:F.filter(Ve=>Ve.position==be.position),heights:ye.filter(Ve=>Ve.position==be.position),setHeights:me,expandByDefault:d,gap:O,expanded:de,swipeDirections:n.swipeDirections})})):null}))}),y3=({...e})=>f.jsx(v3,{theme:"dark",className:"toaster group",icons:{success:f.jsx(mz,{className:"size-4"}),info:f.jsx(Kz,{className:"size-4"}),warning:f.jsx(S_,{className:"size-4"}),error:f.jsx(hk,{className:"size-4"}),loading:f.jsx(nk,{className:"size-4 animate-spin"})},style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)","--border-radius":"var(--radius-ctl)"},...e});function Ke(e,n=!1){n?cx.error(e,{duration:1/0,closeButton:!0}):cx(e)}function b3(){return f.jsx(y3,{position:"bottom-center"})}const fx=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,hx=J1,x3=(e,n)=>r=>{var i;if(n?.variants==null)return hx(e,r?.class,r?.className);const{variants:o,defaultVariants:l}=n,u=Object.keys(o).map(p=>{const y=r?.[p],v=l?.[p];if(y===null)return null;const b=fx(y)||fx(v);return o[p][b]}),d=r&&Object.entries(r).reduce((p,y)=>{let[v,b]=y;return b===void 0||(p[v]=b),p},{}),m=n==null||(i=n.compoundVariants)===null||i===void 0?void 0:i.reduce((p,y)=>{let{class:v,className:b,...x}=y;return Object.entries(x).every(w=>{let[_,E]=w;return Array.isArray(E)?E.includes({...l,...d}[_]):{...l,...d}[_]===E})?[...p,v,b]:p},[]);return hx(e,u,m,r?.class,r?.className)},w3=x3("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-[background-color,border-color,color] disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",primary:"pbtn",danger:"danger-btn",subtle:"ai-btn",toolbar:"btn",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function vt({className:e,variant:n="default",size:r="default",asChild:i=!1,...o}){const l=i?wj:"button";return f.jsx(l,{"data-slot":"button","data-variant":n,"data-size":r,className:Je(w3({variant:n,size:r,className:e})),...o})}function Ju({...e}){return f.jsx(hp,{"data-slot":"dialog",...e})}function S3({...e}){return f.jsx(pp,{"data-slot":"dialog-portal",...e})}function _3({className:e,...n}){return f.jsx(gp,{"data-slot":"dialog-overlay",className:Je("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",e),...n})}function Wu({className:e,children:n,showCloseButton:r=!0,...i}){return f.jsxs(S3,{"data-slot":"dialog-portal",children:[f.jsx(_3,{}),f.jsxs(vp,{"data-slot":"dialog-content",className:Je("fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg",e),...i,children:[n,r&&f.jsxs(aS,{"data-slot":"dialog-close",className:"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[f.jsx(C_,{}),f.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function _l({className:e,...n}){return f.jsx(tS,{"data-slot":"dialog-title",className:Je("text-lg leading-none font-semibold",e),...n})}let E_=null,lu=[];function Cl(e){E_=e,lu.forEach(n=>n())}function R_(e,n,r="",i="OK",o={}){return new Promise(l=>Cl({kind:"prompt",title:e,label:n,value:r,okLabel:i,...o,resolve:l}))}function wi(e,n,r="Confirm",i=!1){return new Promise(o=>Cl({kind:"confirm",title:e,message:n,confirmLabel:r,danger:i,resolve:o}))}function C3(){const e=S.useSyncExternalStore(r=>(lu.push(r),()=>{lu=lu.filter(i=>i!==r)}),()=>E_);if(!e)return null;const n=()=>{Cl(null),e.kind==="prompt"?e.resolve(null):e.resolve(!1)};return f.jsx(Ju,{open:!0,onOpenChange:r=>!r&&n(),children:f.jsx(Wu,{className:"modal",showCloseButton:!1,children:e.kind==="prompt"?f.jsx(E3,{m:e}):f.jsx(R3,{m:e})})})}function E3({m:e}){const n=S.useRef(null),r=p=>{Cl(null),e.resolve(p)},[i,o]=S.useState(""),[l,u]=S.useState(e.value),d=e.match===void 0||l.trim()===e.match,m=()=>{const p=l;if(d){if(!p.trim()){o("Give it a name."),n.current.focus();return}r(p)}};return f.jsxs(f.Fragment,{children:[f.jsx(_l,{asChild:!0,children:f.jsx("h3",{children:e.title})}),f.jsx("label",{className:"modal-label",htmlFor:"modal-input",children:e.label}),f.jsx("input",{className:"modal-input",type:"text",autoComplete:"off",value:l,ref:n,id:"modal-input",autoFocus:!0,onFocus:p=>p.currentTarget.select(),"aria-invalid":!!i,"aria-describedby":i?"modal-input-err":void 0,onChange:p=>{u(p.currentTarget.value),i&&o("")},onKeyDown:p=>p.key==="Enter"&&m()}),i&&f.jsx("span",{id:"modal-input-err",role:"alert",className:"field-err",children:i}),f.jsxs("div",{className:"modal-actions",children:[f.jsx(vt,{variant:"subtle",onClick:()=>r(null),children:"Cancel"}),f.jsx(vt,{variant:e.danger?"danger":"primary",onClick:m,disabled:!d,children:e.okLabel})]})]})}function R3({m:e}){const n=r=>{Cl(null),e.resolve(r)};return f.jsxs(f.Fragment,{children:[f.jsx(_l,{asChild:!0,children:f.jsx("h3",{children:e.title})}),f.jsx("p",{className:"modal-msg",children:e.message}),f.jsxs("div",{className:"modal-actions",children:[f.jsx(vt,{variant:"subtle",onClick:()=>n(!1),autoFocus:e.danger,children:"Cancel"}),f.jsx(vt,{variant:e.danger?"danger":"primary",onClick:()=>n(!0),autoFocus:!e.danger,children:e.confirmLabel})]})]})}function j3(e){return Pt({queryKey:["projects"],queryFn:()=>Bt("/api/projects"),enabled:e,refetchInterval:3e4,select:n=>n.projects||[]})}function T3(e){return Pt({queryKey:["orgs"],queryFn:()=>Bt("/api/orgs"),enabled:e,select:n=>n.orgs||[]})}function O3(e){return Pt({queryKey:["permissions",e],queryFn:()=>Bt(`/api/p/${e}/permissions`),enabled:!!e})}function j_(e,n=!0){return Pt({queryKey:["shares",e],queryFn:()=>Bt(`/api/p/${e}/shares`),enabled:!!e&&n,select:r=>r.shares||[]})}function T_(e){return Pt({queryKey:["admin","pending"],queryFn:()=>Bt("/api/admin/pending"),enabled:e,select:n=>n.pending||[]})}function O_(){const e=Mi();return()=>Promise.all([e.invalidateQueries({queryKey:["projects"]}),e.invalidateQueries({queryKey:["orgs"]})]).then(()=>{})}function A_(e){return e.split("/").map(encodeURIComponent).join("/")}function A3(e){try{return decodeURIComponent(e)}catch{return e}}function M_(e){return e.split("/").map(A3).join("/")}const M3=new Set(["dashboard","history","install","settings"]),mx={insights:"dashboard"};function N3(e){return Object.hasOwn(mx,e)?mx[e]:void 0}const Gp=["q","user","since","until"];function Zp(e){return!!e&&Gp.some(n=>!!e[n])}function N_(e){const n=new URLSearchParams;for(const i of Gp)e?.[i]&&n.set(i,e[i]);const r=n.toString();return r?"?"+r:""}function D_(e,n){const r=e.indexOf("?"),i=r===-1?null:new URLSearchParams(e.slice(r)),o=i?.get("v")||"",l=i?.get("connect")||"",u=D3(r===-1?e:e.slice(0,r),n);o&&(u.version=o),l&&(u.connect=l);const d={};for(const m of Gp){const p=i?.get(m);p&&(d[m]=p)}if(Zp(d)&&(u.filters=d),u.view==="history"&&!u.viewTarget){const m=(i?.get("path")||i?.get("prefix")||"").replace(/^\/+|\/+$/g,"");m&&(u.viewTarget=M_(m),u.queryTarget=!0)}return u}function px(e,n){const r=n.replace(/\/+$/,"");return r!==n&&(e.trailingSlash=!0),e.path=r?M_(r):"",e}function D3(e,n){const r=e.replace(/^\/+/,"");if(n!=="hub")return px({path:""},r);if(r==="orgs"||r.startsWith("orgs/"))return{org:r.slice(5).replace(/\/+$/,""),path:""};if(r==="billing"||r.startsWith("billing/"))return{billing:!0,path:""};const i=r.indexOf("/");if(i===-1)return{project:r,path:""};const o=px({project:r.slice(0,i),path:""},r.slice(i+1)),l=o.path.indexOf("/"),u=l===-1?o.path:o.path.slice(0,l),d=N3(u);return(M3.has(u)||d)&&(o.view=d||u,d&&(o.legacyView=!0),o.viewTarget=l===-1?"":o.path.slice(l+1).replace(/\/+$/,""),o.path=""),o}function fl(e,n,r){const i=A_(e),o=r?"?v="+r:"";return n?"/"+n+(i?"/"+i:"")+o:"/"+i+o}function Pn(e,n,r,i){let o=(n?"/"+n:"")+"/"+e;return r&&(o+="/"+A_(r.replace(/\/+$/,""))),o+(e==="history"?N_(i):"")}let Kp="POP";const zm=new Set;function z_(){for(const e of zm)e()}window.addEventListener("popstate",()=>{Kp="POP",z_()});function Kt(e,n){const r=location.pathname+location.search;!n?.replace&&r===e||(history[n?.replace?"replaceState":"pushState"](null,"",e),Kp=n?.replace?"REPLACE":"PUSH",z_())}function Yp(){return S.useSyncExternalStore(e=>(zm.add(e),()=>{zm.delete(e)}),()=>location.pathname+location.search)}function z3(){return Kp}function Bs(e){return e.startsWith("/")&&!e.startsWith("//")?{href:e,onClick:r=>{r.defaultPrevented||r.metaKey||r.ctrlKey||r.shiftKey||r.altKey||r.button!==0||(r.preventDefault(),Kt(e),document.body.classList.remove("sb-open"))}}:{href:e,target:"_blank",rel:"noopener noreferrer"}}function Qo({to:e}){return S.useEffect(()=>{Kt(e,{replace:!0})},[e]),null}function k_(){return{accessor:(e,n)=>typeof e=="function"?{...n,accessorFn:e}:{...n,accessorKey:e},display:e=>e,group:e=>e}}function Da(e,n){return typeof e=="function"?e(n):e}function Fn(e,n){return r=>{n.setState(i=>({...i,[e]:Da(r,i[e])}))}}function ed(e){return e instanceof Function}function k3(e){return Array.isArray(e)&&e.every(n=>typeof n=="number")}function L3(e,n){const r=[],i=o=>{o.forEach(l=>{r.push(l);const u=n(l);u!=null&&u.length&&i(u)})};return i(e),r}function ze(e,n,r){let i=[],o;return l=>{let u;r.key&&r.debug&&(u=Date.now());const d=e(l);if(!(d.length!==i.length||d.some((y,v)=>i[v]!==y)))return o;i=d;let p;if(r.key&&r.debug&&(p=Date.now()),o=n(...d),r==null||r.onChange==null||r.onChange(o),r.key&&r.debug&&r!=null&&r.debug()){const y=Math.round((Date.now()-u)*100)/100,v=Math.round((Date.now()-p)*100)/100,b=v/16,x=(w,_)=>{for(w=String(w);w.length<_;)w=" "+w;return w};console.info(`%c⏱ ${x(v,5)} /${x(y,5)} ms`,` +`)},FT=0,Es=[];function VT(e){var n=S.useRef([]),r=S.useRef([0,0]),i=S.useRef(),o=S.useState(FT++)[0],l=S.useState(qw)[0],u=S.useRef(e);S.useEffect(function(){u.current=e},[e]),S.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var _=lT([e.lockRef.current],(e.shards||[]).map(Ub),!0).filter(Boolean);return _.forEach(function(E){return E.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),_.forEach(function(E){return E.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var d=S.useCallback(function(_,E){if("touches"in _&&_.touches.length===2||_.type==="wheel"&&_.ctrlKey)return!u.current.allowPinchZoom;var R=Bc(_),T=r.current,O="deltaX"in _?_.deltaX:T[0]-R[0],N="deltaY"in _?_.deltaY:T[1]-R[1],z,U=_.target,$=Math.abs(O)>Math.abs(N)?"h":"v";if("touches"in _&&$==="h"&&U.type==="range")return!1;var F=window.getSelection(),ve=F&&F.anchorNode,ye=ve?ve===U||ve.contains(U):!1;if(ye)return!1;var me=Fb($,U);if(!me)return!0;if(me?z=$:(z=$==="v"?"h":"v",me=Fb($,U)),!me)return!1;if(!i.current&&"changedTouches"in _&&(O||N)&&(i.current=z),!z)return!0;var de=i.current||z;return $T(de,E,_,de==="h"?O:N)},[]),m=S.useCallback(function(_){var E=_;if(!(!Es.length||Es[Es.length-1]!==l)){var R="deltaY"in E?Vb(E):Bc(E),T=n.current.filter(function(z){return z.name===E.type&&(z.target===E.target||E.target===z.shadowParent)&&IT(z.delta,R)})[0];if(T&&T.should){E.cancelable&&E.preventDefault();return}if(!T){var O=(u.current.shards||[]).map(Ub).filter(Boolean).filter(function(z){return z.contains(E.target)}),N=O.length>0?d(E,O[0]):!u.current.noIsolation;N&&E.cancelable&&E.preventDefault()}}},[]),p=S.useCallback(function(_,E,R,T){var O={name:_,delta:E,target:R,should:T,shadowParent:UT(R)};n.current.push(O),setTimeout(function(){n.current=n.current.filter(function(N){return N!==O})},1)},[]),y=S.useCallback(function(_){r.current=Bc(_),i.current=void 0},[]),v=S.useCallback(function(_){p(_.type,Vb(_),_.target,d(_,e.lockRef.current))},[]),b=S.useCallback(function(_){p(_.type,Bc(_),_.target,d(_,e.lockRef.current))},[]);S.useEffect(function(){return Es.push(l),e.setCallbacks({onScrollCapture:v,onWheelCapture:v,onTouchMoveCapture:b}),document.addEventListener("wheel",m,Cs),document.addEventListener("touchmove",m,Cs),document.addEventListener("touchstart",y,Cs),function(){Es=Es.filter(function(_){return _!==l}),document.removeEventListener("wheel",m,Cs),document.removeEventListener("touchmove",m,Cs),document.removeEventListener("touchstart",y,Cs)}},[]);var x=e.removeScrollBar,w=e.inert;return S.createElement(S.Fragment,null,w?S.createElement(l,{styles:PT(o)}):null,x?S.createElement(AT,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function UT(e){for(var n=null;e!==null;)e instanceof ShadowRoot&&(n=e.host,e=e.host),e=e.parentNode;return n}const HT=vT(Bw,VT);var zu=S.forwardRef(function(e,n){return S.createElement(Du,Ar({},e,{ref:n,sideCar:HT}))});zu.classNames=Du.classNames;var BT=function(e){if(typeof document>"u")return null;var n=Array.isArray(e)?e[0]:e;return n.ownerDocument.body},Rs=new WeakMap,qc=new WeakMap,Gc={},$h=0,Yw=function(e){return e&&(e.host||Yw(e.parentNode))},qT=function(e,n){return n.map(function(r){if(e.contains(r))return r;var i=Yw(r);return i&&e.contains(i)?i:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},GT=function(e,n,r,i){var o=qT(n,Array.isArray(e)?e:[e]);Gc[r]||(Gc[r]=new WeakMap);var l=Gc[r],u=[],d=new Set,m=new Set(o),p=function(v){!v||d.has(v)||(d.add(v),p(v.parentNode))};o.forEach(p);var y=function(v){!v||m.has(v)||Array.prototype.forEach.call(v.children,function(b){if(d.has(b))y(b);else try{var x=b.getAttribute(i),w=x!==null&&x!=="false",_=(Rs.get(b)||0)+1,E=(l.get(b)||0)+1;Rs.set(b,_),l.set(b,E),u.push(b),_===1&&w&&qc.set(b,!0),E===1&&b.setAttribute(r,"true"),w||b.setAttribute(i,"true")}catch(R){console.error("aria-hidden: cannot operate on ",b,R)}})};return y(n),d.clear(),$h++,function(){u.forEach(function(v){var b=Rs.get(v)-1,x=l.get(v)-1;Rs.set(v,b),l.set(v,x),b||(qc.has(v)||v.removeAttribute(i),qc.delete(v)),x||v.removeAttribute(r)}),$h--,$h||(Rs=new WeakMap,Rs=new WeakMap,qc=new WeakMap,Gc={})}},fp=function(e,n,r){r===void 0&&(r="data-aria-hidden");var i=Array.from(Array.isArray(e)?e:[e]),o=BT(e);return o?(i.push.apply(i,Array.from(o.querySelectorAll("[aria-live], script"))),GT(i,o,r,"aria-hidden")):function(){return null}},ku="Dialog",[Qw]=Ga(ku),[ZT,yr]=Qw(ku),hp=e=>{const{__scopeDialog:n,children:r,open:i,defaultOpen:o,onOpenChange:l,modal:u=!0}=e,d=S.useRef(null),m=S.useRef(null),[p,y]=Vs({prop:i,defaultProp:o??!1,onChange:l,caller:ku});return f.jsx(ZT,{scope:n,triggerRef:d,contentRef:m,contentId:dn(),titleId:dn(),descriptionId:dn(),open:p,onOpenChange:y,onOpenToggle:S.useCallback(()=>y(v=>!v),[y]),modal:u,children:r})};hp.displayName=ku;var Xw="DialogTrigger",KT=S.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,o=yr(Xw,r),l=nt(n,o.triggerRef);return f.jsx($e.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.open?o.contentId:void 0,"data-state":yp(o.open),...i,ref:l,onClick:je(e.onClick,o.onOpenToggle)})});KT.displayName=Xw;var mp="DialogPortal",[YT,Jw]=Qw(mp,{forceMount:void 0}),pp=e=>{const{__scopeDialog:n,forceMount:r,children:i,container:o}=e,l=yr(mp,n);return f.jsx(YT,{scope:n,forceMount:r,children:S.Children.map(i,u=>f.jsx(vr,{present:r||l.open,children:f.jsx(yl,{asChild:!0,container:o,children:u})}))})};pp.displayName=mp;var hu="DialogOverlay",gp=S.forwardRef((e,n)=>{const r=Jw(hu,e.__scopeDialog),{forceMount:i=r.forceMount,...o}=e,l=yr(hu,e.__scopeDialog);return l.modal?f.jsx(vr,{present:i||l.open,children:f.jsx(XT,{...o,ref:n})}):null});gp.displayName=hu;var QT=Ci("DialogOverlay.RemoveScroll"),XT=S.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,o=yr(hu,r),l=Qj(),u=nt(n,l);return f.jsx(zu,{as:QT,allowPinchZoom:!0,shards:[o.contentRef],children:f.jsx($e.div,{"data-state":yp(o.open),...i,ref:u,style:{pointerEvents:"auto",...i.style}})})}),Us="DialogContent",vp=S.forwardRef((e,n)=>{const r=Jw(Us,e.__scopeDialog),{forceMount:i=r.forceMount,...o}=e,l=yr(Us,e.__scopeDialog);return f.jsx(vr,{present:i||l.open,children:l.modal?f.jsx(JT,{...o,ref:n}):f.jsx(WT,{...o,ref:n})})});vp.displayName=Us;var JT=S.forwardRef((e,n)=>{const r=yr(Us,e.__scopeDialog),i=S.useRef(null),o=nt(n,r.contentRef,i);return S.useEffect(()=>{const l=i.current;if(l)return fp(l)},[]),f.jsx(Ww,{...e,ref:o,trapFocus:r.open,disableOutsidePointerEvents:r.open,onCloseAutoFocus:je(e.onCloseAutoFocus,l=>{l.preventDefault(),r.triggerRef.current?.focus()}),onPointerDownOutside:je(e.onPointerDownOutside,l=>{const u=l.detail.originalEvent,d=u.button===0&&u.ctrlKey===!0;(u.button===2||d)&&l.preventDefault()}),onFocusOutside:je(e.onFocusOutside,l=>l.preventDefault())})}),WT=S.forwardRef((e,n)=>{const r=yr(Us,e.__scopeDialog),i=S.useRef(!1),o=S.useRef(!1);return f.jsx(Ww,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:l=>{e.onCloseAutoFocus?.(l),l.defaultPrevented||(i.current||r.triggerRef.current?.focus(),l.preventDefault()),i.current=!1,o.current=!1},onInteractOutside:l=>{e.onInteractOutside?.(l),l.defaultPrevented||(i.current=!0,l.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const u=l.target;r.triggerRef.current?.contains(u)&&l.preventDefault(),l.detail.originalEvent.type==="focusin"&&o.current&&l.preventDefault()}})}),Ww=S.forwardRef((e,n)=>{const{__scopeDialog:r,trapFocus:i,onOpenAutoFocus:o,onCloseAutoFocus:l,...u}=e,d=yr(Us,r);return dp(),f.jsx(f.Fragment,{children:f.jsx(Nu,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:o,onUnmountAutoFocus:l,children:f.jsx(vl,{role:"dialog",id:d.contentId,"aria-describedby":d.descriptionId,"aria-labelledby":d.titleId,"data-state":yp(d.open),...u,ref:n,deferPointerDownOutside:!0,onDismiss:()=>d.onOpenChange(!1)})})})}),eS="DialogTitle",tS=S.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,o=yr(eS,r);return f.jsx($e.h2,{id:o.titleId,...i,ref:n})});tS.displayName=eS;var nS="DialogDescription",eO=S.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,o=yr(nS,r);return f.jsx($e.p,{id:o.descriptionId,...i,ref:n})});eO.displayName=nS;var rS="DialogClose",aS=S.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,o=yr(rS,r);return f.jsx($e.button,{type:"button",...i,ref:n,onClick:je(e.onClick,()=>o.onOpenChange(!1))})});aS.displayName=rS;function yp(e){return e?"open":"closed"}function tO(e){const n=S.useRef({value:e,previous:e});return S.useMemo(()=>(n.current.value!==e&&(n.current.previous=n.current.value,n.current.value=e),n.current.previous),[e])}function nO(e){const[n,r]=S.useState(void 0);return Yt(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});const i=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const l=o[0];let u,d;if("borderBoxSize"in l){const m=l.borderBoxSize,p=Array.isArray(m)?m[0]:m;u=p.inlineSize,d=p.blockSize}else u=e.offsetWidth,d=e.offsetHeight;r({width:u,height:d})});return i.observe(e,{box:"border-box"}),()=>i.unobserve(e)}else r(void 0)},[e]),n}const rO=["top","right","bottom","left"],Va=Math.min,ra=Math.max,mu=Math.round,Zc=Math.floor,aa=e=>({x:e,y:e}),aO={left:"right",right:"left",bottom:"top",top:"bottom"};function iS(e,n,r){return ra(e,Va(n,r))}function ia(e,n){return typeof e=="function"?e(n):e}function Ua(e){return e.split("-")[0]}function Gs(e){return e.split("-")[1]}function bp(e){return e==="x"?"y":"x"}function xp(e){return e==="y"?"height":"width"}function Mr(e){const n=e[0];return n==="t"||n==="b"?"y":"x"}function wp(e){return bp(Mr(e))}function iO(e,n,r){r===void 0&&(r=!1);const i=Gs(e),o=wp(e),l=xp(o);let u=o==="x"?i===(r?"end":"start")?"right":"left":i==="start"?"bottom":"top";return n.reference[l]>n.floating[l]&&(u=pu(u)),[u,pu(u)]}function sO(e){const n=pu(e);return[xm(e),n,xm(n)]}function xm(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const Hb=["left","right"],Bb=["right","left"],oO=["top","bottom"],lO=["bottom","top"];function cO(e,n,r){switch(e){case"top":case"bottom":return r?n?Bb:Hb:n?Hb:Bb;case"left":case"right":return n?oO:lO;default:return[]}}function uO(e,n,r,i){const o=Gs(e);let l=cO(Ua(e),r==="start",i);return o&&(l=l.map(u=>u+"-"+o),n&&(l=l.concat(l.map(xm)))),l}function pu(e){const n=Ua(e);return aO[n]+e.slice(n.length)}function dO(e){var n,r,i,o;return{top:(n=e.top)!=null?n:0,right:(r=e.right)!=null?r:0,bottom:(i=e.bottom)!=null?i:0,left:(o=e.left)!=null?o:0}}function sS(e){return typeof e!="number"?dO(e):{top:e,right:e,bottom:e,left:e}}function gu(e){const{x:n,y:r,width:i,height:o}=e;return{width:i,height:o,top:r,left:n,right:n+i,bottom:r+o,x:n,y:r}}function qb(e,n,r){let{reference:i,floating:o}=e;const l=Mr(n),u=wp(n),d=xp(u),m=Ua(n),p=l==="y",y=i.x+i.width/2-o.width/2,v=i.y+i.height/2-o.height/2,b=i[d]/2-o[d]/2;let x;switch(m){case"top":x={x:y,y:i.y-o.height};break;case"bottom":x={x:y,y:i.y+i.height};break;case"right":x={x:i.x+i.width,y:v};break;case"left":x={x:i.x-o.width,y:v};break;default:x={x:i.x,y:i.y}}const w=Gs(n);return w&&(x[u]+=b*(w==="end"?1:-1)*(r&&p?-1:1)),x}async function fO(e,n){var r;n===void 0&&(n={});const{x:i,y:o,platform:l,rects:u,elements:d,strategy:m}=e,{boundary:p="clippingAncestors",rootBoundary:y="viewport",elementContext:v="floating",altBoundary:b=!1,padding:x=0}=ia(n,e),w=sS(x),E=d[b?v==="floating"?"reference":"floating":v],R=gu(await l.getClippingRect({element:(r=await(l.isElement==null?void 0:l.isElement(E)))==null||r?E:E.contextElement||await(l.getDocumentElement==null?void 0:l.getDocumentElement(d.floating)),boundary:p,rootBoundary:y,strategy:m})),T=v==="floating"?{x:i,y:o,width:u.floating.width,height:u.floating.height}:u.reference,O=await(l.getOffsetParent==null?void 0:l.getOffsetParent(d.floating)),N=await(l.isElement==null?void 0:l.isElement(O))&&await(l.getScale==null?void 0:l.getScale(O))||{x:1,y:1},z=gu(l.convertOffsetParentRelativeRectToViewportRelativeRect?await l.convertOffsetParentRelativeRectToViewportRelativeRect({elements:d,rect:T,offsetParent:O,strategy:m}):T);return{top:(R.top-z.top+w.top)/N.y,bottom:(z.bottom-R.bottom+w.bottom)/N.y,left:(R.left-z.left+w.left)/N.x,right:(z.right-R.right+w.right)/N.x}}const hO=50,mO=async(e,n,r)=>{const{placement:i="bottom",strategy:o="absolute",middleware:l=[],platform:u}=r,d=u.detectOverflow?u:{...u,detectOverflow:fO},m=await(u.isRTL==null?void 0:u.isRTL(n));let p=await u.getElementRects({reference:e,floating:n,strategy:o}),{x:y,y:v}=qb(p,i,m),b=i,x=0;const w={};for(let _=0;_({name:"arrow",options:e,async fn(n){const{x:r,y:i,placement:o,rects:l,platform:u,elements:d,middlewareData:m}=n,{element:p,padding:y=0}=ia(e,n)||{};if(p==null)return{};const v=sS(y),b={x:r,y:i},x=wp(o),w=xp(x),_=await u.getDimensions(p),E=x==="y",R=E?"top":"left",T=E?"bottom":"right",O=E?"clientHeight":"clientWidth",N=l.reference[w]+l.reference[x]-b[x]-l.floating[w],z=b[x]-l.reference[x],U=await(u.getOffsetParent==null?void 0:u.getOffsetParent(p));let $=U?U[O]:0;(!$||!await(u.isElement==null?void 0:u.isElement(U)))&&($=d.floating[O]||l.floating[w]);const F=N/2-z/2,ve=$/2-_[w]/2-1,ye=Va(v[R],ve),me=Va(v[T],ve),de=$-_[w]-me,le=$/2-_[w]/2+F,te=iS(ye,le,de),ge=!m.arrow&&Gs(o)!=null&&le!==te&&l.reference[w]/2-(lete<=0)){var me,de;const te=(((me=l.flip)==null?void 0:me.index)||0)+1,ge=$[te];if(ge&&(!(v==="alignment"?T!==Mr(ge):!1)||ye.every(re=>Mr(re.placement)===T?re.overflows[0]>0:!0)))return{data:{index:te,overflows:ye},reset:{placement:ge}};let L=(de=ye.filter(K=>K.overflows[0]<=0).sort((K,re)=>K.overflows[1]-re.overflows[1])[0])==null?void 0:de.placement;if(!L)switch(x){case"bestFit":{var le;const K=(le=ye.filter(re=>{if(U){const W=Mr(re.placement);return W===T||W==="y"}return!0}).map(re=>[re.placement,re.overflows.filter(W=>W>0).reduce((W,ne)=>W+ne,0)]).sort((re,W)=>re[1]-W[1])[0])==null?void 0:le[0];K&&(L=K);break}case"initialPlacement":L=d;break}if(o!==L)return{reset:{placement:L}}}return{}}}};function Gb(e,n){return{top:e.top-n.height,right:e.right-n.width,bottom:e.bottom-n.height,left:e.left-n.width}}function Zb(e){return rO.some(n=>e[n]>=0)}const vO=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(n){const{rects:r,platform:i}=n,{strategy:o="referenceHidden",...l}=ia(e,n);switch(o){case"referenceHidden":{const u=await i.detectOverflow(n,{...l,elementContext:"reference"}),d=Gb(u,r.reference);return{data:{referenceHiddenOffsets:d,referenceHidden:Zb(d)}}}case"escaped":{const u=await i.detectOverflow(n,{...l,altBoundary:!0}),d=Gb(u,r.floating);return{data:{escapedOffsets:d,escaped:Zb(d)}}}default:return{}}}}},oS=new Set(["left","top"]);async function yO(e,n){const{placement:r,platform:i,elements:o}=e,l=await(i.isRTL==null?void 0:i.isRTL(o.floating)),u=Ua(r),d=Gs(r),m=Mr(r)==="y",p=oS.has(u)?-1:1,y=l&&m?-1:1,v=ia(n,e);let{mainAxis:b,crossAxis:x,alignmentAxis:w}=typeof v=="number"?{mainAxis:v,crossAxis:0,alignmentAxis:null}:{mainAxis:v.mainAxis||0,crossAxis:v.crossAxis||0,alignmentAxis:v.alignmentAxis};return d&&typeof w=="number"&&(x=d==="end"?w*-1:w),m?{x:x*y,y:b*p}:{x:b*p,y:x*y}}const bO=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(n){var r,i;const{x:o,y:l,placement:u,middlewareData:d}=n,m=await yO(n,e);return u===((r=d.offset)==null?void 0:r.placement)&&(i=d.arrow)!=null&&i.alignmentOffset?{}:{x:o+m.x,y:l+m.y,data:{...m,placement:u}}}}},xO=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(n){const{x:r,y:i,placement:o,platform:l}=n,{mainAxis:u=!0,crossAxis:d=!1,limiter:m={fn:T=>{let{x:O,y:N}=T;return{x:O,y:N}}},...p}=ia(e,n),y={x:r,y:i},v=await l.detectOverflow(n,p),b=Mr(o),x=bp(b);let w=y[x],_=y[b];const E=(T,O)=>iS(O+v[T==="y"?"top":"left"],O,O-v[T==="y"?"bottom":"right"]);u&&(w=E(x,w)),d&&(_=E(b,_));const R=m.fn({...n,[x]:w,[b]:_});return{...R,data:{x:R.x-r,y:R.y-i,enabled:{[x]:u,[b]:d}}}}}},wO=function(e){return e===void 0&&(e={}),{options:e,fn(n){var r,i;const{x:o,y:l,placement:u,rects:d,middlewareData:m}=n,{offset:p=0,mainAxis:y=!0,crossAxis:v=!0}=ia(e,n),b={x:o,y:l},x=Mr(u),w=bp(x);let _=b[w],E=b[x];const R=ia(p,n),T=typeof R=="number"?{mainAxis:R,crossAxis:0}:{mainAxis:(r=R.mainAxis)!=null?r:0,crossAxis:(i=R.crossAxis)!=null?i:0};if(y){const z=w==="y"?"height":"width",U=d.reference[w]-d.floating[z]+T.mainAxis,$=d.reference[w]+d.reference[z]-T.mainAxis;_$&&(_=$)}if(v){var O,N;const z=w==="y"?"width":"height",U=oS.has(Ua(u)),$=d.reference[x]-d.floating[z]+(U&&((O=m.offset)==null?void 0:O[x])||0)+(U?0:T.crossAxis),F=d.reference[x]+d.reference[z]+(U?0:((N=m.offset)==null?void 0:N[x])||0)-(U?T.crossAxis:0);E<$?E=$:E>F&&(E=F)}return{[w]:_,[x]:E}}}},SO=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(n){const{placement:r,rects:i,platform:o,elements:l}=n,{apply:u=()=>{},...d}=ia(e,n),m=await o.detectOverflow(n,d),p=Ua(r),y=Gs(r),v=Mr(r)==="y",{width:b,height:x}=i.floating;let w,_;p==="top"||p==="bottom"?(w=p,_=y===(await(o.isRTL==null?void 0:o.isRTL(l.floating))?"start":"end")?"left":"right"):(_=p,w=y==="end"?"top":"bottom");const E=x-m.top-m.bottom,R=b-m.left-m.right,T=Va(x-m[w],E),O=Va(b-m[_],R),N=n.middlewareData.shift,z=!N;let U=T,$=O;N!=null&&N.enabled.x&&($=R),N!=null&&N.enabled.y&&(U=E),z&&!y&&(v?$=b-2*ra(m.left,m.right):U=x-2*ra(m.top,m.bottom)),await u({...n,availableWidth:$,availableHeight:U});const F=await o.getDimensions(l.floating);return b!==F.width||x!==F.height?{reset:{rects:!0}}:{}}}};function Lu(){return typeof window<"u"}function Zs(e){return lS(e)?(e.nodeName||"").toLowerCase():"#document"}function An(e){var n;return(e==null||(n=e.ownerDocument)==null?void 0:n.defaultView)||window}function sa(e){var n;return(n=(lS(e)?e.ownerDocument:e.document)||window.document)==null?void 0:n.documentElement}function lS(e){return Lu()?e instanceof Node||e instanceof An(e).Node:!1}function Nr(e){return Lu()?e instanceof Element||e instanceof An(e).Element:!1}function Za(e){return Lu()?e instanceof HTMLElement||e instanceof An(e).HTMLElement:!1}function Kb(e){return!Lu()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof An(e).ShadowRoot}function $u(e){const{overflow:n,overflowX:r,overflowY:i,display:o}=Dr(e);return/auto|scroll|overlay|hidden|clip/.test(n+i+r)&&o!=="inline"&&o!=="contents"}function _O(e){return/^(table|td|th)$/.test(Zs(e))}function Iu(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const CO=/transform|translate|scale|rotate|perspective|filter/,EO=/paint|layout|strict|content/,vi=e=>!!e&&e!=="none";let Ih;function Sp(e){const n=Nr(e)?Dr(e):e;return vi(n.transform)||vi(n.translate)||vi(n.scale)||vi(n.rotate)||vi(n.perspective)||!_p()&&(vi(n.backdropFilter)||vi(n.filter))||CO.test(n.willChange||"")||EO.test(n.contain||"")}function RO(e){let n=Ei(e);for(;Za(n)&&!il(n);){if(Sp(n))return n;if(Iu(n))return null;n=Ei(n)}return null}function _p(){return Ih==null&&(Ih=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Ih}function il(e){return/^(html|body|#document)$/.test(Zs(e))}function Dr(e){return An(e).getComputedStyle(e)}function Pu(e){return Nr(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Ei(e){if(Zs(e)==="html")return e;const n=e.assignedSlot||e.parentNode||Kb(e)&&e.host||sa(e);return Kb(n)?n.host:n}function cS(e){const n=Ei(e);return il(n)?(e.ownerDocument||e).body:Za(n)&&$u(n)?n:cS(n)}function sl(e,n,r){var i;n===void 0&&(n=[]),r===void 0&&(r=!0);const o=cS(e),l=o===((i=e.ownerDocument)==null?void 0:i.body),u=An(o);if(l){const d=wm(u);return n.concat(u,u.visualViewport||[],$u(o)?o:[],d&&r?sl(d):[])}else return n.concat(o,sl(o,[],r))}function wm(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function uS(e){const n=Dr(e);let r=parseFloat(n.width)||0,i=parseFloat(n.height)||0;const o=Za(e),l=o?e.offsetWidth:r,u=o?e.offsetHeight:i,d=mu(r)!==l||mu(i)!==u;return d&&(r=l,i=u),{width:r,height:i,$:d}}function Cp(e){return Nr(e)?e:e.contextElement}function Ls(e){const n=Cp(e);if(!Za(n))return aa(1);const r=n.getBoundingClientRect(),{width:i,height:o,$:l}=uS(n);let u=(l?mu(r.width):r.width)/i,d=(l?mu(r.height):r.height)/o;return(!u||!Number.isFinite(u))&&(u=1),(!d||!Number.isFinite(d))&&(d=1),{x:u,y:d}}const jO=aa(0);function dS(e){const n=An(e);return!_p()||!n.visualViewport?jO:{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}}function TO(e,n,r){return n===void 0&&(n=!1),!!r&&n&&r===An(e)}function Ri(e,n,r,i){n===void 0&&(n=!1),r===void 0&&(r=!1);const o=e.getBoundingClientRect(),l=Cp(e);let u=aa(1);n&&(i?Nr(i)&&(u=Ls(i)):u=Ls(e));const d=TO(l,r,i)?dS(l):aa(0);let m=(o.left+d.x)/u.x,p=(o.top+d.y)/u.y,y=o.width/u.x,v=o.height/u.y;if(l&&i){const b=An(l),x=Nr(i)?An(i):i;let w=b,_=wm(w);for(;_&&x!==w;){const E=Ls(_),R=_.getBoundingClientRect(),T=Dr(_),O=R.left+(_.clientLeft+parseFloat(T.paddingLeft))*E.x,N=R.top+(_.clientTop+parseFloat(T.paddingTop))*E.y;m*=E.x,p*=E.y,y*=E.x,v*=E.y,m+=O,p+=N,w=An(_),_=wm(w)}}return gu({width:y,height:v,x:m,y:p})}function Fu(e,n){const r=Pu(e).scrollLeft;return n?n.left+r:Ri(sa(e)).left+r}function fS(e,n){const r=e.getBoundingClientRect(),i=r.left+n.scrollLeft-Fu(e,r),o=r.top+n.scrollTop;return{x:i,y:o}}function OO(e){let{elements:n,rect:r,offsetParent:i,strategy:o}=e;const l=o==="fixed",u=sa(i),d=n?Iu(n.floating):!1;if(i===u||d&&l)return r;let m={scrollLeft:0,scrollTop:0},p=aa(1);const y=aa(0),v=Za(i);if((v||!l)&&((Zs(i)!=="body"||$u(u))&&(m=Pu(i)),v)){const x=Ri(i);p=Ls(i),y.x=x.x+i.clientLeft,y.y=x.y+i.clientTop}const b=u&&!v&&!l?fS(u,m):aa(0);return{width:r.width*p.x,height:r.height*p.y,x:r.x*p.x-m.scrollLeft*p.x+y.x+b.x,y:r.y*p.y-m.scrollTop*p.y+y.y+b.y}}function AO(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function MO(e){const n=Pu(e),r=e.ownerDocument.body,i=ra(e.scrollWidth,e.clientWidth,r.scrollWidth,r.clientWidth),o=ra(e.scrollHeight,e.clientHeight,r.scrollHeight,r.clientHeight);let l=-n.scrollLeft+Fu(e);const u=-n.scrollTop;return Dr(r).direction==="rtl"&&(l+=ra(e.clientWidth,r.clientWidth)-i),{width:i,height:o,x:l,y:u}}const NO=25;function DO(e,n,r){r===void 0&&(r="viewport");const i=r==="layoutViewport",o=An(e),l=sa(e),u=o.visualViewport;let d=l.clientWidth,m=l.clientHeight,p=0,y=0;if(u){const b=!_p()||n==="fixed";i?b||(p=-u.offsetLeft,y=-u.offsetTop):(d=u.width,m=u.height,b&&(p=u.offsetLeft,y=u.offsetTop))}if(Fu(l)<=0){const b=l.ownerDocument,x=b.body,w=getComputedStyle(x),_=b.compatMode==="CSS1Compat"&&parseFloat(w.marginLeft)+parseFloat(w.marginRight)||0,E=Math.abs(l.clientWidth-x.clientWidth-_),R=getComputedStyle(l).scrollbarGutter==="stable both-edges"?E/2:E;R<=NO&&(d-=R)}return{width:d,height:m,x:p,y}}function zO(e,n){const r=Ri(e,!0,n==="fixed"),i=r.top+e.clientTop,o=r.left+e.clientLeft,l=Ls(e),u=e.clientWidth*l.x,d=e.clientHeight*l.y,m=o*l.x,p=i*l.y;return{width:u,height:d,x:m,y:p}}function Yb(e,n,r){let i;if(n==="viewport"||n==="layoutViewport")i=DO(e,r,n);else if(n==="document")i=MO(sa(e));else if(Nr(n))i=zO(n,r);else{const o=dS(e);i={x:n.x-o.x,y:n.y-o.y,width:n.width,height:n.height}}return gu(i)}function kO(e,n){const r=n.get(e);if(r)return r;let i=sl(e,[],!1).filter(d=>Nr(d)&&Zs(d)!=="body"),o=null;const l=Dr(e).position==="fixed";let u=l?Ei(e):e;for(;Nr(u)&&!il(u);){const d=Dr(u),m=Sp(u),p=o?o.position:l?"fixed":"";!m&&(p==="fixed"||p==="absolute"&&d.position==="static")?i=i.filter(v=>v!==u):o=d,u=Ei(u)}return n.set(e,i),i}function LO(e){let{element:n,boundary:r,rootBoundary:i,strategy:o}=e;const u=[...r==="clippingAncestors"?Iu(n)?[]:kO(n,this._c):[].concat(r),i],d=Yb(n,u[0],o);let m=d.top,p=d.right,y=d.bottom,v=d.left;for(let b=1;b{d(!1,1e-7)},1e3)}$=!1}try{i=new IntersectionObserver(F,{...U,root:l.ownerDocument})}catch{i=new IntersectionObserver(F,U)}i.observe(e)}const m=An(e),p=()=>d(r);return m.addEventListener("resize",p),d(!0),()=>{m.removeEventListener("resize",p),u()}}function HO(e,n,r,i){i===void 0&&(i={});const{ancestorScroll:o=!0,ancestorResize:l=!0,elementResize:u=typeof ResizeObserver=="function",layoutShift:d=typeof IntersectionObserver=="function",animationFrame:m=!1}=i,p=Cp(e),y=o||l?[...p?sl(p):[],...n?sl(n):[]]:[];y.forEach(R=>{o&&R.addEventListener("scroll",r),l&&R.addEventListener("resize",r)});const v=p&&d?UO(p,r,l):null;let b=-1,x=null;u&&(x=new ResizeObserver(R=>{let[T]=R;T&&T.target===p&&x&&n&&(x.unobserve(n),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{var O;(O=x)==null||O.observe(n)})),r()}),p&&!m&&x.observe(p),n&&x.observe(n));let w,_=m?Ri(e):null;m&&E();function E(){const R=Ri(e);_&&!mS(_,R)&&r(),_=R,w=requestAnimationFrame(E)}return r(),()=>{var R;y.forEach(T=>{o&&T.removeEventListener("scroll",r),l&&T.removeEventListener("resize",r)}),v?.(),(R=x)==null||R.disconnect(),x=null,m&&cancelAnimationFrame(w)}}const BO=bO,qO=xO,GO=gO,ZO=SO,KO=vO,Xb=pO,YO=wO,QO=(e,n,r)=>{const i=new Map,o=r??{},l={...VO,...o.platform,_c:i};return mO(e,n,{...o,platform:l})};var XO=typeof document<"u",JO=function(){},su=XO?S.useLayoutEffect:JO;function vu(e,n){if(e===n)return!0;if(typeof e!=typeof n)return!1;if(typeof e=="function"&&e.toString()===n.toString())return!0;let r,i,o;if(e&&n&&typeof e=="object"){if(Array.isArray(e)){if(r=e.length,r!==n.length)return!1;for(i=r;i--!==0;)if(!vu(e[i],n[i]))return!1;return!0}if(o=Object.keys(e),r=o.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!{}.hasOwnProperty.call(n,o[i]))return!1;for(i=r;i--!==0;){const l=o[i];if(!(l==="_owner"&&e.$$typeof)&&!vu(e[l],n[l]))return!1}return!0}return e!==e&&n!==n}function pS(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Jb(e,n){const r=pS(e);return Math.round(n*r)/r}function Fh(e){const n=S.useRef(e);return su(()=>{n.current=e}),n}function WO(e){e===void 0&&(e={});const{placement:n="bottom",strategy:r="absolute",middleware:i=[],platform:o,elements:{reference:l,floating:u}={},transform:d=!0,whileElementsMounted:m,open:p}=e,[y,v]=S.useState({x:0,y:0,strategy:r,placement:n,middlewareData:{},isPositioned:!1}),[b,x]=S.useState(i);vu(b,i)||x(i);const[w,_]=S.useState(null),[E,R]=S.useState(null),T=S.useCallback(re=>{re!==U.current&&(U.current=re,_(re))},[]),O=S.useCallback(re=>{re!==$.current&&($.current=re,R(re))},[]),N=l||w,z=u||E,U=S.useRef(null),$=S.useRef(null),F=S.useRef(y),ve=m!=null,ye=Fh(m),me=Fh(o),de=Fh(p),le=S.useCallback(()=>{if(!U.current||!$.current)return;const re={placement:n,strategy:r,middleware:b};me.current&&(re.platform=me.current),QO(U.current,$.current,re).then(W=>{const ne={...W,isPositioned:de.current!==!1};te.current&&!vu(F.current,ne)&&(F.current=ne,Ni.flushSync(()=>{v(ne)}))})},[b,n,r,me,de]);su(()=>{p===!1&&F.current.isPositioned&&(F.current.isPositioned=!1,v(re=>({...re,isPositioned:!1})))},[p]);const te=S.useRef(!1);su(()=>(te.current=!0,()=>{te.current=!1}),[]),su(()=>{if(N&&(U.current=N),z&&($.current=z),N&&z){if(ye.current)return ye.current(N,z,le);le()}},[N,z,le,ye,ve]);const ge=S.useMemo(()=>({reference:U,floating:$,setReference:T,setFloating:O}),[T,O]),L=S.useMemo(()=>({reference:N,floating:z}),[N,z]),K=S.useMemo(()=>{const re={position:r,left:0,top:0};if(!L.floating)return re;const W=Jb(L.floating,y.x),ne=Jb(L.floating,y.y);return d?{...re,transform:"translate("+W+"px, "+ne+"px)",...pS(L.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:W,top:ne}},[r,d,L.floating,y.x,y.y]);return S.useMemo(()=>({...y,update:le,refs:ge,elements:L,floatingStyles:K}),[y,le,ge,L,K])}const eA=e=>{function n(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:e,fn(r){const{element:i,padding:o}=typeof e=="function"?e(r):e;return i&&n(i)?i.current!=null?Xb({element:i.current,padding:o}).fn(r):{}:i?Xb({element:i,padding:o}).fn(r):{}}}},tA=(e,n)=>{const r=BO(e);return{name:r.name,fn:r.fn,options:[e,n]}},nA=(e,n)=>{const r=qO(e);return{name:r.name,fn:r.fn,options:[e,n]}},rA=(e,n)=>({fn:YO(e).fn,options:[e,n]}),aA=(e,n)=>{const r=GO(e);return{name:r.name,fn:r.fn,options:[e,n]}},iA=(e,n)=>{const r=ZO(e);return{name:r.name,fn:r.fn,options:[e,n]}},sA=(e,n)=>{const r=KO(e);return{name:r.name,fn:r.fn,options:[e,n]}},oA=(e,n)=>{const r=eA(e);return{name:r.name,fn:r.fn,options:[e,n]}};var lA="Arrow",gS=S.forwardRef((e,n)=>{const{children:r,width:i=10,height:o=5,...l}=e;return f.jsx($e.svg,{...l,ref:n,width:i,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:f.jsx("polygon",{points:"0,0 30,0 15,10"})})});gS.displayName=lA;var cA=gS,Ep="Popper",[vS,Ks]=Ga(Ep),[uA,yS]=vS(Ep),bS=e=>{const{__scopePopper:n,children:r}=e,[i,o]=S.useState(null),[l,u]=S.useState(void 0);return f.jsx(uA,{scope:n,anchor:i,onAnchorChange:o,placementState:l,setPlacementState:u,children:r})};bS.displayName=Ep;var xS="PopperAnchor",wS=S.forwardRef((e,n)=>{const{__scopePopper:r,virtualRef:i,...o}=e,l=yS(xS,r),u=S.useRef(null),d=l.onAnchorChange,m=S.useCallback(w=>{u.current=w,w&&d(w)},[d]),p=nt(n,m),y=S.useRef(null);S.useEffect(()=>{if(!i)return;const w=y.current;y.current=i.current,w!==y.current&&d(y.current)});const v=l.placementState&&jp(l.placementState),b=v?.[0],x=v?.[1];return i?null:f.jsx($e.div,{"data-radix-popper-side":b,"data-radix-popper-align":x,...o,ref:p})});wS.displayName=xS;var Rp="PopperContent",[dA,fA]=vS(Rp),SS=S.forwardRef((e,n)=>{const{__scopePopper:r,side:i="bottom",sideOffset:o=0,align:l="center",alignOffset:u=0,arrowPadding:d=0,avoidCollisions:m=!0,collisionBoundary:p=[],collisionPadding:y=0,sticky:v="partial",hideWhenDetached:b=!1,updatePositionStrategy:x="optimized",onPlaced:w,..._}=e,E=yS(Rp,r),[R,T]=S.useState(null),O=nt(n,T),[N,z]=S.useState(null),U=nO(N),$=U?.width??0,F=U?.height??0,ve=i+(l!=="center"?"-"+l:""),ye=typeof y=="number"?y:{top:0,right:0,bottom:0,left:0,...y},me=Array.isArray(p)?p:[p],de=me.length>0,le={padding:ye,boundary:me.filter(mA),altBoundary:de},{refs:te,floatingStyles:ge,placement:L,isPositioned:K,middlewareData:re}=WO({strategy:"fixed",placement:ve,whileElementsMounted:(...be)=>HO(...be,{animationFrame:x==="always"}),elements:{reference:E.anchor},middleware:[tA({mainAxis:o+F,alignmentAxis:u}),m&&nA({mainAxis:!0,crossAxis:!1,limiter:v==="partial"?rA():void 0,...le}),m&&aA({...le}),iA({...le,apply:({elements:be,rects:xe,availableWidth:Oe,availableHeight:Ie})=>{const{width:Ve,height:it}=xe.reference,Qe=be.floating.style;Qe.setProperty("--radix-popper-available-width",`${Oe}px`),Qe.setProperty("--radix-popper-available-height",`${Ie}px`),Qe.setProperty("--radix-popper-anchor-width",`${Ve}px`),Qe.setProperty("--radix-popper-anchor-height",`${it}px`)}}),N&&oA({element:N,padding:d}),pA({arrowWidth:$,arrowHeight:F}),b&&sA({strategy:"referenceHidden",...le,boundary:de?le.boundary:void 0})]}),W=E.setPlacementState;Yt(()=>(W(L),()=>{W(void 0)}),[L,W]);const[ne,D]=jp(L),M=tr(w);Yt(()=>{K&&M?.()},[K,M]);const B=re.arrow?.x,X=re.arrow?.y,Y=re.arrow?.centerOffset!==0,[ce,ae]=S.useState();return Yt(()=>{R&&ae(window.getComputedStyle(R).zIndex)},[R]),f.jsx("div",{ref:te.setFloating,"data-radix-popper-content-wrapper":"",style:{...ge,transform:K?ge.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ce,"--radix-popper-transform-origin":[re.transformOrigin?.x,re.transformOrigin?.y].join(" "),...re.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:f.jsx(dA,{scope:r,placedSide:ne,placedAlign:D,onArrowChange:z,arrowX:B,arrowY:X,shouldHideArrow:Y,children:f.jsx($e.div,{"data-side":ne,"data-align":D,..._,ref:O,style:{..._.style,animation:K?void 0:"none"}})})})});SS.displayName=Rp;var _S="PopperArrow",hA={top:"bottom",right:"left",bottom:"top",left:"right"},CS=S.forwardRef(function(n,r){const{__scopePopper:i,...o}=n,l=fA(_S,i),u=hA[l.placedSide];return f.jsx("span",{ref:l.onArrowChange,style:{position:"absolute",left:l.arrowX,top:l.arrowY,[u]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[l.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[l.placedSide],visibility:l.shouldHideArrow?"hidden":void 0},children:f.jsx(cA,{...o,ref:r,style:{...o.style,display:"block"}})})});CS.displayName=_S;function mA(e){return e!==null}var pA=e=>({name:"transformOrigin",options:e,fn(n){const{placement:r,rects:i,middlewareData:o}=n,u=o.arrow?.centerOffset!==0,d=u?0:e.arrowWidth,m=u?0:e.arrowHeight,[p,y]=jp(r),v={start:"0%",center:"50%",end:"100%"}[y],b=(o.arrow?.x??0)+d/2,x=(o.arrow?.y??0)+m/2;let w="",_="";return p==="bottom"?(w=u?v:`${b}px`,_=`${-m}px`):p==="top"?(w=u?v:`${b}px`,_=`${i.floating.height+m}px`):p==="right"?(w=`${-m}px`,_=u?v:`${x}px`):p==="left"&&(w=`${i.floating.width+m}px`,_=u?v:`${x}px`),{data:{x:w,y:_}}}});function jp(e){const[n,r="center"]=e.split("-");return[n,r]}var Tp=bS,Op=wS,Ap=SS,Mp=CS,Vh=!1;function gA(){const[e,n]=S.useState(Vh);return S.useEffect(()=>{Vh||(Vh=!0,n(!0))},[]),e}var ES=Au[" useSyncExternalStore ".trim().toString()];function vA(){return()=>{}}function yA(){return ES(vA,()=>!0,()=>!1)}var bA=typeof ES=="function"?yA:gA,Uh="rovingFocusGroup.onEntryFocus",xA={bubbles:!1,cancelable:!0},bl="RovingFocusGroup",[Sm,RS,wA]=lp(bl),[SA,jS]=Ga(bl,[wA]),[_A,CA]=SA(bl),TS=S.forwardRef((e,n)=>f.jsx(Sm.Provider,{scope:e.__scopeRovingFocusGroup,children:f.jsx(Sm.Slot,{scope:e.__scopeRovingFocusGroup,children:f.jsx(EA,{...e,ref:n})})}));TS.displayName=bl;var EA=S.forwardRef((e,n)=>{const{__scopeRovingFocusGroup:r,orientation:i,loop:o=!1,dir:l,currentTabStopId:u,defaultCurrentTabStopId:d,onCurrentTabStopIdChange:m,onEntryFocus:p,preventScrollOnEntryFocus:y=!1,...v}=e,b=S.useRef(null),x=nt(n,b),w=cp(l),[_,E]=Vs({prop:u,defaultProp:d??null,onChange:m,caller:bl}),[R,T]=S.useState(!1),O=tr(p),N=RS(r),z=S.useRef(!1),[U,$]=S.useState(0);return S.useEffect(()=>{const F=b.current;if(F)return F.addEventListener(Uh,O),()=>F.removeEventListener(Uh,O)},[O]),f.jsx(_A,{scope:r,orientation:i,dir:w,loop:o,currentTabStopId:_,onItemFocus:S.useCallback(F=>E(F),[E]),onItemShiftTab:S.useCallback(()=>T(!0),[]),onFocusableItemAdd:S.useCallback(()=>$(F=>F+1),[]),onFocusableItemRemove:S.useCallback(()=>$(F=>F-1),[]),children:f.jsx($e.div,{tabIndex:R||U===0?-1:0,"data-orientation":i,...v,ref:x,style:{outline:"none",...e.style},onMouseDown:je(e.onMouseDown,()=>{z.current=!0}),onFocus:je(e.onFocus,F=>{const ve=!z.current;if(F.target===F.currentTarget&&ve&&!R){const ye=new CustomEvent(Uh,xA);if(F.currentTarget.dispatchEvent(ye),!ye.defaultPrevented){const me=N().filter(L=>L.focusable),de=me.find(L=>L.active),le=me.find(L=>L.id===_),ge=[de,le,...me].filter(Boolean).map(L=>L.ref.current);MS(ge,y)}}z.current=!1}),onBlur:je(e.onBlur,()=>T(!1))})})}),OS="RovingFocusGroupItem",AS=S.forwardRef((e,n)=>{const{__scopeRovingFocusGroup:r,focusable:i=!0,active:o=!1,tabStopId:l,children:u,...d}=e,m=dn(),p=l||m,y=CA(OS,r),v=y.currentTabStopId===p,b=RS(r),{onFocusableItemAdd:x,onFocusableItemRemove:w,currentTabStopId:_}=y,E=bA();return Yt(()=>{if(!(!E||!i))return x(),()=>w()},[E,i,x,w]),S.useEffect(()=>{if(!(E||!i))return x(),()=>w()},[E,i,x,w]),f.jsx(Sm.ItemSlot,{scope:r,id:p,focusable:i,active:o,children:f.jsx($e.span,{tabIndex:v?0:-1,"data-orientation":y.orientation,...d,ref:n,onMouseDown:je(e.onMouseDown,R=>{i?y.onItemFocus(p):R.preventDefault()}),onFocus:je(e.onFocus,()=>y.onItemFocus(p)),onKeyDown:je(e.onKeyDown,R=>{if(R.key==="Tab"&&R.shiftKey){y.onItemShiftTab();return}if(R.target!==R.currentTarget)return;const T=TA(R,y.orientation,y.dir);if(T!==void 0){if(R.metaKey||R.ctrlKey||R.altKey||R.shiftKey)return;R.preventDefault();let N=b().filter(z=>z.focusable).map(z=>z.ref.current);if(T==="last")N.reverse();else if(T==="prev"||T==="next"){T==="prev"&&N.reverse();const z=N.indexOf(R.currentTarget);N=y.loop?OA(N,z+1):N.slice(z+1)}setTimeout(()=>MS(N))}}),children:typeof u=="function"?u({isCurrentTabStop:v,hasTabStop:_!=null}):u})})});AS.displayName=OS;var RA={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function jA(e,n){return n!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function TA(e,n,r){const i=jA(e.key,r);if(!(n==="vertical"&&["ArrowLeft","ArrowRight"].includes(i))&&!(n==="horizontal"&&["ArrowUp","ArrowDown"].includes(i)))return RA[i]}function MS(e,n=!1){const r=document.activeElement;for(const i of e)if(i===r||(i.focus({preventScroll:n}),document.activeElement!==r))return}function OA(e,n){return e.map((r,i)=>e[(n+i)%e.length])}var AA=TS,MA=AS,_m=["Enter"," "],NA=["ArrowDown","PageUp","Home"],NS=["ArrowUp","PageDown","End"],DA=[...NA,...NS],zA={ltr:[..._m,"ArrowRight"],rtl:[..._m,"ArrowLeft"]},kA={ltr:["ArrowLeft"],rtl:["ArrowRight"]},xl="Menu",[ol,LA,$A]=lp(xl),[Di,DS]=Ga(xl,[$A,Ks,jS]),Vu=Ks(),zS=jS(),[IA,zi]=Di(xl),[PA,wl]=Di(xl),kS=e=>{const{__scopeMenu:n,open:r=!1,children:i,dir:o,onOpenChange:l,modal:u=!0}=e,d=Vu(n),[m,p]=S.useState(null),y=S.useRef(!1),v=tr(l),b=cp(o);return S.useEffect(()=>{const x=()=>{y.current=!0,document.addEventListener("pointerdown",w,{capture:!0,once:!0}),document.addEventListener("pointermove",w,{capture:!0,once:!0})},w=()=>y.current=!1;return document.addEventListener("keydown",x,{capture:!0}),()=>{document.removeEventListener("keydown",x,{capture:!0}),document.removeEventListener("pointerdown",w,{capture:!0}),document.removeEventListener("pointermove",w,{capture:!0})}},[]),S.useEffect(()=>{if(!r)return;const x=()=>v(!1);return window.addEventListener("blur",x),()=>window.removeEventListener("blur",x)},[r,v]),f.jsx(Tp,{...d,children:f.jsx(IA,{scope:n,open:r,onOpenChange:v,content:m,onContentChange:p,children:f.jsx(PA,{scope:n,onClose:S.useCallback(()=>v(!1),[v]),isUsingKeyboardRef:y,dir:b,modal:u,children:i})})})};kS.displayName=xl;var FA="MenuAnchor",Np=S.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e,o=Vu(r);return f.jsx(Op,{...o,...i,ref:n})});Np.displayName=FA;var Dp="MenuPortal",[VA,LS]=Di(Dp,{forceMount:void 0}),$S=e=>{const{__scopeMenu:n,forceMount:r,children:i,container:o}=e,l=zi(Dp,n);return f.jsx(VA,{scope:n,forceMount:r,children:f.jsx(vr,{present:r||l.open,children:f.jsx(yl,{asChild:!0,container:o,children:i})})})};$S.displayName=Dp;var er="MenuContent",[UA,zp]=Di(er),IS=S.forwardRef((e,n)=>{const r=LS(er,e.__scopeMenu),{forceMount:i=r.forceMount,...o}=e,l=zi(er,e.__scopeMenu),u=wl(er,e.__scopeMenu);return f.jsx(ol.Provider,{scope:e.__scopeMenu,children:f.jsx(vr,{present:i||l.open,children:f.jsx(ol.Slot,{scope:e.__scopeMenu,children:u.modal?f.jsx(HA,{...o,ref:n}):f.jsx(BA,{...o,ref:n})})})})}),HA=S.forwardRef((e,n)=>{const r=zi(er,e.__scopeMenu),i=S.useRef(null),o=nt(n,i);return S.useEffect(()=>{const l=i.current;if(l)return fp(l)},[]),f.jsx(kp,{...e,ref:o,trapFocus:r.open,disableOutsidePointerEvents:r.open,disableOutsideScroll:!0,onFocusOutside:je(e.onFocusOutside,l=>l.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>r.onOpenChange(!1)})}),BA=S.forwardRef((e,n)=>{const r=zi(er,e.__scopeMenu);return f.jsx(kp,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>r.onOpenChange(!1)})}),qA=Ci("MenuContent.ScrollLock"),kp=S.forwardRef((e,n)=>{const{__scopeMenu:r,loop:i=!1,trapFocus:o,onOpenAutoFocus:l,onCloseAutoFocus:u,disableOutsidePointerEvents:d,onEntryFocus:m,onEscapeKeyDown:p,onPointerDownOutside:y,onFocusOutside:v,onInteractOutside:b,onDismiss:x,disableOutsideScroll:w,..._}=e,E=zi(er,r),R=wl(er,r),T=Vu(r),O=zS(r),N=LA(r),[z,U]=S.useState(null),$=S.useRef(null),F=nt(n,$,E.onContentChange),ve=S.useRef(0),ye=S.useRef(""),me=S.useRef(0),de=S.useRef(null),le=S.useRef("right"),te=S.useRef(0),ge=w?zu:S.Fragment,L=w?{as:qA,allowPinchZoom:!0}:void 0,K=W=>{const ne=ye.current+W,D=N().filter(ae=>!ae.disabled),M=document.activeElement,B=D.find(ae=>ae.ref.current===M)?.textValue,X=D.map(ae=>ae.textValue),Y=rM(X,ne,B),ce=D.find(ae=>ae.textValue===Y)?.ref.current;(function ae(be){ye.current=be,window.clearTimeout(ve.current),be!==""&&(ve.current=window.setTimeout(()=>ae(""),1e3))})(ne),ce&&setTimeout(()=>ce.focus())};S.useEffect(()=>()=>window.clearTimeout(ve.current),[]),dp();const re=S.useCallback(W=>le.current===de.current?.side&&iM(W,de.current?.area),[]);return f.jsx(UA,{scope:r,searchRef:ye,onItemEnter:S.useCallback(W=>{re(W)&&W.preventDefault()},[re]),onItemLeave:S.useCallback(W=>{re(W)||($.current?.focus(),U(null))},[re]),onTriggerLeave:S.useCallback(W=>{re(W)&&W.preventDefault()},[re]),pointerGraceTimerRef:me,onPointerGraceIntentChange:S.useCallback(W=>{de.current=W},[]),children:f.jsx(ge,{...L,children:f.jsx(Nu,{asChild:!0,trapped:o,onMountAutoFocus:je(l,W=>{W.preventDefault(),$.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:u,children:f.jsx(vl,{asChild:!0,disableOutsidePointerEvents:d,onEscapeKeyDown:p,onPointerDownOutside:y,onFocusOutside:v,onInteractOutside:b,onDismiss:x,children:f.jsx(AA,{asChild:!0,...O,dir:R.dir,orientation:"vertical",loop:i,currentTabStopId:z,onCurrentTabStopIdChange:U,onEntryFocus:je(m,W=>{R.isUsingKeyboardRef.current||W.preventDefault()}),preventScrollOnEntryFocus:!0,children:f.jsx(Ap,{role:"menu","aria-orientation":"vertical","data-state":e1(E.open),"data-radix-menu-content":"",dir:R.dir,...T,..._,ref:F,style:{outline:"none",..._.style},onKeyDown:je(_.onKeyDown,W=>{const D=W.target.closest("[data-radix-menu-content]")===W.currentTarget,M=W.ctrlKey||W.altKey||W.metaKey,B=W.key.length===1;D&&(W.key==="Tab"&&W.preventDefault(),!M&&B&&K(W.key));const X=$.current;if(W.target!==X||!DA.includes(W.key))return;W.preventDefault();const ce=N().filter(ae=>!ae.disabled).map(ae=>ae.ref.current);NS.includes(W.key)&&ce.reverse(),tM(ce)}),onBlur:je(e.onBlur,W=>{W.currentTarget.contains(W.target)||(window.clearTimeout(ve.current),ye.current="")}),onPointerMove:je(e.onPointerMove,ll(W=>{const ne=W.target,D=te.current!==W.clientX;if(W.currentTarget.contains(ne)&&D){const M=W.clientX>te.current?"right":"left";le.current=M,te.current=W.clientX}}))})})})})})})});IS.displayName=er;var GA="MenuGroup",Lp=S.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e;return f.jsx($e.div,{role:"group",...i,ref:n})});Lp.displayName=GA;var ZA="MenuLabel",PS=S.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e;return f.jsx($e.div,{...i,ref:n})});PS.displayName=ZA;var yu="MenuItem",Wb="menu.itemSelect",Uu=S.forwardRef((e,n)=>{const{disabled:r=!1,onSelect:i,...o}=e,l=S.useRef(null),u=wl(yu,e.__scopeMenu),d=zp(yu,e.__scopeMenu),m=nt(n,l),p=S.useRef(!1),y=()=>{const v=l.current;if(!r&&v){const b=new CustomEvent(Wb,{bubbles:!0,cancelable:!0});v.addEventListener(Wb,x=>i?.(x),{once:!0}),$w(v,b),b.defaultPrevented?p.current=!1:u.onClose()}};return f.jsx(FS,{...o,ref:m,disabled:r,onClick:je(e.onClick,y),onPointerDown:v=>{e.onPointerDown?.(v),p.current=!0},onPointerUp:je(e.onPointerUp,v=>{p.current||v.currentTarget?.click()}),onKeyDown:je(e.onKeyDown,v=>{r||v.target!==v.currentTarget||d.searchRef.current!==""&&v.key===" "||_m.includes(v.key)&&(v.currentTarget.click(),v.preventDefault())})})});Uu.displayName=yu;var FS=S.forwardRef((e,n)=>{const{__scopeMenu:r,disabled:i=!1,textValue:o,...l}=e,u=zp(yu,r),d=zS(r),m=S.useRef(null),p=nt(n,m),[y,v]=S.useState(!1),[b,x]=S.useState("");return S.useEffect(()=>{const w=m.current;w&&x((w.textContent??"").trim())},[l.children]),f.jsx(ol.ItemSlot,{scope:r,disabled:i,textValue:o??b,children:f.jsx(MA,{asChild:!0,...d,focusable:!i,children:f.jsx($e.div,{role:"menuitem","data-highlighted":y?"":void 0,"aria-disabled":i||void 0,"data-disabled":i?"":void 0,...l,ref:p,onPointerMove:je(e.onPointerMove,ll(w=>{i?u.onItemLeave(w):(u.onItemEnter(w),w.defaultPrevented||w.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:je(e.onPointerLeave,ll(w=>u.onItemLeave(w))),onFocus:je(e.onFocus,()=>v(!0)),onBlur:je(e.onBlur,()=>v(!1))})})})}),KA="MenuCheckboxItem",VS=S.forwardRef((e,n)=>{const{checked:r=!1,onCheckedChange:i,...o}=e;return f.jsx(GS,{scope:e.__scopeMenu,checked:r,children:f.jsx(Uu,{role:"menuitemcheckbox","aria-checked":bu(r)?"mixed":r,...o,ref:n,"data-state":Ip(r),onSelect:je(o.onSelect,()=>i?.(bu(r)?!0:!r),{checkForDefaultPrevented:!1})})})});VS.displayName=KA;var US="MenuRadioGroup",[YA,QA]=Di(US,{value:void 0,onValueChange:()=>{}}),HS=S.forwardRef((e,n)=>{const{value:r,onValueChange:i,...o}=e,l=tr(i);return f.jsx(YA,{scope:e.__scopeMenu,value:r,onValueChange:l,children:f.jsx(Lp,{...o,ref:n})})});HS.displayName=US;var BS="MenuRadioItem",qS=S.forwardRef((e,n)=>{const{value:r,...i}=e,o=QA(BS,e.__scopeMenu),l=r===o.value;return f.jsx(GS,{scope:e.__scopeMenu,checked:l,children:f.jsx(Uu,{role:"menuitemradio","aria-checked":l,...i,ref:n,"data-state":Ip(l),onSelect:je(i.onSelect,()=>o.onValueChange?.(r),{checkForDefaultPrevented:!1})})})});qS.displayName=BS;var $p="MenuItemIndicator",[GS,XA]=Di($p,{checked:!1}),ZS=S.forwardRef((e,n)=>{const{__scopeMenu:r,forceMount:i,...o}=e,l=XA($p,r);return f.jsx(vr,{present:i||bu(l.checked)||l.checked===!0,children:f.jsx($e.span,{...o,ref:n,"data-state":Ip(l.checked)})})});ZS.displayName=$p;var JA="MenuSeparator",KS=S.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e;return f.jsx($e.div,{role:"separator","aria-orientation":"horizontal",...i,ref:n})});KS.displayName=JA;var WA="MenuArrow",YS=S.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e,o=Vu(r);return f.jsx(Mp,{...o,...i,ref:n})});YS.displayName=WA;var eM="MenuSub",[hF,QS]=Di(eM),Ko="MenuSubTrigger",XS=S.forwardRef((e,n)=>{const r=zi(Ko,e.__scopeMenu),i=wl(Ko,e.__scopeMenu),o=QS(Ko,e.__scopeMenu),l=zp(Ko,e.__scopeMenu),u=S.useRef(null),{pointerGraceTimerRef:d,onPointerGraceIntentChange:m}=l,p={__scopeMenu:e.__scopeMenu},y=S.useCallback(()=>{u.current&&window.clearTimeout(u.current),u.current=null},[]);S.useEffect(()=>y,[y]),S.useEffect(()=>{const b=d.current;return()=>{window.clearTimeout(b),m(null)}},[d,m]);const v=nt(n,o.onTriggerChange);return f.jsx(Np,{asChild:!0,...p,children:f.jsx(FS,{id:o.triggerId,"aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":r.open?o.contentId:void 0,"data-state":e1(r.open),...e,ref:v,onClick:b=>{e.onClick?.(b),!(e.disabled||b.defaultPrevented)&&(b.currentTarget.focus(),r.open||r.onOpenChange(!0))},onPointerMove:je(e.onPointerMove,ll(b=>{l.onItemEnter(b),!b.defaultPrevented&&!e.disabled&&!r.open&&!u.current&&(l.onPointerGraceIntentChange(null),u.current=window.setTimeout(()=>{r.onOpenChange(!0),y()},100))})),onPointerLeave:je(e.onPointerLeave,ll(b=>{y();const x=r.content?.getBoundingClientRect();if(x){const w=r.content?.dataset.side,_=w==="right",E=_?-5:5,R=x[_?"left":"right"],T=x[_?"right":"left"];l.onPointerGraceIntentChange({area:[{x:b.clientX+E,y:b.clientY},{x:R,y:x.top},{x:T,y:x.top},{x:T,y:x.bottom},{x:R,y:x.bottom}],side:w}),window.clearTimeout(d.current),d.current=window.setTimeout(()=>l.onPointerGraceIntentChange(null),300)}else{if(l.onTriggerLeave(b),b.defaultPrevented)return;l.onPointerGraceIntentChange(null)}})),onKeyDown:je(e.onKeyDown,b=>{e.disabled||b.target!==b.currentTarget||l.searchRef.current!==""&&b.key===" "||zA[i.dir].includes(b.key)&&(r.onOpenChange(!0),r.content?.focus(),b.preventDefault())})})})});XS.displayName=Ko;var JS="MenuSubContent",WS=S.forwardRef((e,n)=>{const r=LS(er,e.__scopeMenu),{forceMount:i=r.forceMount,align:o="start",...l}=e,u=zi(er,e.__scopeMenu),d=wl(er,e.__scopeMenu),m=QS(JS,e.__scopeMenu),p=S.useRef(null),y=nt(n,p);return f.jsx(ol.Provider,{scope:e.__scopeMenu,children:f.jsx(vr,{present:i||u.open,children:f.jsx(ol.Slot,{scope:e.__scopeMenu,children:f.jsx(kp,{id:m.contentId,"aria-labelledby":m.triggerId,...l,ref:y,align:o,side:d.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:v=>{d.isUsingKeyboardRef.current&&p.current?.focus(),v.preventDefault()},onCloseAutoFocus:v=>v.preventDefault(),onFocusOutside:je(e.onFocusOutside,v=>{v.target!==m.trigger&&u.onOpenChange(!1)}),onEscapeKeyDown:je(e.onEscapeKeyDown,v=>{d.onClose(),v.preventDefault()}),onKeyDown:je(e.onKeyDown,v=>{const b=v.currentTarget.contains(v.target),x=kA[d.dir].includes(v.key);b&&x&&(u.onOpenChange(!1),m.trigger?.focus(),v.preventDefault())})})})})})});WS.displayName=JS;function e1(e){return e?"open":"closed"}function bu(e){return e==="indeterminate"}function Ip(e){return bu(e)?"indeterminate":e?"checked":"unchecked"}function tM(e){const n=document.activeElement;for(const r of e)if(r===n||(r.focus(),document.activeElement!==n))return}function nM(e,n){return e.map((r,i)=>e[(n+i)%e.length])}function rM(e,n,r){const o=n.length>1&&Array.from(n).every(p=>p===n[0])?n[0]:n,l=r?e.indexOf(r):-1;let u=nM(e,Math.max(l,0));o.length===1&&(u=u.filter(p=>p!==r));const m=u.find(p=>p.toLowerCase().startsWith(o.toLowerCase()));return m!==r?m:void 0}function aM(e,n){const{x:r,y:i}=e;let o=!1;for(let l=0,u=n.length-1;li!=b>i&&r<(v-p)*(i-y)/(b-y)+p&&(o=!o)}return o}function iM(e,n){if(!n)return!1;const r={x:e.clientX,y:e.clientY};return aM(r,n)}function ll(e){return n=>n.pointerType==="mouse"?e(n):void 0}var sM=kS,oM=Np,lM=$S,cM=IS,uM=Lp,dM=PS,fM=Uu,hM=VS,mM=HS,pM=qS,gM=ZS,vM=KS,yM=YS,bM=XS,xM=WS,Hu="DropdownMenu",[wM]=Ga(Hu,[DS]),vn=DS(),[SM,t1]=wM(Hu),n1=e=>{const{__scopeDropdownMenu:n,children:r,dir:i,open:o,defaultOpen:l,onOpenChange:u,modal:d=!0}=e,m=vn(n),p=S.useRef(null),[y,v]=Vs({prop:o,defaultProp:l??!1,onChange:u,caller:Hu});return f.jsx(SM,{scope:n,triggerId:dn(),triggerRef:p,contentId:dn(),open:y,onOpenChange:v,onOpenToggle:S.useCallback(()=>v(b=>!b),[v]),modal:d,children:f.jsx(sM,{...m,open:y,onOpenChange:v,dir:i,modal:d,children:r})})};n1.displayName=Hu;var r1="DropdownMenuTrigger",a1=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,disabled:i=!1,...o}=e,l=t1(r1,r),u=vn(r),d=nt(n,l.triggerRef);return f.jsx(oM,{asChild:!0,...u,children:f.jsx($e.button,{type:"button",id:l.triggerId,"aria-haspopup":"menu","aria-expanded":l.open,"aria-controls":l.open?l.contentId:void 0,"data-state":l.open?"open":"closed","data-disabled":i?"":void 0,disabled:i,...o,ref:d,onPointerDown:je(e.onPointerDown,m=>{!i&&m.button===0&&m.ctrlKey===!1&&(l.onOpenToggle(),l.open||m.preventDefault())}),onKeyDown:je(e.onKeyDown,m=>{i||(["Enter"," "].includes(m.key)&&l.onOpenToggle(),m.key==="ArrowDown"&&l.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(m.key)&&m.preventDefault())})})})});a1.displayName=r1;var _M="DropdownMenuPortal",i1=e=>{const{__scopeDropdownMenu:n,...r}=e,i=vn(n);return f.jsx(lM,{...i,...r})};i1.displayName=_M;var s1="DropdownMenuContent",o1=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,o=t1(s1,r),l=vn(r),u=S.useRef(!1);return f.jsx(cM,{id:o.contentId,"aria-labelledby":o.triggerId,...l,...i,ref:n,onCloseAutoFocus:je(e.onCloseAutoFocus,d=>{u.current||o.triggerRef.current?.focus(),u.current=!1,d.preventDefault()}),onInteractOutside:je(e.onInteractOutside,d=>{const m=d.detail.originalEvent,p=m.button===0&&m.ctrlKey===!0,y=m.button===2||p;(!o.modal||y)&&(u.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});o1.displayName=s1;var CM="DropdownMenuGroup",EM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,o=vn(r);return f.jsx(uM,{...o,...i,ref:n})});EM.displayName=CM;var RM="DropdownMenuLabel",l1=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,o=vn(r);return f.jsx(dM,{...o,...i,ref:n})});l1.displayName=RM;var jM="DropdownMenuItem",c1=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,o=vn(r);return f.jsx(fM,{...o,...i,ref:n})});c1.displayName=jM;var TM="DropdownMenuCheckboxItem",OM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,o=vn(r);return f.jsx(hM,{...o,...i,ref:n})});OM.displayName=TM;var AM="DropdownMenuRadioGroup",MM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,o=vn(r);return f.jsx(mM,{...o,...i,ref:n})});MM.displayName=AM;var NM="DropdownMenuRadioItem",DM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,o=vn(r);return f.jsx(pM,{...o,...i,ref:n})});DM.displayName=NM;var zM="DropdownMenuItemIndicator",kM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,o=vn(r);return f.jsx(gM,{...o,...i,ref:n})});kM.displayName=zM;var LM="DropdownMenuSeparator",$M=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,o=vn(r);return f.jsx(vM,{...o,...i,ref:n})});$M.displayName=LM;var IM="DropdownMenuArrow",PM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,o=vn(r);return f.jsx(yM,{...o,...i,ref:n})});PM.displayName=IM;var FM="DropdownMenuSubTrigger",VM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,o=vn(r);return f.jsx(bM,{...o,...i,ref:n})});VM.displayName=FM;var UM="DropdownMenuSubContent",HM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,o=vn(r);return f.jsx(xM,{...o,...i,ref:n,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});HM.displayName=UM;var BM=n1,qM=a1,GM=i1,ZM=o1,KM=l1,YM=c1,QM="Label",u1=S.forwardRef((e,n)=>f.jsx($e.label,{...e,ref:n,onMouseDown:r=>{r.target.closest("button, input, select, textarea")||(e.onMouseDown?.(r),!r.defaultPrevented&&r.detail>1&&r.preventDefault())}}));u1.displayName=QM;var XM=u1;function ex(e,[n,r]){return Math.min(r,Math.max(n,e))}var JM=[" ","Enter","ArrowUp","ArrowDown"],WM=[" ","Enter"],ji="Select",[Bu,qu,eN]=lp(ji),[ki]=Ga(ji,[eN,Ks]),Gu=Ks(),[tN,Ka]=ki(ji),[nN,rN]=ki(ji),aN="SelectProvider";function d1(e){const{__scopeSelect:n,children:r,open:i,defaultOpen:o,onOpenChange:l,value:u,defaultValue:d,onValueChange:m,dir:p,name:y,autoComplete:v,disabled:b,required:x,form:w,internal_do_not_use_render:_}=e,E=Gu(n),[R,T]=S.useState(null),[O,N]=S.useState(null),[z,U]=S.useState(!1),$=cp(p),[F,ve]=Vs({prop:i,defaultProp:o??!1,onChange:l,caller:ji}),[ye,me]=Vs({prop:u,defaultProp:d,onChange:m,caller:ji}),de=S.useRef(null),le=S.useRef(ye);S.useEffect(()=>{const M=w?R?.ownerDocument.getElementById(w):R?.form;if(M instanceof HTMLFormElement){const B=()=>me(le.current);return M.addEventListener("reset",B),()=>M.removeEventListener("reset",B)}},[w,R,me]);const te=R?!!w||!!R.closest("form"):!0,[ge,L]=S.useState(new Set),K=dn(),re=Array.from(ge).map(M=>M.props.value).join(";"),W=S.useCallback(M=>{L(B=>new Set(B).add(M))},[]),ne=S.useCallback(M=>{L(B=>{const X=new Set(B);return X.delete(M),X})},[]),D={required:x,trigger:R,onTriggerChange:T,valueNode:O,onValueNodeChange:N,valueNodeHasChildren:z,onValueNodeHasChildrenChange:U,contentId:K,value:ye,onValueChange:me,open:F,onOpenChange:ve,dir:$,triggerPointerDownPosRef:de,disabled:b,name:y,autoComplete:v,form:w,nativeOptions:ge,nativeSelectKey:re,isFormControl:te};return f.jsx(Tp,{...E,children:f.jsx(tN,{scope:n,...D,children:f.jsx(Bu.Provider,{scope:n,children:f.jsx(nN,{scope:n,onNativeOptionAdd:W,onNativeOptionRemove:ne,children:wN(_)?_(D):r})})})})}d1.displayName=aN;var f1=e=>{const{__scopeSelect:n,children:r,...i}=e;return f.jsx(d1,{__scopeSelect:n,...i,internal_do_not_use_render:({isFormControl:o})=>f.jsxs(f.Fragment,{children:[r,o?f.jsx(I1,{__scopeSelect:n}):null]})})};f1.displayName=ji;var h1="SelectTrigger",m1=S.forwardRef((e,n)=>{const{__scopeSelect:r,disabled:i=!1,...o}=e,l=Gu(r),u=Ka(h1,r),d=u.disabled||i,m=nt(n,u.onTriggerChange),p=qu(r),y=S.useRef("touch"),[v,b,x]=P1(_=>{const E=p().filter(O=>!O.disabled),R=E.find(O=>O.value===u.value),T=F1(E,_,R);T!==void 0&&u.onValueChange(T.value)}),w=_=>{d||(u.onOpenChange(!0),x()),_&&(u.triggerPointerDownPosRef.current={x:Math.round(_.pageX),y:Math.round(_.pageY)})};return f.jsx(Op,{asChild:!0,...l,children:f.jsx($e.button,{type:"button",role:"combobox","aria-controls":u.open?u.contentId:void 0,"aria-expanded":u.open,"aria-required":u.required,"aria-autocomplete":"none",dir:u.dir,"data-state":u.open?"open":"closed",disabled:d,"data-disabled":d?"":void 0,"data-placeholder":Zu(u.value)?"":void 0,...o,ref:m,onClick:je(o.onClick,_=>{_.currentTarget.focus(),y.current!=="mouse"&&w(_)}),onPointerDown:je(o.onPointerDown,_=>{y.current=_.pointerType;const E=_.target;E.hasPointerCapture(_.pointerId)&&E.releasePointerCapture(_.pointerId),_.button===0&&_.ctrlKey===!1&&_.pointerType==="mouse"&&(w(_),_.preventDefault())}),onKeyDown:je(o.onKeyDown,_=>{const E=v.current!=="";!(_.ctrlKey||_.altKey||_.metaKey)&&_.key.length===1&&b(_.key),!(E&&_.key===" ")&&JM.includes(_.key)&&(w(),_.preventDefault())})})})});m1.displayName=h1;var p1="SelectValue",g1=S.forwardRef((e,n)=>{const{__scopeSelect:r,className:i,style:o,children:l,placeholder:u="",...d}=e,m=Ka(p1,r),{onValueNodeHasChildrenChange:p}=m,y=l!==void 0,v=nt(n,m.onValueNodeChange);Yt(()=>{p(y)},[p,y]);const b=Zu(m.value);return f.jsx($e.span,{...d,asChild:b?!1:d.asChild,ref:v,style:{pointerEvents:"none"},children:f.jsx(S.Fragment,{children:b?u:l},b?"placeholder":"value")})});g1.displayName=p1;var iN="SelectIcon",v1=S.forwardRef((e,n)=>{const{__scopeSelect:r,children:i,...o}=e;return f.jsx($e.span,{"aria-hidden":!0,...o,ref:n,children:i||"▼"})});v1.displayName=iN;var y1="SelectPortal",[sN,oN]=ki(y1,{forceMount:void 0}),b1=e=>{const{__scopeSelect:n,forceMount:r,...i}=e;return f.jsx(sN,{scope:e.__scopeSelect,forceMount:r,children:f.jsx(yl,{asChild:!0,...i})})};b1.displayName=y1;var Ha="SelectContent",x1=S.forwardRef((e,n)=>{const r=oN(Ha,e.__scopeSelect),{forceMount:i=r.forceMount,...o}=e,l=Ka(Ha,e.__scopeSelect),[u,d]=S.useState();return Yt(()=>{d(new DocumentFragment)},[]),f.jsx(vr,{present:i||l.open,children:({present:m})=>m?f.jsx(_1,{...o,ref:n}):f.jsx(w1,{...o,fragment:u})})});x1.displayName=Ha;var w1=S.forwardRef((e,n)=>{const{__scopeSelect:r,children:i,fragment:o}=e;return o?Ni.createPortal(f.jsx(S1,{scope:r,children:f.jsx(Bu.Slot,{scope:r,children:f.jsx("div",{ref:n,children:i})})}),o):null});w1.displayName="SelectContentFragment";var fr=10,[S1,Ya]=ki(Ha),lN="SelectContentImpl",cN=Ci("SelectContent.RemoveScroll"),_1=S.forwardRef((e,n)=>{const{__scopeSelect:r}=e,{position:i="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:l,onPointerDownOutside:u,side:d,sideOffset:m,align:p,alignOffset:y,arrowPadding:v,collisionBoundary:b,collisionPadding:x,sticky:w,hideWhenDetached:_,avoidCollisions:E,...R}=e,T=Ka(Ha,r),[O,N]=S.useState(null),[z,U]=S.useState(null),$=nt(n,N),[F,ve]=S.useState(null),[ye,me]=S.useState(null),de=qu(r),[le,te]=S.useState(!1),ge=S.useRef(!1);S.useEffect(()=>{if(O)return fp(O)},[O]),dp();const L=S.useCallback(ae=>{const[be,...xe]=de().map(Ve=>Ve.ref.current),[Oe]=xe.slice(-1),Ie=document.activeElement;for(const Ve of ae)if(Ve===Ie||(Ve?.scrollIntoView({block:"nearest"}),Ve===be&&z&&(z.scrollTop=0),Ve===Oe&&z&&(z.scrollTop=z.scrollHeight),Ve?.focus(),document.activeElement!==Ie))return},[de,z]),K=S.useCallback(()=>L([F,O]),[L,F,O]);S.useEffect(()=>{le&&K()},[le,K]);const{onOpenChange:re,triggerPointerDownPosRef:W}=T;S.useEffect(()=>{if(O){let ae={x:0,y:0};const be=Oe=>{ae={x:Math.abs(Math.round(Oe.pageX)-(W.current?.x??0)),y:Math.abs(Math.round(Oe.pageY)-(W.current?.y??0))}},xe=Oe=>{ae.x<=10&&ae.y<=10?Oe.preventDefault():Oe.composedPath().includes(O)||re(!1),document.removeEventListener("pointermove",be),W.current=null};return W.current!==null&&(document.addEventListener("pointermove",be),document.addEventListener("pointerup",xe,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",be),document.removeEventListener("pointerup",xe,{capture:!0})}}},[O,re,W]),S.useEffect(()=>{const ae=()=>re(!1);return window.addEventListener("blur",ae),window.addEventListener("resize",ae),()=>{window.removeEventListener("blur",ae),window.removeEventListener("resize",ae)}},[re]);const[ne,D]=P1(ae=>{const be=de().filter(Ie=>!Ie.disabled),xe=be.find(Ie=>Ie.ref.current===document.activeElement),Oe=F1(be,ae,xe);Oe&&setTimeout(()=>Oe.ref.current?.focus())}),M=S.useCallback((ae,be,xe)=>{const Oe=!ge.current&&!xe;(T.value!==void 0&&T.value===be||Oe)&&(ve(ae),Oe&&(ge.current=!0))},[T.value]),B=S.useCallback(()=>O?.focus(),[O]),X=S.useCallback((ae,be,xe)=>{const Oe=!ge.current&&!xe;(T.value!==void 0&&T.value===be||Oe)&&me(ae)},[T.value]),Y=i==="popper"?Cm:C1,ce=Y===Cm?{side:d,sideOffset:m,align:p,alignOffset:y,arrowPadding:v,collisionBoundary:b,collisionPadding:x,sticky:w,hideWhenDetached:_,avoidCollisions:E}:{};return f.jsx(S1,{scope:r,content:O,viewport:z,onViewportChange:U,itemRefCallback:M,selectedItem:F,onItemLeave:B,itemTextRefCallback:X,focusSelectedItem:K,selectedItemText:ye,position:i,isPositioned:le,searchRef:ne,children:f.jsx(zu,{as:cN,allowPinchZoom:!0,children:f.jsx(Nu,{asChild:!0,trapped:T.open,onMountAutoFocus:ae=>{ae.preventDefault()},onUnmountAutoFocus:je(o,ae=>{T.trigger?.focus({preventScroll:!0}),ae.preventDefault()}),children:f.jsx(vl,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:ae=>ae.preventDefault(),onDismiss:()=>T.onOpenChange(!1),children:f.jsx(Y,{role:"listbox",id:T.contentId,"data-state":T.open?"open":"closed",dir:T.dir,onContextMenu:ae=>ae.preventDefault(),...R,...ce,onPlaced:()=>te(!0),ref:$,style:{display:"flex",flexDirection:"column",outline:"none",...R.style},onKeyDown:je(R.onKeyDown,ae=>{const be=ae.ctrlKey||ae.altKey||ae.metaKey;if(ae.key==="Tab"&&ae.preventDefault(),!be&&ae.key.length===1&&D(ae.key),["ArrowUp","ArrowDown","Home","End"].includes(ae.key)){let Oe=de().filter(Ie=>!Ie.disabled).map(Ie=>Ie.ref.current);if(["ArrowUp","End"].includes(ae.key)&&(Oe=Oe.slice().reverse()),["ArrowUp","ArrowDown"].includes(ae.key)){const Ie=ae.target,Ve=Oe.indexOf(Ie);Oe=Oe.slice(Ve+1)}setTimeout(()=>L(Oe)),ae.preventDefault()}})})})})})})});_1.displayName=lN;var uN="SelectItemAlignedPosition",C1=S.forwardRef((e,n)=>{const{__scopeSelect:r,onPlaced:i,...o}=e,l=Ka(Ha,r),u=Ya(Ha,r),[d,m]=S.useState(null),[p,y]=S.useState(null),v=nt(n,y),b=qu(r),x=S.useRef(!1),w=S.useRef(!0),{viewport:_,selectedItem:E,selectedItemText:R,focusSelectedItem:T}=u,O=S.useCallback(()=>{if(l.trigger&&l.valueNode&&d&&p&&_&&E&&R){const $=l.trigger.getBoundingClientRect(),F=p.getBoundingClientRect(),ve=l.valueNode.getBoundingClientRect(),ye=R.getBoundingClientRect();if(l.dir!=="rtl"){const Ie=ye.left-F.left,Ve=ve.left-Ie,it=$.left-Ve,Qe=$.width+it,fn=Math.max(Qe,F.width),hn=window.innerWidth-fr,Qt=ex(Ve,[fr,Math.max(fr,hn-fn)]);d.style.minWidth=Qe+"px",d.style.left=Qt+"px"}else{const Ie=F.right-ye.right,Ve=window.innerWidth-ve.right-Ie,it=window.innerWidth-$.right-Ve,Qe=$.width+it,fn=Math.max(Qe,F.width),hn=window.innerWidth-fr,Qt=ex(Ve,[fr,Math.max(fr,hn-fn)]);d.style.minWidth=Qe+"px",d.style.right=Qt+"px"}const me=b(),de=window.innerHeight-fr*2,le=_.scrollHeight,te=window.getComputedStyle(p),ge=parseInt(te.borderTopWidth,10),L=parseInt(te.paddingTop,10),K=parseInt(te.borderBottomWidth,10),re=parseInt(te.paddingBottom,10),W=ge+L+le+re+K,ne=Math.min(E.offsetHeight*5,W),D=window.getComputedStyle(_),M=parseInt(D.paddingTop,10),B=parseInt(D.paddingBottom,10),X=$.top+$.height/2-fr,Y=de-X,ce=E.offsetHeight/2,ae=E.offsetTop+ce,be=ge+L+ae,xe=W-be;if(be<=X){const Ie=me.length>0&&E===me[me.length-1].ref.current;d.style.bottom="0px";const Ve=p.clientHeight-_.offsetTop-_.offsetHeight,it=Math.max(Y,ce+(Ie?B:0)+Ve+K),Qe=be+it;d.style.height=Qe+"px"}else{const Ie=me.length>0&&E===me[0].ref.current;d.style.top="0px";const it=Math.max(X,ge+_.offsetTop+(Ie?M:0)+ce)+xe;d.style.height=it+"px",_.scrollTop=be-X+_.offsetTop}d.style.margin=`${fr}px 0`,d.style.minHeight=ne+"px",d.style.maxHeight=de+"px",i?.(),requestAnimationFrame(()=>x.current=!0)}},[b,l.trigger,l.valueNode,d,p,_,E,R,l.dir,i]);Yt(()=>O(),[O]);const[N,z]=S.useState();Yt(()=>{p&&z(window.getComputedStyle(p).zIndex)},[p]);const U=S.useCallback($=>{$&&w.current===!0&&(O(),T?.(),w.current=!1)},[O,T]);return f.jsx(fN,{scope:r,contentWrapper:d,shouldExpandOnScrollRef:x,onScrollButtonChange:U,children:f.jsx("div",{ref:m,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:N},children:f.jsx($e.div,{...o,ref:v,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});C1.displayName=uN;var dN="SelectPopperPosition",Cm=S.forwardRef((e,n)=>{const{__scopeSelect:r,align:i="start",collisionPadding:o=fr,...l}=e,u=Gu(r);return f.jsx(Ap,{...u,...l,ref:n,align:i,collisionPadding:o,style:{boxSizing:"border-box",...l.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Cm.displayName=dN;var[fN,Pp]=ki(Ha,{}),Em="SelectViewport",E1=S.forwardRef((e,n)=>{const{__scopeSelect:r,nonce:i,...o}=e,l=Ya(Em,r),u=Pp(Em,r),d=nt(n,l.onViewportChange),m=S.useRef(0);return f.jsxs(f.Fragment,{children:[f.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),f.jsx(Bu.Slot,{scope:r,children:f.jsx($e.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:d,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:je(o.onScroll,p=>{const y=p.currentTarget,{contentWrapper:v,shouldExpandOnScrollRef:b}=u;if(b?.current&&v){const x=Math.abs(m.current-y.scrollTop);if(x>0){const w=window.innerHeight-fr*2,_=parseFloat(v.style.minHeight),E=parseFloat(v.style.height),R=Math.max(_,E);if(R0?N:0,v.style.justifyContent="flex-end")}}}m.current=y.scrollTop})})})]})});E1.displayName=Em;var R1="SelectGroup",[hN,mN]=ki(R1),pN=S.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e,o=dn();return f.jsx(hN,{scope:r,id:o,children:f.jsx($e.div,{role:"group","aria-labelledby":o,...i,ref:n})})});pN.displayName=R1;var j1="SelectLabel",gN=S.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e,o=mN(j1,r);return f.jsx($e.div,{id:o.id,...i,ref:n})});gN.displayName=j1;var xu="SelectItem",[vN,T1]=ki(xu),O1=S.forwardRef((e,n)=>{const{__scopeSelect:r,value:i,disabled:o=!1,textValue:l,...u}=e,d=Ka(xu,r),m=Ya(xu,r),p=d.value===i,[y,v]=S.useState(l??""),[b,x]=S.useState(!1),w=tr(O=>m.itemRefCallback?.(O,i,o)),_=nt(n,w),E=dn(),R=S.useRef("touch"),T=()=>{o||(d.onValueChange(i),d.onOpenChange(!1))};return f.jsx(vN,{scope:r,value:i,disabled:o,textId:E,isSelected:p,onItemTextChange:S.useCallback(O=>{v(N=>N||(O?.textContent??"").trim())},[]),children:f.jsx(Bu.ItemSlot,{scope:r,value:i,disabled:o,textValue:y,children:f.jsx($e.div,{role:"option","aria-labelledby":E,"data-highlighted":b?"":void 0,"aria-selected":p&&b,"data-state":p?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...u,ref:_,onFocus:je(u.onFocus,()=>x(!0)),onBlur:je(u.onBlur,()=>x(!1)),onClick:je(u.onClick,()=>{R.current!=="mouse"&&T()}),onPointerUp:je(u.onPointerUp,()=>{R.current==="mouse"&&T()}),onPointerDown:je(u.onPointerDown,O=>{R.current=O.pointerType}),onPointerMove:je(u.onPointerMove,O=>{R.current=O.pointerType,o?m.onItemLeave?.():R.current==="mouse"&&O.currentTarget.focus({preventScroll:!0})}),onPointerLeave:je(u.onPointerLeave,O=>{O.currentTarget===document.activeElement&&m.onItemLeave?.()}),onKeyDown:je(u.onKeyDown,O=>{o||O.target!==O.currentTarget||m.searchRef?.current!==""&&O.key===" "||(WM.includes(O.key)&&T(),O.key===" "&&O.preventDefault())})})})})});O1.displayName=xu;var Yo="SelectItemText",A1=S.forwardRef((e,n)=>{const{__scopeSelect:r,className:i,style:o,...l}=e,u=Ka(Yo,r),d=Ya(Yo,r),m=T1(Yo,r),p=rN(Yo,r),[y,v]=S.useState(null),b=tr(T=>d.itemTextRefCallback?.(T,m.value,m.disabled)),x=nt(n,v,m.onItemTextChange,b),w=y?.textContent,_=S.useMemo(()=>f.jsx("option",{value:m.value,disabled:m.disabled,children:w},m.value),[m.disabled,m.value,w]),{onNativeOptionAdd:E,onNativeOptionRemove:R}=p;return Yt(()=>(E(_),()=>R(_)),[E,R,_]),f.jsxs(f.Fragment,{children:[f.jsx($e.span,{id:m.textId,...l,ref:x}),m.isSelected&&u.valueNode&&!u.valueNodeHasChildren&&!Zu(u.value)?Ni.createPortal(l.children,u.valueNode):null]})});A1.displayName=Yo;var M1="SelectItemIndicator",N1=S.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e;return T1(M1,r).isSelected?f.jsx($e.span,{"aria-hidden":!0,...i,ref:n}):null});N1.displayName=M1;var Rm="SelectScrollUpButton",D1=S.forwardRef((e,n)=>{const r=Ya(Rm,e.__scopeSelect),i=Pp(Rm,e.__scopeSelect),[o,l]=S.useState(!1),u=nt(n,i.onScrollButtonChange);return Yt(()=>{if(r.viewport&&r.isPositioned){let d=function(){const p=m.scrollTop>0;l(p)};const m=r.viewport;return d(),m.addEventListener("scroll",d),()=>m.removeEventListener("scroll",d)}},[r.viewport,r.isPositioned]),o?f.jsx(k1,{...e,ref:u,onAutoScroll:()=>{const{viewport:d,selectedItem:m}=r;d&&m&&(d.scrollTop=d.scrollTop-m.offsetHeight)}}):null});D1.displayName=Rm;var jm="SelectScrollDownButton",z1=S.forwardRef((e,n)=>{const r=Ya(jm,e.__scopeSelect),i=Pp(jm,e.__scopeSelect),[o,l]=S.useState(!1),u=nt(n,i.onScrollButtonChange);return Yt(()=>{if(r.viewport&&r.isPositioned){let d=function(){const p=m.scrollHeight-m.clientHeight,y=Math.ceil(m.scrollTop)m.removeEventListener("scroll",d)}},[r.viewport,r.isPositioned]),o?f.jsx(k1,{...e,ref:u,onAutoScroll:()=>{const{viewport:d,selectedItem:m}=r;d&&m&&(d.scrollTop=d.scrollTop+m.offsetHeight)}}):null});z1.displayName=jm;var k1=S.forwardRef((e,n)=>{const{__scopeSelect:r,onAutoScroll:i,...o}=e,l=Ya("SelectScrollButton",r),u=S.useRef(null),d=qu(r),m=S.useCallback(()=>{u.current!==null&&(window.clearInterval(u.current),u.current=null)},[]);return S.useEffect(()=>()=>m(),[m]),Yt(()=>{d().find(y=>y.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[d]),f.jsx($e.div,{"aria-hidden":!0,...o,ref:n,style:{flexShrink:0,...o.style},onPointerDown:je(o.onPointerDown,()=>{u.current===null&&(u.current=window.setInterval(i,50))}),onPointerMove:je(o.onPointerMove,()=>{l.onItemLeave?.(),u.current===null&&(u.current=window.setInterval(i,50))}),onPointerLeave:je(o.onPointerLeave,()=>{m()})})}),yN="SelectSeparator",bN=S.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e;return f.jsx($e.div,{"aria-hidden":!0,...i,ref:n})});bN.displayName=yN;var L1="SelectArrow",xN=S.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e,o=Gu(r);return Ya(L1,r).position==="popper"?f.jsx(Mp,{...o,...i,ref:n}):null});xN.displayName=L1;var $1="SelectBubbleInput",I1=S.forwardRef(({__scopeSelect:e,...n},r)=>{const i=Ka($1,e),{value:o,onValueChange:l,required:u,disabled:d,name:m,autoComplete:p,form:y}=i,{nativeOptions:v,nativeSelectKey:b}=i,x=S.useRef(null),w=nt(r,x),_=o??"",E=tO(_),R=Array.from(v).some(T=>(T.props.value??"")==="");return S.useEffect(()=>{const T=x.current;if(!T)return;const O=window.HTMLSelectElement.prototype,z=Object.getOwnPropertyDescriptor(O,"value").set;if(E!==_&&z){const U=new Event("change",{bubbles:!0});z.call(T,_),T.dispatchEvent(U)}},[E,_]),f.jsxs($e.select,{"aria-hidden":!0,required:u,tabIndex:-1,name:m,autoComplete:p,disabled:d,form:y,onChange:T=>l(T.target.value),...n,style:{...Iw,...n.style},ref:w,defaultValue:_,children:[Zu(o)&&!R?f.jsx("option",{value:""}):null,Array.from(v)]},b)});I1.displayName=$1;function wN(e){return typeof e=="function"}function Zu(e){return e===""||e===void 0}function P1(e){const n=tr(e),r=S.useRef(""),i=S.useRef(0),o=S.useCallback(u=>{const d=r.current+u;n(d),(function m(p){r.current=p,window.clearTimeout(i.current),p!==""&&(i.current=window.setTimeout(()=>m(""),1e3))})(d)},[n]),l=S.useCallback(()=>{r.current="",window.clearTimeout(i.current)},[]);return S.useEffect(()=>()=>window.clearTimeout(i.current),[]),[r,o,l]}function F1(e,n,r){const o=n.length>1&&Array.from(n).every(p=>p===n[0])?n[0]:n,l=r?e.indexOf(r):-1;let u=SN(e,Math.max(l,0));o.length===1&&(u=u.filter(p=>p!==r));const m=u.find(p=>p.textValue.toLowerCase().startsWith(o.toLowerCase()));return m!==r?m:void 0}function SN(e,n){return e.map((r,i)=>e[(n+i)%e.length])}var _N="Separator",tx="horizontal",CN=["horizontal","vertical"],V1=S.forwardRef((e,n)=>{const{decorative:r,orientation:i=tx,...o}=e,l=EN(i)?i:tx,d=r?{role:"none"}:{"aria-orientation":l==="vertical"?l:void 0,role:"separator"};return f.jsx($e.div,{"data-orientation":l,...d,...o,ref:n})});V1.displayName=_N;function EN(e){return CN.includes(e)}var RN=V1,[Ku]=Ga("Tooltip",[Ks]),Yu=Ks(),U1="TooltipProvider",jN=700,Tm="tooltip.open",[TN,Fp]=Ku(U1),H1=e=>{const{__scopeTooltip:n,delayDuration:r=jN,skipDelayDuration:i=300,disableHoverableContent:o=!1,children:l}=e,u=S.useRef(!0),d=S.useRef(!1),m=S.useRef(0);return S.useEffect(()=>{const p=m.current;return()=>window.clearTimeout(p)},[]),f.jsx(TN,{scope:n,isOpenDelayedRef:u,delayDuration:r,onOpen:S.useCallback(()=>{i<=0||(window.clearTimeout(m.current),u.current=!1)},[i]),onClose:S.useCallback(()=>{i<=0||(window.clearTimeout(m.current),m.current=window.setTimeout(()=>u.current=!0,i))},[i]),isPointerInTransitRef:d,onPointerInTransitChange:S.useCallback(p=>{d.current=p},[]),disableHoverableContent:o,children:l})};H1.displayName=U1;var cl="Tooltip",[ON,Sl]=Ku(cl),B1=e=>{const{__scopeTooltip:n,children:r,open:i,defaultOpen:o,onOpenChange:l,disableHoverableContent:u,delayDuration:d}=e,m=Fp(cl,e.__scopeTooltip),p=Yu(n),[y,v]=S.useState(null),b=dn(),x=S.useRef(0),w=u??m.disableHoverableContent,_=d??m.delayDuration,E=S.useRef(!1),[R,T]=Vs({prop:i,defaultProp:o??!1,onChange:$=>{$?(m.onOpen(),document.dispatchEvent(new CustomEvent(Tm))):m.onClose(),l?.($)},caller:cl}),O=S.useMemo(()=>R?E.current?"delayed-open":"instant-open":"closed",[R]),N=S.useCallback(()=>{window.clearTimeout(x.current),x.current=0,E.current=!1,T(!0)},[T]),z=S.useCallback(()=>{window.clearTimeout(x.current),x.current=0,T(!1)},[T]),U=S.useCallback(()=>{window.clearTimeout(x.current),x.current=window.setTimeout(()=>{E.current=!0,T(!0),x.current=0},_)},[_,T]);return S.useEffect(()=>()=>{x.current&&(window.clearTimeout(x.current),x.current=0)},[]),f.jsx(Tp,{...p,children:f.jsx(ON,{scope:n,contentId:b,open:R,stateAttribute:O,trigger:y,onTriggerChange:v,onTriggerEnter:S.useCallback(()=>{m.isOpenDelayedRef.current?U():N()},[m.isOpenDelayedRef,U,N]),onTriggerLeave:S.useCallback(()=>{w?z():(window.clearTimeout(x.current),x.current=0)},[z,w]),onOpen:N,onClose:z,disableHoverableContent:w,children:r})})};B1.displayName=cl;var Om="TooltipTrigger",q1=S.forwardRef((e,n)=>{const{__scopeTooltip:r,...i}=e,o=Sl(Om,r),l=Fp(Om,r),u=Yu(r),d=S.useRef(null),m=nt(n,d,o.onTriggerChange),p=S.useRef(!1),y=S.useRef(!1),v=S.useCallback(()=>p.current=!1,[]);return S.useEffect(()=>()=>document.removeEventListener("pointerup",v),[v]),f.jsx(Op,{asChild:!0,...u,children:f.jsx($e.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...i,ref:m,onPointerMove:je(e.onPointerMove,b=>{b.pointerType!=="touch"&&!y.current&&!l.isPointerInTransitRef.current&&(o.onTriggerEnter(),y.current=!0)}),onPointerLeave:je(e.onPointerLeave,()=>{o.onTriggerLeave(),y.current=!1}),onPointerDown:je(e.onPointerDown,()=>{o.open&&o.onClose(),p.current=!0,document.addEventListener("pointerup",v,{once:!0})}),onFocus:je(e.onFocus,()=>{p.current||o.onOpen()}),onBlur:je(e.onBlur,o.onClose),onClick:je(e.onClick,o.onClose)})})});q1.displayName=Om;var Vp="TooltipPortal",[AN,MN]=Ku(Vp,{forceMount:void 0}),G1=e=>{const{__scopeTooltip:n,forceMount:r,children:i,container:o}=e,l=Sl(Vp,n);return f.jsx(AN,{scope:n,forceMount:r,children:f.jsx(vr,{present:r||l.open,children:f.jsx(yl,{asChild:!0,container:o,children:i})})})};G1.displayName=Vp;var Hs="TooltipContent",Z1=S.forwardRef((e,n)=>{const r=MN(Hs,e.__scopeTooltip),{forceMount:i=r.forceMount,side:o="top",...l}=e,u=Sl(Hs,e.__scopeTooltip);return f.jsx(vr,{present:i||u.open,children:u.disableHoverableContent?f.jsx(K1,{side:o,...l,ref:n}):f.jsx(NN,{side:o,...l,ref:n})})}),NN=S.forwardRef((e,n)=>{const r=Sl(Hs,e.__scopeTooltip),i=Fp(Hs,e.__scopeTooltip),o=S.useRef(null),l=nt(n,o),[u,d]=S.useState(null),{trigger:m,onClose:p}=r,y=o.current,{onPointerInTransitChange:v}=i,b=S.useCallback(()=>{d(null),v(!1)},[v]),x=S.useCallback((w,_)=>{const E=w.currentTarget,R={x:w.clientX,y:w.clientY},T=LN(R,E.getBoundingClientRect()),O=$N(R,T),N=IN(_.getBoundingClientRect()),z=FN([...O,...N]);d(z),v(!0)},[v]);return S.useEffect(()=>()=>b(),[b]),S.useEffect(()=>{if(m&&y){const w=E=>x(E,y),_=E=>x(E,m);return m.addEventListener("pointerleave",w),y.addEventListener("pointerleave",_),()=>{m.removeEventListener("pointerleave",w),y.removeEventListener("pointerleave",_)}}},[m,y,x,b]),S.useEffect(()=>{if(u){const w=_=>{const E=_.target,R={x:_.clientX,y:_.clientY},T=m?.contains(E)||y?.contains(E),O=!PN(R,u);T?b():O&&(b(),p())};return document.addEventListener("pointermove",w),()=>document.removeEventListener("pointermove",w)}},[m,y,u,p,b]),f.jsx(K1,{...e,ref:l})}),[DN,zN]=Ku(cl,{isInside:!1}),kN=Sj("TooltipContent"),K1=S.forwardRef((e,n)=>{const{__scopeTooltip:r,children:i,"aria-label":o,onEscapeKeyDown:l,onPointerDownOutside:u,...d}=e,m=Sl(Hs,r),p=Yu(r),{onClose:y}=m;return S.useEffect(()=>(document.addEventListener(Tm,y),()=>document.removeEventListener(Tm,y)),[y]),S.useEffect(()=>{if(m.trigger){const v=b=>{b.target instanceof Node&&b.target.contains(m.trigger)&&y()};return window.addEventListener("scroll",v,{capture:!0}),()=>window.removeEventListener("scroll",v,{capture:!0})}},[m.trigger,y]),f.jsx(vl,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:v=>v.preventDefault(),onDismiss:y,children:f.jsxs(Ap,{"data-state":m.stateAttribute,...p,...d,ref:n,style:{...d.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[f.jsx(kN,{children:i}),f.jsx(DN,{scope:r,isInside:!0,children:f.jsx(Dj,{id:m.contentId,role:"tooltip",children:o||i})})]})})});Z1.displayName=Hs;var Y1="TooltipArrow",Q1=S.forwardRef((e,n)=>{const{__scopeTooltip:r,...i}=e,o=Yu(r);return zN(Y1,r).isInside?null:f.jsx(Mp,{...o,...i,ref:n})});Q1.displayName=Y1;function LN(e,n){const r=Math.abs(n.top-e.y),i=Math.abs(n.bottom-e.y),o=Math.abs(n.right-e.x),l=Math.abs(n.left-e.x);switch(Math.min(r,i,o,l)){case l:return"left";case o:return"right";case r:return"top";case i:return"bottom";default:throw new Error("unreachable")}}function $N(e,n,r=5){const i=[];switch(n){case"top":i.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":i.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":i.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":i.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r});break}return i}function IN(e){const{top:n,right:r,bottom:i,left:o}=e;return[{x:o,y:n},{x:r,y:n},{x:r,y:i},{x:o,y:i}]}function PN(e,n){const{x:r,y:i}=e;let o=!1;for(let l=0,u=n.length-1;li!=b>i&&r<(v-p)*(i-y)/(b-y)+p&&(o=!o)}return o}function FN(e){const n=e.slice();return n.sort((r,i)=>r.xi.x?1:r.yi.y?1:0),VN(n)}function VN(e){if(e.length<=1)return e.slice();const n=[];for(let i=0;i=2;){const l=n[n.length-1],u=n[n.length-2];if((l.x-u.x)*(o.y-u.y)>=(l.y-u.y)*(o.x-u.x))n.pop();else break}n.push(o)}n.pop();const r=[];for(let i=e.length-1;i>=0;i--){const o=e[i];for(;r.length>=2;){const l=r[r.length-1],u=r[r.length-2];if((l.x-u.x)*(o.y-u.y)>=(l.y-u.y)*(o.x-u.x))r.pop();else break}r.push(o)}return r.pop(),n.length===1&&r.length===1&&n[0].x===r[0].x&&n[0].y===r[0].y?n:n.concat(r)}var UN=H1,HN=B1,BN=q1,qN=G1,GN=Z1,ZN=Q1;function X1(e){var n,r,i="";if(typeof e=="string"||typeof e=="number")i+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(n=0;n{const r=new Array(e.length+n.length);for(let i=0;i({classGroupId:e,validator:n}),W1=(e=new Map,n=null,r)=>({nextPart:e,validators:n,classGroupId:r}),wu="-",nx=[],QN="arbitrary..",XN=e=>{const n=WN(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:i}=e;return{getClassGroupId:u=>{if(u.startsWith("[")&&u.endsWith("]"))return JN(u);const d=u.split(wu),m=d[0]===""&&d.length>1?1:0;return e_(d,m,n)},getConflictingClassGroupIds:(u,d)=>{if(d){const m=i[u],p=r[u];return m?p?KN(p,m):m:p||nx}return r[u]||nx}}},e_=(e,n,r)=>{if(e.length-n===0)return r.classGroupId;const o=e[n],l=r.nextPart.get(o);if(l){const p=e_(e,n+1,l);if(p)return p}const u=r.validators;if(u===null)return;const d=n===0?e.join(wu):e.slice(n).join(wu),m=u.length;for(let p=0;pe.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const n=e.slice(1,-1),r=n.indexOf(":"),i=n.slice(0,r);return i?QN+i:void 0})(),WN=e=>{const{theme:n,classGroups:r}=e;return eD(r,n)},eD=(e,n)=>{const r=W1();for(const i in e){const o=e[i];Up(o,r,i,n)}return r},Up=(e,n,r,i)=>{const o=e.length;for(let l=0;l{if(typeof e=="string"){nD(e,n,r);return}if(typeof e=="function"){rD(e,n,r,i);return}aD(e,n,r,i)},nD=(e,n,r)=>{const i=e===""?n:t_(n,e);i.classGroupId=r},rD=(e,n,r,i)=>{if(iD(e)){Up(e(i),n,r,i);return}n.validators===null&&(n.validators=[]),n.validators.push(YN(r,e))},aD=(e,n,r,i)=>{const o=Object.entries(e),l=o.length;for(let u=0;u{let r=e;const i=n.split(wu),o=i.length;for(let l=0;l"isThemeGetter"in e&&e.isThemeGetter===!0,sD=e=>{if(e<1)return{get:()=>{},set:()=>{}};let n=0,r=Object.create(null),i=Object.create(null);const o=(l,u)=>{r[l]=u,n++,n>e&&(n=0,i=r,r=Object.create(null))};return{get(l){let u=r[l];if(u!==void 0)return u;if((u=i[l])!==void 0)return o(l,u),u},set(l,u){l in r?r[l]=u:o(l,u)}}},Am="!",rx=":",oD=[],ax=(e,n,r,i,o)=>({modifiers:e,hasImportantModifier:n,baseClassName:r,maybePostfixModifierPosition:i,isExternal:o}),lD=e=>{const{prefix:n,experimentalParseClassName:r}=e;let i=o=>{const l=[];let u=0,d=0,m=0,p;const y=o.length;for(let _=0;_m?p-m:void 0;return ax(l,x,b,w)};if(n){const o=n+rx,l=i;i=u=>u.startsWith(o)?l(u.slice(o.length)):ax(oD,!1,u,void 0,!0)}if(r){const o=i;i=l=>r({className:l,parseClassName:o})}return i},cD=e=>{const n=new Map;return e.orderSensitiveModifiers.forEach((r,i)=>{n.set(r,1e6+i)}),r=>{const i=[];let o=[];for(let l=0;l0&&(o.sort(),i.push(...o),o=[]),i.push(u)):o.push(u)}return o.length>0&&(o.sort(),i.push(...o)),i}},uD=e=>({cache:sD(e.cacheSize),parseClassName:lD(e),sortModifiers:cD(e),postfixLookupClassGroupIds:dD(e),...XN(e)}),dD=e=>{const n=Object.create(null),r=e.postfixLookupClassGroups;if(r)for(let i=0;i{const{parseClassName:r,getClassGroupId:i,getConflictingClassGroupIds:o,sortModifiers:l,postfixLookupClassGroupIds:u}=n,d=[],m=e.trim().split(fD);let p="";for(let y=m.length-1;y>=0;y-=1){const v=m[y],{isExternal:b,modifiers:x,hasImportantModifier:w,baseClassName:_,maybePostfixModifierPosition:E}=r(v);if(b){p=v+(p.length>0?" "+p:p);continue}let R=!!E,T;if(R){const $=_.substring(0,E);T=i($);const F=T&&u[T]?i(_):void 0;F&&F!==T&&(T=F,R=!1)}else T=i(_);if(!T){if(!R){p=v+(p.length>0?" "+p:p);continue}if(T=i(_),!T){p=v+(p.length>0?" "+p:p);continue}R=!1}const O=x.length===0?"":x.length===1?x[0]:l(x).join(":"),N=w?O+Am:O,z=N+T;if(d.indexOf(z)>-1)continue;d.push(z);const U=o(T,R);for(let $=0;$0?" "+p:p)}return p},mD=(...e)=>{let n=0,r,i,o="";for(;n{if(typeof e=="string")return e;let n,r="";for(let i=0;i{let r,i,o,l;const u=m=>{const p=n.reduce((y,v)=>v(y),e());return r=uD(p),i=r.cache.get,o=r.cache.set,l=d,d(m)},d=m=>{const p=i(m);if(p)return p;const y=hD(m,r);return o(m,y),y};return l=u,(...m)=>l(mD(...m))},gD=[],Ht=e=>{const n=r=>r[e]||gD;return n.isThemeGetter=!0,n},r_=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,a_=/^\((?:(\w[\w-]*):)?(.+)\)$/i,vD=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,yD=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,bD=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,xD=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,wD=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,SD=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Ma=e=>vD.test(e),He=e=>!!e&&!Number.isNaN(Number(e)),Rr=e=>!!e&&Number.isInteger(Number(e)),Hh=e=>e.endsWith("%")&&He(e.slice(0,-1)),ea=e=>yD.test(e),i_=()=>!0,_D=e=>bD.test(e)&&!xD.test(e),Hp=()=>!1,CD=e=>wD.test(e),ED=e=>SD.test(e),RD=e=>!Ce(e)&&!Ee(e),jD=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),TD=e=>Qa(e,l_,Hp),Ce=e=>r_.test(e),yi=e=>Qa(e,c_,_D),ix=e=>Qa(e,LD,He),OD=e=>Qa(e,d_,i_),AD=e=>Qa(e,u_,Hp),sx=e=>Qa(e,s_,Hp),MD=e=>Qa(e,o_,ED),Kc=e=>Qa(e,f_,CD),Ee=e=>a_.test(e),Ho=e=>Li(e,c_),ND=e=>Li(e,u_),ox=e=>Li(e,s_),DD=e=>Li(e,l_),zD=e=>Li(e,o_),Yc=e=>Li(e,f_,!0),kD=e=>Li(e,d_,!0),Qa=(e,n,r)=>{const i=r_.exec(e);return i?i[1]?n(i[1]):r(i[2]):!1},Li=(e,n,r=!1)=>{const i=a_.exec(e);return i?i[1]?n(i[1]):r:!1},s_=e=>e==="position"||e==="percentage",o_=e=>e==="image"||e==="url",l_=e=>e==="length"||e==="size"||e==="bg-size",c_=e=>e==="length",LD=e=>e==="number",u_=e=>e==="family-name",d_=e=>e==="number"||e==="weight",f_=e=>e==="shadow",$D=()=>{const e=Ht("color"),n=Ht("font"),r=Ht("text"),i=Ht("font-weight"),o=Ht("tracking"),l=Ht("leading"),u=Ht("breakpoint"),d=Ht("container"),m=Ht("spacing"),p=Ht("radius"),y=Ht("shadow"),v=Ht("inset-shadow"),b=Ht("text-shadow"),x=Ht("drop-shadow"),w=Ht("blur"),_=Ht("perspective"),E=Ht("aspect"),R=Ht("ease"),T=Ht("animate"),O=()=>["auto","avoid","all","avoid-page","page","left","right","column"],N=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],z=()=>[...N(),Ee,Ce],U=()=>["auto","hidden","clip","visible","scroll"],$=()=>["auto","contain","none"],F=()=>[Ee,Ce,m],ve=()=>[Ma,"full","auto",...F()],ye=()=>[Rr,"none","subgrid",Ee,Ce],me=()=>["auto",{span:["full",Rr,Ee,Ce]},Rr,Ee,Ce],de=()=>[Rr,"auto",Ee,Ce],le=()=>["auto","min","max","fr",Ee,Ce],te=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],ge=()=>["start","end","center","stretch","center-safe","end-safe"],L=()=>["auto",...F()],K=()=>[Ma,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...F()],re=()=>[Ma,"screen","full","dvw","lvw","svw","min","max","fit",...F()],W=()=>[Ma,"screen","full","lh","dvh","lvh","svh","min","max","fit",...F()],ne=()=>[e,Ee,Ce],D=()=>[...N(),ox,sx,{position:[Ee,Ce]}],M=()=>["no-repeat",{repeat:["","x","y","space","round"]}],B=()=>["auto","cover","contain",DD,TD,{size:[Ee,Ce]}],X=()=>[Hh,Ho,yi],Y=()=>["","none","full",p,Ee,Ce],ce=()=>["",He,Ho,yi],ae=()=>["solid","dashed","dotted","double"],be=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],xe=()=>[He,Hh,ox,sx],Oe=()=>["","none",w,Ee,Ce],Ie=()=>["none",He,Ee,Ce],Ve=()=>["none",He,Ee,Ce],it=()=>[He,Ee,Ce],Qe=()=>[Ma,"full",...F()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[ea],breakpoint:[ea],color:[i_],container:[ea],"drop-shadow":[ea],ease:["in","out","in-out"],font:[RD],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[ea],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[ea],shadow:[ea],spacing:["px",He],text:[ea],"text-shadow":[ea],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Ma,Ce,Ee,E]}],container:["container"],"container-type":[{"@container":["","normal","size",Ee,Ce]}],"container-named":[jD],columns:[{columns:[He,Ce,Ee,d]}],"break-after":[{"break-after":O()}],"break-before":[{"break-before":O()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:z()}],overflow:[{overflow:U()}],"overflow-x":[{"overflow-x":U()}],"overflow-y":[{"overflow-y":U()}],overscroll:[{overscroll:$()}],"overscroll-x":[{"overscroll-x":$()}],"overscroll-y":[{"overscroll-y":$()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:ve()}],"inset-x":[{"inset-x":ve()}],"inset-y":[{"inset-y":ve()}],start:[{"inset-s":ve(),start:ve()}],end:[{"inset-e":ve(),end:ve()}],"inset-bs":[{"inset-bs":ve()}],"inset-be":[{"inset-be":ve()}],top:[{top:ve()}],right:[{right:ve()}],bottom:[{bottom:ve()}],left:[{left:ve()}],visibility:["visible","invisible","collapse"],z:[{z:[Rr,"auto",Ee,Ce]}],basis:[{basis:[Ma,"full","auto",d,...F()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[He,Ma,"auto","initial","none",Ce]}],grow:[{grow:["",He,Ee,Ce]}],shrink:[{shrink:["",He,Ee,Ce]}],order:[{order:[Rr,"first","last","none",Ee,Ce]}],"grid-cols":[{"grid-cols":ye()}],"col-start-end":[{col:me()}],"col-start":[{"col-start":de()}],"col-end":[{"col-end":de()}],"grid-rows":[{"grid-rows":ye()}],"row-start-end":[{row:me()}],"row-start":[{"row-start":de()}],"row-end":[{"row-end":de()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":le()}],"auto-rows":[{"auto-rows":le()}],gap:[{gap:F()}],"gap-x":[{"gap-x":F()}],"gap-y":[{"gap-y":F()}],"justify-content":[{justify:[...te(),"normal"]}],"justify-items":[{"justify-items":[...ge(),"normal"]}],"justify-self":[{"justify-self":["auto",...ge()]}],"align-content":[{content:["normal",...te()]}],"align-items":[{items:[...ge(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...ge(),{baseline:["","last"]}]}],"place-content":[{"place-content":te()}],"place-items":[{"place-items":[...ge(),"baseline"]}],"place-self":[{"place-self":["auto",...ge()]}],p:[{p:F()}],px:[{px:F()}],py:[{py:F()}],ps:[{ps:F()}],pe:[{pe:F()}],pbs:[{pbs:F()}],pbe:[{pbe:F()}],pt:[{pt:F()}],pr:[{pr:F()}],pb:[{pb:F()}],pl:[{pl:F()}],m:[{m:L()}],mx:[{mx:L()}],my:[{my:L()}],ms:[{ms:L()}],me:[{me:L()}],mbs:[{mbs:L()}],mbe:[{mbe:L()}],mt:[{mt:L()}],mr:[{mr:L()}],mb:[{mb:L()}],ml:[{ml:L()}],"space-x":[{"space-x":F()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":F()}],"space-y-reverse":["space-y-reverse"],size:[{size:K()}],"inline-size":[{inline:["auto",...re()]}],"min-inline-size":[{"min-inline":["auto",...re()]}],"max-inline-size":[{"max-inline":["none",...re()]}],"block-size":[{block:["auto",...W()]}],"min-block-size":[{"min-block":["auto",...W()]}],"max-block-size":[{"max-block":["none",...W()]}],w:[{w:[d,"screen",...K()]}],"min-w":[{"min-w":[d,"screen","none",...K()]}],"max-w":[{"max-w":[d,"screen","none","prose",{screen:[u]},...K()]}],h:[{h:["screen","lh",...K()]}],"min-h":[{"min-h":["screen","lh","none",...K()]}],"max-h":[{"max-h":["screen","lh",...K()]}],"font-size":[{text:["base",r,Ho,yi]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[i,kD,OD]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Hh,Ce]}],"font-family":[{font:[ND,AD,n]}],"font-features":[{"font-features":[Ce]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[o,Ee,Ce]}],"line-clamp":[{"line-clamp":[He,"none",Ee,ix]}],leading:[{leading:[l,...F()]}],"list-image":[{"list-image":["none",Ee,Ce]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Ee,Ce]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:ne()}],"text-color":[{text:ne()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ae(),"wavy"]}],"text-decoration-thickness":[{decoration:[He,"from-font","auto",Ee,yi]}],"text-decoration-color":[{decoration:ne()}],"underline-offset":[{"underline-offset":[He,"auto",Ee,Ce]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:F()}],"tab-size":[{tab:[Rr,Ee,Ce]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Ee,Ce]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Ee,Ce]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:D()}],"bg-repeat":[{bg:M()}],"bg-size":[{bg:B()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Rr,Ee,Ce],radial:["",Ee,Ce],conic:[Rr,Ee,Ce]},zD,MD]}],"bg-color":[{bg:ne()}],"gradient-from-pos":[{from:X()}],"gradient-via-pos":[{via:X()}],"gradient-to-pos":[{to:X()}],"gradient-from":[{from:ne()}],"gradient-via":[{via:ne()}],"gradient-to":[{to:ne()}],rounded:[{rounded:Y()}],"rounded-s":[{"rounded-s":Y()}],"rounded-e":[{"rounded-e":Y()}],"rounded-t":[{"rounded-t":Y()}],"rounded-r":[{"rounded-r":Y()}],"rounded-b":[{"rounded-b":Y()}],"rounded-l":[{"rounded-l":Y()}],"rounded-ss":[{"rounded-ss":Y()}],"rounded-se":[{"rounded-se":Y()}],"rounded-ee":[{"rounded-ee":Y()}],"rounded-es":[{"rounded-es":Y()}],"rounded-tl":[{"rounded-tl":Y()}],"rounded-tr":[{"rounded-tr":Y()}],"rounded-br":[{"rounded-br":Y()}],"rounded-bl":[{"rounded-bl":Y()}],"border-w":[{border:ce()}],"border-w-x":[{"border-x":ce()}],"border-w-y":[{"border-y":ce()}],"border-w-s":[{"border-s":ce()}],"border-w-e":[{"border-e":ce()}],"border-w-bs":[{"border-bs":ce()}],"border-w-be":[{"border-be":ce()}],"border-w-t":[{"border-t":ce()}],"border-w-r":[{"border-r":ce()}],"border-w-b":[{"border-b":ce()}],"border-w-l":[{"border-l":ce()}],"divide-x":[{"divide-x":ce()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ce()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ae(),"hidden","none"]}],"divide-style":[{divide:[...ae(),"hidden","none"]}],"border-color":[{border:ne()}],"border-color-x":[{"border-x":ne()}],"border-color-y":[{"border-y":ne()}],"border-color-s":[{"border-s":ne()}],"border-color-e":[{"border-e":ne()}],"border-color-bs":[{"border-bs":ne()}],"border-color-be":[{"border-be":ne()}],"border-color-t":[{"border-t":ne()}],"border-color-r":[{"border-r":ne()}],"border-color-b":[{"border-b":ne()}],"border-color-l":[{"border-l":ne()}],"divide-color":[{divide:ne()}],"outline-style":[{outline:[...ae(),"none","hidden"]}],"outline-offset":[{"outline-offset":[He,Ee,Ce]}],"outline-w":[{outline:["",He,Ho,yi]}],"outline-color":[{outline:ne()}],shadow:[{shadow:["","none",y,Yc,Kc]}],"shadow-color":[{shadow:ne()}],"inset-shadow":[{"inset-shadow":["none",v,Yc,Kc]}],"inset-shadow-color":[{"inset-shadow":ne()}],"ring-w":[{ring:ce()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:ne()}],"ring-offset-w":[{"ring-offset":[He,yi]}],"ring-offset-color":[{"ring-offset":ne()}],"inset-ring-w":[{"inset-ring":ce()}],"inset-ring-color":[{"inset-ring":ne()}],"text-shadow":[{"text-shadow":["none",b,Yc,Kc]}],"text-shadow-color":[{"text-shadow":ne()}],opacity:[{opacity:[He,Ee,Ce]}],"mix-blend":[{"mix-blend":[...be(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":be()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[He]}],"mask-image-linear-from-pos":[{"mask-linear-from":xe()}],"mask-image-linear-to-pos":[{"mask-linear-to":xe()}],"mask-image-linear-from-color":[{"mask-linear-from":ne()}],"mask-image-linear-to-color":[{"mask-linear-to":ne()}],"mask-image-t-from-pos":[{"mask-t-from":xe()}],"mask-image-t-to-pos":[{"mask-t-to":xe()}],"mask-image-t-from-color":[{"mask-t-from":ne()}],"mask-image-t-to-color":[{"mask-t-to":ne()}],"mask-image-r-from-pos":[{"mask-r-from":xe()}],"mask-image-r-to-pos":[{"mask-r-to":xe()}],"mask-image-r-from-color":[{"mask-r-from":ne()}],"mask-image-r-to-color":[{"mask-r-to":ne()}],"mask-image-b-from-pos":[{"mask-b-from":xe()}],"mask-image-b-to-pos":[{"mask-b-to":xe()}],"mask-image-b-from-color":[{"mask-b-from":ne()}],"mask-image-b-to-color":[{"mask-b-to":ne()}],"mask-image-l-from-pos":[{"mask-l-from":xe()}],"mask-image-l-to-pos":[{"mask-l-to":xe()}],"mask-image-l-from-color":[{"mask-l-from":ne()}],"mask-image-l-to-color":[{"mask-l-to":ne()}],"mask-image-x-from-pos":[{"mask-x-from":xe()}],"mask-image-x-to-pos":[{"mask-x-to":xe()}],"mask-image-x-from-color":[{"mask-x-from":ne()}],"mask-image-x-to-color":[{"mask-x-to":ne()}],"mask-image-y-from-pos":[{"mask-y-from":xe()}],"mask-image-y-to-pos":[{"mask-y-to":xe()}],"mask-image-y-from-color":[{"mask-y-from":ne()}],"mask-image-y-to-color":[{"mask-y-to":ne()}],"mask-image-radial":[{"mask-radial":[Ee,Ce]}],"mask-image-radial-from-pos":[{"mask-radial-from":xe()}],"mask-image-radial-to-pos":[{"mask-radial-to":xe()}],"mask-image-radial-from-color":[{"mask-radial-from":ne()}],"mask-image-radial-to-color":[{"mask-radial-to":ne()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":N()}],"mask-image-conic-pos":[{"mask-conic":[He]}],"mask-image-conic-from-pos":[{"mask-conic-from":xe()}],"mask-image-conic-to-pos":[{"mask-conic-to":xe()}],"mask-image-conic-from-color":[{"mask-conic-from":ne()}],"mask-image-conic-to-color":[{"mask-conic-to":ne()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:D()}],"mask-repeat":[{mask:M()}],"mask-size":[{mask:B()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Ee,Ce]}],filter:[{filter:["","none",Ee,Ce]}],blur:[{blur:Oe()}],brightness:[{brightness:[He,Ee,Ce]}],contrast:[{contrast:[He,Ee,Ce]}],"drop-shadow":[{"drop-shadow":["","none",x,Yc,Kc]}],"drop-shadow-color":[{"drop-shadow":ne()}],grayscale:[{grayscale:["",He,Ee,Ce]}],"hue-rotate":[{"hue-rotate":[He,Ee,Ce]}],invert:[{invert:["",He,Ee,Ce]}],saturate:[{saturate:[He,Ee,Ce]}],sepia:[{sepia:["",He,Ee,Ce]}],"backdrop-filter":[{"backdrop-filter":["","none",Ee,Ce]}],"backdrop-blur":[{"backdrop-blur":Oe()}],"backdrop-brightness":[{"backdrop-brightness":[He,Ee,Ce]}],"backdrop-contrast":[{"backdrop-contrast":[He,Ee,Ce]}],"backdrop-grayscale":[{"backdrop-grayscale":["",He,Ee,Ce]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[He,Ee,Ce]}],"backdrop-invert":[{"backdrop-invert":["",He,Ee,Ce]}],"backdrop-opacity":[{"backdrop-opacity":[He,Ee,Ce]}],"backdrop-saturate":[{"backdrop-saturate":[He,Ee,Ce]}],"backdrop-sepia":[{"backdrop-sepia":["",He,Ee,Ce]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":F()}],"border-spacing-x":[{"border-spacing-x":F()}],"border-spacing-y":[{"border-spacing-y":F()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Ee,Ce]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[He,"initial",Ee,Ce]}],ease:[{ease:["linear","initial",R,Ee,Ce]}],delay:[{delay:[He,Ee,Ce]}],animate:[{animate:["none",T,Ee,Ce]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[_,Ee,Ce]}],"perspective-origin":[{"perspective-origin":z()}],rotate:[{rotate:Ie()}],"rotate-x":[{"rotate-x":Ie()}],"rotate-y":[{"rotate-y":Ie()}],"rotate-z":[{"rotate-z":Ie()}],scale:[{scale:Ve()}],"scale-x":[{"scale-x":Ve()}],"scale-y":[{"scale-y":Ve()}],"scale-z":[{"scale-z":Ve()}],"scale-3d":["scale-3d"],skew:[{skew:it()}],"skew-x":[{"skew-x":it()}],"skew-y":[{"skew-y":it()}],transform:[{transform:[Ee,Ce,"","none","gpu","cpu"]}],"transform-origin":[{origin:z()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Qe()}],"translate-x":[{"translate-x":Qe()}],"translate-y":[{"translate-y":Qe()}],"translate-z":[{"translate-z":Qe()}],"translate-none":["translate-none"],zoom:[{zoom:[Rr,Ee,Ce]}],accent:[{accent:ne()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:ne()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Ee,Ce]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":ne()}],"scrollbar-track-color":[{"scrollbar-track":ne()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":F()}],"scroll-mx":[{"scroll-mx":F()}],"scroll-my":[{"scroll-my":F()}],"scroll-ms":[{"scroll-ms":F()}],"scroll-me":[{"scroll-me":F()}],"scroll-mbs":[{"scroll-mbs":F()}],"scroll-mbe":[{"scroll-mbe":F()}],"scroll-mt":[{"scroll-mt":F()}],"scroll-mr":[{"scroll-mr":F()}],"scroll-mb":[{"scroll-mb":F()}],"scroll-ml":[{"scroll-ml":F()}],"scroll-p":[{"scroll-p":F()}],"scroll-px":[{"scroll-px":F()}],"scroll-py":[{"scroll-py":F()}],"scroll-ps":[{"scroll-ps":F()}],"scroll-pe":[{"scroll-pe":F()}],"scroll-pbs":[{"scroll-pbs":F()}],"scroll-pbe":[{"scroll-pbe":F()}],"scroll-pt":[{"scroll-pt":F()}],"scroll-pr":[{"scroll-pr":F()}],"scroll-pb":[{"scroll-pb":F()}],"scroll-pl":[{"scroll-pl":F()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Ee,Ce]}],fill:[{fill:["none",...ne()]}],"stroke-w":[{stroke:[He,Ho,yi,ix]}],stroke:[{stroke:["none",...ne()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},ID=pD($D);function Je(...e){return ID(J1(e))}function PD({delayDuration:e=0,...n}){return f.jsx(UN,{"data-slot":"tooltip-provider",delayDuration:e,...n})}function FD({...e}){return f.jsx(HN,{"data-slot":"tooltip",...e})}function VD({...e}){return f.jsx(BN,{"data-slot":"tooltip-trigger",...e})}function UD({className:e,sideOffset:n=0,children:r,...i}){return f.jsx(qN,{children:f.jsxs(GN,{"data-slot":"tooltip-content",sideOffset:n,className:Je("z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in rounded-md bg-foreground px-3 py-1.5 text-xs text-balance text-background fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",e),...i,children:[r,f.jsx(ZN,{className:"z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground"})]})})}const Mm=new Set;function HD(e){return Mm.add(e),()=>Mm.delete(e)}function BD(){for(const e of Mm)e()}const h_=(...e)=>e.filter((n,r,i)=>!!n&&n.trim()!==""&&i.indexOf(n)===r).join(" ").trim();const qD=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const GD=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(n,r,i)=>i?i.toUpperCase():r.toLowerCase());const lx=e=>{const n=GD(e);return n.charAt(0).toUpperCase()+n.slice(1)};var Bh={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const ZD=e=>{for(const n in e)if(n.startsWith("aria-")||n==="role"||n==="title")return!0;return!1},KD=S.createContext({}),YD=()=>S.useContext(KD),QD=S.forwardRef(({color:e,size:n,strokeWidth:r,absoluteStrokeWidth:i,className:o="",children:l,iconNode:u,...d},m)=>{const{size:p=24,strokeWidth:y=2,absoluteStrokeWidth:v=!1,color:b="currentColor",className:x=""}=YD()??{},w=i??v?Number(r??y)*24/Number(n??p):r??y;return S.createElement("svg",{ref:m,...Bh,width:n??p??Bh.width,height:n??p??Bh.height,stroke:e??b,strokeWidth:w,className:h_("lucide",x,o),...!l&&!ZD(d)&&{"aria-hidden":"true"},...d},[...u.map(([_,E])=>S.createElement(_,E)),...Array.isArray(l)?l:[l]])});const Me=(e,n)=>{const r=S.forwardRef(({className:i,...o},l)=>S.createElement(QD,{ref:l,iconNode:n,className:h_(`lucide-${qD(lx(e))}`,`lucide-${e}`,i),...o}));return r.displayName=lx(e),r};const XD=[["path",{d:"M4.5 3h15",key:"c7n0jr"}],["path",{d:"M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3",key:"m1uhx7"}],["path",{d:"M6 14h12",key:"4cwo0f"}]],JD=Me("beaker",XD);const WD=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],ez=Me("book-open",WD);const tz=[["path",{d:"M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16",key:"jecpp"}],["rect",{width:"20",height:"14",x:"2",y:"6",rx:"2",key:"i6l2r4"}]],nz=Me("briefcase",tz);const rz=[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]],az=Me("bug",rz);const iz=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]],sz=Me("calendar",iz);const oz=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],m_=Me("check",oz);const lz=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Bp=Me("chevron-down",lz);const cz=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],uz=Me("chevron-right",cz);const dz=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],fz=Me("chevron-up",dz);const hz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],mz=Me("circle-check",hz);const pz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]],p_=Me("clock",pz);const gz=[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]],vz=Me("code",gz);const yz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",key:"9ktpf1"}]],bz=Me("compass",yz);const xz=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],wz=Me("copy",xz);const Sz=[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]],_z=Me("credit-card",Sz);const Cz=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],Ez=Me("database",Cz);const Rz=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],jz=Me("download",Rz);const Tz=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],Oz=Me("ellipsis",Tz);const Az=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],g_=Me("file-text",Az);const Mz=[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]],Nz=Me("flag",Mz);const Dz=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],qp=Me("folder",Dz);const zz=[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]],kz=Me("gauge",zz);const Lz=[["path",{d:"m14 13-8.381 8.38a1 1 0 0 1-3.001-3l8.384-8.381",key:"pgg06f"}],["path",{d:"m16 16 6-6",key:"vzrcl6"}],["path",{d:"m21.5 10.5-8-8",key:"a17d9x"}],["path",{d:"m8 8 6-6",key:"18bi4p"}],["path",{d:"m8.5 7.5 8 8",key:"1oyaui"}]],$z=Me("gavel",Lz);const Iz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],v_=Me("globe",Iz);const Pz=[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]],Fz=Me("graduation-cap",Pz);const Vz=[["path",{d:"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5",key:"mvr1a0"}]],Uz=Me("heart",Vz);const Hz=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]],Bz=Me("history",Hz);const qz=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],Gz=Me("image",qz);const Zz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],Kz=Me("info",Zz);const Yz=[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]],Qz=Me("layout-dashboard",Yz);const Xz=[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]],Jz=Me("lightbulb",Xz);const Wz=[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]],ek=Me("link",Wz);const tk=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],nk=Me("loader-circle",tk);const rk=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],y_=Me("lock",rk);const ak=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],ik=Me("log-out",ak);const sk=[["path",{d:"M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z",key:"q8bfy3"}],["path",{d:"M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14",key:"1853fq"}],["path",{d:"M8 6v8",key:"15ugcq"}]],ok=Me("megaphone",sk);const lk=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],ck=Me("menu",lk);const uk=[["path",{d:"M9 18V5l12-2v13",key:"1jmyc2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["circle",{cx:"18",cy:"16",r:"3",key:"1hluhg"}]],dk=Me("music",uk);const fk=[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],hk=Me("octagon-x",fk);const mk=[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]],pk=Me("package",mk);const gk=[["path",{d:"M13 21h8",key:"1jsn5i"}],["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",key:"1a8usu"}]],vk=Me("pen-line",gk);const yk=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],bk=Me("plus",yk);const xk=[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]],wk=Me("rocket",xk);const Sk=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],b_=Me("search",Sk);const _k=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Ck=Me("settings",_k);const Ek=[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]],Rk=Me("share-2",Ek);const jk=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]],x_=Me("shield",jk);const Tk=[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]],w_=Me("square-terminal",Tk);const Ok=[["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",key:"r04s7s"}]],Ak=Me("star",Ok);const Mk=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],Nk=Me("trash-2",Mk);const Dk=[["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",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],S_=Me("triangle-alert",Dk);const zk=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],kk=Me("upload",zk);const Lk=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],__=Me("users",Lk);const $k=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],Ik=Me("wrench",$k);const Pk=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],C_=Me("x",Pk);function Fk(){const e=!document.body.classList.contains("sb-open");document.body.classList.toggle("sb-open"),Qu(),e?document.getElementById("sidebar")?.querySelector(Vk)?.focus():document.getElementById("menu-btn")?.focus()}const Vk='a[href], button:not(:disabled), select, input, [tabindex]:not([tabindex="-1"])';function mr(){const e=document.body.classList.contains("sb-open");document.body.classList.remove("sb-open"),Qu(),e&&window.innerWidth<=ou&&document.getElementById("menu-btn")?.focus()}const ou=900;function Qu(){const e=document.getElementById("sidebar");if(!e)return;const n=document.body.classList.contains("sb-open");window.innerWidth<=ou&&!n?e.setAttribute("inert",""):e.removeAttribute("inert");const i=document.getElementById("main");i&&(n&&window.innerWidth<=ou?i.setAttribute("inert",""):i.removeAttribute("inert")),e.setAttribute("aria-modal",String(n&&window.innerWidth<=ou)),document.getElementById("menu-btn")?.setAttribute("aria-expanded",String(n))}typeof window<"u"&&(window.addEventListener("resize",Qu),window.addEventListener("keydown",e=>{e.key==="Escape"&&document.body.classList.contains("sb-open")&&mr()}));const Uk={alert:S_,card:_z,check:m_,chev:uz,chevd:Bp,clock:p_,copy:wz,doc:g_,dots:Oz,download:jz,folder:qp,dashboard:Qz,gear:Ck,globe:v_,hist:Bz,link:ek,lock:y_,menu:ck,plus:bk,power:ik,search:b_,share:Rk,shield:x_,terminal:w_,trash:Nk,upload:kk,users:__,x:C_};function ut({name:e}){const n=Uk[e];return n?f.jsx(n,{className:"ico","aria-hidden":"true"}):null}const Nm={folder:qp,"book-open":ez,"file-text":g_,"pen-line":vk,users:__,briefcase:nz,megaphone:ok,rocket:wk,lightbulb:Jz,flag:Nz,star:Ak,heart:Uz,code:vz,"square-terminal":w_,bug:az,wrench:Ik,database:Ez,package:pk,beaker:JD,gauge:kz,shield:x_,lock:y_,gavel:$z,globe:v_,compass:bz,calendar:sz,clock:p_,"graduation-cap":Fz,image:Gz,music:dk};function $s({name:e,className:n}){const r=e??"",i=Object.hasOwn(Nm,r)?Nm[r]:qp;return f.jsx(i,{className:n,"aria-hidden":"true"})}function Hk({size:e=22}){return f.jsxs("svg",{width:e,height:e,viewBox:"0 0 32 32",fill:"currentColor",role:"img","aria-label":"BearDrive",children:[f.jsx("rect",{x:"4",y:"4",width:"5.6",height:"24"}),f.jsx("rect",{x:"11.2",y:"4",width:"14.4",height:"11.2"}),f.jsx("rect",{x:"11.2",y:"16.8",width:"16.8",height:"11.2"})]})}function Su(e){const n=["page",e.width??"app",e.className].filter(Boolean).join(" ");return f.jsx("div",{className:n,children:e.children})}function Bk(e){e&&Qu()}function ul(e){return f.jsxs(f.Fragment,{children:[f.jsx("div",{id:"sb-backdrop",onClick:mr}),f.jsxs("aside",{id:"sidebar",ref:Bk,children:[e.vault,e.projectsNav,e.tree??f.jsx("nav",{id:"tree","aria-label":"Files"}),e.orgBar]}),f.jsxs("main",{id:"main",children:[e.topbar,f.jsx("article",{id:"content",ref:e.contentRef,onScroll:e.onContentScroll,children:e.children})]})]})}function Xu(e){const{name:n,onHome:r,showSignout:i,search:o,beta:l}=e;return f.jsxs("header",{id:"vault",children:[f.jsx("span",{id:"vault-badge",children:f.jsx(Hk,{size:22})}),f.jsx("span",{id:"vault-name",className:r?"vault-link":void 0,onClick:r,role:r?"button":void 0,tabIndex:r?0:void 0,onKeyDown:u=>{r&&(u.key==="Enter"||u.key===" ")&&(u.preventDefault(),r())},children:n}),l&&f.jsx("span",{id:"vault-beta",children:"Beta"}),f.jsxs("div",{className:"vault-actions",children:[o&&f.jsxs(FD,{delayDuration:150,children:[f.jsx(VD,{asChild:!0,children:f.jsx("button",{id:"search-btn",className:"icon-btn2","aria-label":"Search",onClick:()=>{BD(),mr()},children:f.jsx(ut,{name:"search"})})}),f.jsxs(UD,{className:"tipcard",sideOffset:6,children:["Search ",f.jsx("kbd",{children:"⌘K"})]})]}),i&&f.jsx("a",{id:"signout",href:"/auth/logout",title:"Sign out","aria-label":"Sign out",children:f.jsx(ut,{name:"power"})})]})]})}function dl(e){return f.jsxs("header",{id:"topbar",children:[f.jsx("button",{id:"menu-btn",className:"icon-btn",title:"Menu","aria-label":"Menu","aria-controls":"sidebar","aria-expanded":"false",onClick:Fk,children:f.jsx(ut,{name:"menu"})}),f.jsx("span",{id:"crumb",children:e.crumb}),f.jsx("span",{id:"meta",children:e.meta}),e.actions]})}function qk(e){if(typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}const Gk=e=>{switch(e){case"success":return Yk;case"info":return Xk;case"warning":return Qk;case"error":return Jk;default:return null}},Zk=Array(12).fill(0),Kk=({visible:e,className:n})=>pe.createElement("div",{className:["sonner-loading-wrapper",n].filter(Boolean).join(" "),"data-visible":e},pe.createElement("div",{className:"sonner-spinner"},Zk.map((r,i)=>pe.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${i}`})))),Yk=pe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},pe.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),Qk=pe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},pe.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),Xk=pe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},pe.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),Jk=pe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},pe.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),Wk=pe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},pe.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),pe.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),e3=()=>{const[e,n]=pe.useState(document.hidden);return pe.useEffect(()=>{const r=()=>{n(document.hidden)};return document.addEventListener("visibilitychange",r),()=>window.removeEventListener("visibilitychange",r)},[]),e};let Dm=1;class t3{constructor(){this.subscribe=n=>(this.subscribers.push(n),()=>{const r=this.subscribers.indexOf(n);this.subscribers.splice(r,1)}),this.publish=n=>{this.subscribers.forEach(r=>r(n))},this.addToast=n=>{this.publish(n),this.toasts=[...this.toasts,n]},this.create=n=>{var r;const{message:i,...o}=n,l=typeof n?.id=="number"||((r=n.id)==null?void 0:r.length)>0?n.id:Dm++,u=this.toasts.find(m=>m.id===l),d=n.dismissible===void 0?!0:n.dismissible;return this.dismissedToasts.has(l)&&this.dismissedToasts.delete(l),u?this.toasts=this.toasts.map(m=>m.id===l?(this.publish({...m,...n,id:l,title:i}),{...m,...n,id:l,dismissible:d,title:i}):m):this.addToast({title:i,...o,dismissible:d,id:l}),l},this.dismiss=n=>(n?(this.dismissedToasts.add(n),requestAnimationFrame(()=>this.subscribers.forEach(r=>r({id:n,dismiss:!0})))):this.toasts.forEach(r=>{this.subscribers.forEach(i=>i({id:r.id,dismiss:!0}))}),n),this.message=(n,r)=>this.create({...r,message:n}),this.error=(n,r)=>this.create({...r,message:n,type:"error"}),this.success=(n,r)=>this.create({...r,type:"success",message:n}),this.info=(n,r)=>this.create({...r,type:"info",message:n}),this.warning=(n,r)=>this.create({...r,type:"warning",message:n}),this.loading=(n,r)=>this.create({...r,type:"loading",message:n}),this.promise=(n,r)=>{if(!r)return;let i;r.loading!==void 0&&(i=this.create({...r,promise:n,type:"loading",message:r.loading,description:typeof r.description!="function"?r.description:void 0}));const o=Promise.resolve(n instanceof Function?n():n);let l=i!==void 0,u;const d=o.then(async p=>{if(u=["resolve",p],pe.isValidElement(p))l=!1,this.create({id:i,type:"default",message:p});else if(r3(p)&&!p.ok){l=!1;const v=typeof r.error=="function"?await r.error(`HTTP error! status: ${p.status}`):r.error,b=typeof r.description=="function"?await r.description(`HTTP error! status: ${p.status}`):r.description,w=typeof v=="object"&&!pe.isValidElement(v)?v:{message:v};this.create({id:i,type:"error",description:b,...w})}else if(p instanceof Error){l=!1;const v=typeof r.error=="function"?await r.error(p):r.error,b=typeof r.description=="function"?await r.description(p):r.description,w=typeof v=="object"&&!pe.isValidElement(v)?v:{message:v};this.create({id:i,type:"error",description:b,...w})}else if(r.success!==void 0){l=!1;const v=typeof r.success=="function"?await r.success(p):r.success,b=typeof r.description=="function"?await r.description(p):r.description,w=typeof v=="object"&&!pe.isValidElement(v)?v:{message:v};this.create({id:i,type:"success",description:b,...w})}}).catch(async p=>{if(u=["reject",p],r.error!==void 0){l=!1;const y=typeof r.error=="function"?await r.error(p):r.error,v=typeof r.description=="function"?await r.description(p):r.description,x=typeof y=="object"&&!pe.isValidElement(y)?y:{message:y};this.create({id:i,type:"error",description:v,...x})}}).finally(()=>{l&&(this.dismiss(i),i=void 0),r.finally==null||r.finally.call(r)}),m=()=>new Promise((p,y)=>d.then(()=>u[0]==="reject"?y(u[1]):p(u[1])).catch(y));return typeof i!="string"&&typeof i!="number"?{unwrap:m}:Object.assign(i,{unwrap:m})},this.custom=(n,r)=>{const i=r?.id||Dm++;return this.create({jsx:n(i),id:i,...r}),i},this.getActiveToasts=()=>this.toasts.filter(n=>!this.dismissedToasts.has(n.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}const Tn=new t3,n3=(e,n)=>{const r=n?.id||Dm++;return Tn.addToast({title:e,...n,id:r}),r},r3=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",a3=n3,i3=()=>Tn.toasts,s3=()=>Tn.getActiveToasts(),cx=Object.assign(a3,{success:Tn.success,info:Tn.info,warning:Tn.warning,error:Tn.error,custom:Tn.custom,message:Tn.message,promise:Tn.promise,dismiss:Tn.dismiss,loading:Tn.loading},{getHistory:i3,getToasts:s3});qk("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");function Qc(e){return e.label!==void 0}const o3=3,l3="24px",c3="16px",ux=4e3,u3=356,d3=14,f3=45,h3=200;function jr(...e){return e.filter(Boolean).join(" ")}function m3(e){const[n,r]=e.split("-"),i=[];return n&&i.push(n),r&&i.push(r),i}const p3=e=>{var n,r,i,o,l,u,d,m,p;const{invert:y,toast:v,unstyled:b,interacting:x,setHeights:w,visibleToasts:_,heights:E,index:R,toasts:T,expanded:O,removeToast:N,defaultRichColors:z,closeButton:U,style:$,cancelButtonStyle:F,actionButtonStyle:ve,className:ye="",descriptionClassName:me="",duration:de,position:le,gap:te,expandByDefault:ge,classNames:L,icons:K,closeButtonAriaLabel:re="Close toast"}=e,[W,ne]=pe.useState(null),[D,M]=pe.useState(null),[B,X]=pe.useState(!1),[Y,ce]=pe.useState(!1),[ae,be]=pe.useState(!1),[xe,Oe]=pe.useState(!1),[Ie,Ve]=pe.useState(!1),[it,Qe]=pe.useState(0),[fn,hn]=pe.useState(0),Qt=pe.useRef(v.duration||de||ux),br=pe.useRef(null),jt=pe.useRef(null),rr=R===0,xr=R+1<=_,Tt=v.type,Vn=v.dismissible!==!1,Dt=v.className||"",kr=v.descriptionClassName||"",ar=pe.useMemo(()=>E.findIndex(Ne=>Ne.toastId===v.id)||0,[E,v.id]),ir=pe.useMemo(()=>{var Ne;return(Ne=v.closeButton)!=null?Ne:U},[v.closeButton,U]),wr=pe.useMemo(()=>v.duration||de||ux,[v.duration,de]),sr=pe.useRef(0),mn=pe.useRef(0),A=pe.useRef(0),P=pe.useRef(null),[V,ue]=le.split("-"),Z=pe.useMemo(()=>E.reduce((Ne,ht,yt)=>yt>=ar?Ne:Ne+ht.height,0),[E,ar]),J=e3(),fe=v.invert||y,we=Tt==="loading";mn.current=pe.useMemo(()=>ar*te+Z,[ar,Z]),pe.useEffect(()=>{Qt.current=wr},[wr]),pe.useEffect(()=>{X(!0)},[]),pe.useEffect(()=>{const Ne=jt.current;if(Ne){const ht=Ne.getBoundingClientRect().height;return hn(ht),w(yt=>[{toastId:v.id,height:ht,position:v.position},...yt]),()=>w(yt=>yt.filter(qt=>qt.toastId!==v.id))}},[w,v.id]),pe.useLayoutEffect(()=>{if(!B)return;const Ne=jt.current,ht=Ne.style.height;Ne.style.height="auto";const yt=Ne.getBoundingClientRect().height;Ne.style.height=ht,hn(yt),w(qt=>qt.find(St=>St.toastId===v.id)?qt.map(St=>St.toastId===v.id?{...St,height:yt}:St):[{toastId:v.id,height:yt,position:v.position},...qt])},[B,v.title,v.description,w,v.id,v.jsx,v.action,v.cancel]);const _e=pe.useCallback(()=>{ce(!0),Qe(mn.current),w(Ne=>Ne.filter(ht=>ht.toastId!==v.id)),setTimeout(()=>{N(v)},h3)},[v,N,w,mn]);pe.useEffect(()=>{if(v.promise&&Tt==="loading"||v.duration===1/0||v.type==="loading")return;let Ne;return O||x||J?(()=>{if(A.current{v.onAutoClose==null||v.onAutoClose.call(v,v),_e()},Qt.current)),()=>clearTimeout(Ne)},[O,x,v,Tt,J,_e]),pe.useEffect(()=>{v.delete&&(_e(),v.onDismiss==null||v.onDismiss.call(v,v))},[_e,v.delete]);function Xe(){var Ne;if(K?.loading){var ht;return pe.createElement("div",{className:jr(L?.loader,v==null||(ht=v.classNames)==null?void 0:ht.loader,"sonner-loader"),"data-visible":Tt==="loading"},K.loading)}return pe.createElement(Kk,{className:jr(L?.loader,v==null||(Ne=v.classNames)==null?void 0:Ne.loader),visible:Tt==="loading"})}const wt=v.icon||K?.[Tt]||Gk(Tt);var Xt,zt;return pe.createElement("li",{tabIndex:0,ref:jt,className:jr(ye,Dt,L?.toast,v==null||(n=v.classNames)==null?void 0:n.toast,L?.default,L?.[Tt],v==null||(r=v.classNames)==null?void 0:r[Tt]),"data-sonner-toast":"","data-rich-colors":(Xt=v.richColors)!=null?Xt:z,"data-styled":!(v.jsx||v.unstyled||b),"data-mounted":B,"data-promise":!!v.promise,"data-swiped":Ie,"data-removed":Y,"data-visible":xr,"data-y-position":V,"data-x-position":ue,"data-index":R,"data-front":rr,"data-swiping":ae,"data-dismissible":Vn,"data-type":Tt,"data-invert":fe,"data-swipe-out":xe,"data-swipe-direction":D,"data-expanded":!!(O||ge&&B),"data-testid":v.testId,style:{"--index":R,"--toasts-before":R,"--z-index":T.length-R,"--offset":`${Y?it:mn.current}px`,"--initial-height":ge?"auto":`${fn}px`,...$,...v.style},onDragEnd:()=>{be(!1),ne(null),P.current=null},onPointerDown:Ne=>{Ne.button!==2&&(we||!Vn||(br.current=new Date,Qe(mn.current),Ne.target.setPointerCapture(Ne.pointerId),Ne.target.tagName!=="BUTTON"&&(be(!0),P.current={x:Ne.clientX,y:Ne.clientY})))},onPointerUp:()=>{var Ne,ht,yt;if(xe||!Vn)return;P.current=null;const qt=Number(((Ne=jt.current)==null?void 0:Ne.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),or=Number(((ht=jt.current)==null?void 0:ht.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),St=new Date().getTime()-((yt=br.current)==null?void 0:yt.getTime()),yn=W==="x"?qt:or,Wa=Math.abs(yn)/St;if(Math.abs(yn)>=f3||Wa>.11){Qe(mn.current),v.onDismiss==null||v.onDismiss.call(v,v),M(W==="x"?qt>0?"right":"left":or>0?"down":"up"),_e(),Oe(!0);return}else{var bn,xn;(bn=jt.current)==null||bn.style.setProperty("--swipe-amount-x","0px"),(xn=jt.current)==null||xn.style.setProperty("--swipe-amount-y","0px")}Ve(!1),be(!1),ne(null)},onPointerMove:Ne=>{var ht,yt,qt;if(!P.current||!Vn||((ht=window.getSelection())==null?void 0:ht.toString().length)>0)return;const St=Ne.clientY-P.current.y,yn=Ne.clientX-P.current.x;var Wa;const bn=(Wa=e.swipeDirections)!=null?Wa:m3(le);!W&&(Math.abs(yn)>1||Math.abs(St)>1)&&ne(Math.abs(yn)>Math.abs(St)?"x":"y");let xn={x:0,y:0};const Ii=lr=>1/(1.5+Math.abs(lr)/20);if(W==="y"){if(bn.includes("top")||bn.includes("bottom"))if(bn.includes("top")&&St<0||bn.includes("bottom")&&St>0)xn.y=St;else{const lr=St*Ii(St);xn.y=Math.abs(lr)0)xn.x=yn;else{const lr=yn*Ii(yn);xn.x=Math.abs(lr)0||Math.abs(xn.y)>0)&&Ve(!0),(yt=jt.current)==null||yt.style.setProperty("--swipe-amount-x",`${xn.x}px`),(qt=jt.current)==null||qt.style.setProperty("--swipe-amount-y",`${xn.y}px`)}},ir&&!v.jsx&&Tt!=="loading"?pe.createElement("button",{"aria-label":re,"data-disabled":we,"data-close-button":!0,onClick:we||!Vn?()=>{}:()=>{_e(),v.onDismiss==null||v.onDismiss.call(v,v)},className:jr(L?.closeButton,v==null||(i=v.classNames)==null?void 0:i.closeButton)},(zt=K?.close)!=null?zt:Wk):null,(Tt||v.icon||v.promise)&&v.icon!==null&&(K?.[Tt]!==null||v.icon)?pe.createElement("div",{"data-icon":"",className:jr(L?.icon,v==null||(o=v.classNames)==null?void 0:o.icon)},v.promise||v.type==="loading"&&!v.icon?v.icon||Xe():null,v.type!=="loading"?wt:null):null,pe.createElement("div",{"data-content":"",className:jr(L?.content,v==null||(l=v.classNames)==null?void 0:l.content)},pe.createElement("div",{"data-title":"",className:jr(L?.title,v==null||(u=v.classNames)==null?void 0:u.title)},v.jsx?v.jsx:typeof v.title=="function"?v.title():v.title),v.description?pe.createElement("div",{"data-description":"",className:jr(me,kr,L?.description,v==null||(d=v.classNames)==null?void 0:d.description)},typeof v.description=="function"?v.description():v.description):null),pe.isValidElement(v.cancel)?v.cancel:v.cancel&&Qc(v.cancel)?pe.createElement("button",{"data-button":!0,"data-cancel":!0,style:v.cancelButtonStyle||F,onClick:Ne=>{Qc(v.cancel)&&Vn&&(v.cancel.onClick==null||v.cancel.onClick.call(v.cancel,Ne),_e())},className:jr(L?.cancelButton,v==null||(m=v.classNames)==null?void 0:m.cancelButton)},v.cancel.label):null,pe.isValidElement(v.action)?v.action:v.action&&Qc(v.action)?pe.createElement("button",{"data-button":!0,"data-action":!0,style:v.actionButtonStyle||ve,onClick:Ne=>{Qc(v.action)&&(v.action.onClick==null||v.action.onClick.call(v.action,Ne),!Ne.defaultPrevented&&_e())},className:jr(L?.actionButton,v==null||(p=v.classNames)==null?void 0:p.actionButton)},v.action.label):null)};function dx(){if(typeof window>"u"||typeof document>"u")return"ltr";const e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}function g3(e,n){const r={};return[e,n].forEach((i,o)=>{const l=o===1,u=l?"--mobile-offset":"--offset",d=l?c3:l3;function m(p){["top","right","bottom","left"].forEach(y=>{r[`${u}-${y}`]=typeof p=="number"?`${p}px`:p})}typeof i=="number"||typeof i=="string"?m(i):typeof i=="object"?["top","right","bottom","left"].forEach(p=>{i[p]===void 0?r[`${u}-${p}`]=d:r[`${u}-${p}`]=typeof i[p]=="number"?`${i[p]}px`:i[p]}):m(d)}),r}const v3=pe.forwardRef(function(n,r){const{id:i,invert:o,position:l="bottom-right",hotkey:u=["altKey","KeyT"],expand:d,closeButton:m,className:p,offset:y,mobileOffset:v,theme:b="light",richColors:x,duration:w,style:_,visibleToasts:E=o3,toastOptions:R,dir:T=dx(),gap:O=d3,icons:N,containerAriaLabel:z="Notifications"}=n,[U,$]=pe.useState([]),F=pe.useMemo(()=>i?U.filter(B=>B.toasterId===i):U.filter(B=>!B.toasterId),[U,i]),ve=pe.useMemo(()=>Array.from(new Set([l].concat(F.filter(B=>B.position).map(B=>B.position)))),[F,l]),[ye,me]=pe.useState([]),[de,le]=pe.useState(!1),[te,ge]=pe.useState(!1),[L,K]=pe.useState(b!=="system"?b:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),re=pe.useRef(null),W=u.join("+").replace(/Key/g,"").replace(/Digit/g,""),ne=pe.useRef(null),D=pe.useRef(!1),M=pe.useCallback(B=>{$(X=>{var Y;return(Y=X.find(ce=>ce.id===B.id))!=null&&Y.delete||Tn.dismiss(B.id),X.filter(({id:ce})=>ce!==B.id)})},[]);return pe.useEffect(()=>Tn.subscribe(B=>{if(B.dismiss){requestAnimationFrame(()=>{$(X=>X.map(Y=>Y.id===B.id?{...Y,delete:!0}:Y))});return}setTimeout(()=>{xj.flushSync(()=>{$(X=>{const Y=X.findIndex(ce=>ce.id===B.id);return Y!==-1?[...X.slice(0,Y),{...X[Y],...B},...X.slice(Y+1)]:[B,...X]})})})}),[U]),pe.useEffect(()=>{if(b!=="system"){K(b);return}if(b==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?K("dark"):K("light")),typeof window>"u")return;const B=window.matchMedia("(prefers-color-scheme: dark)");try{B.addEventListener("change",({matches:X})=>{K(X?"dark":"light")})}catch{B.addListener(({matches:Y})=>{try{K(Y?"dark":"light")}catch(ce){console.error(ce)}})}},[b]),pe.useEffect(()=>{U.length<=1&&le(!1)},[U]),pe.useEffect(()=>{const B=X=>{var Y;if(u.every(be=>X[be]||X.code===be)){var ae;le(!0),(ae=re.current)==null||ae.focus()}X.code==="Escape"&&(document.activeElement===re.current||(Y=re.current)!=null&&Y.contains(document.activeElement))&&le(!1)};return document.addEventListener("keydown",B),()=>document.removeEventListener("keydown",B)},[u]),pe.useEffect(()=>{if(re.current)return()=>{ne.current&&(ne.current.focus({preventScroll:!0}),ne.current=null,D.current=!1)}},[re.current]),pe.createElement("section",{ref:r,"aria-label":`${z} ${W}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},ve.map((B,X)=>{var Y;const[ce,ae]=B.split("-");return F.length?pe.createElement("ol",{key:B,dir:T==="auto"?dx():T,tabIndex:-1,ref:re,className:p,"data-sonner-toaster":!0,"data-sonner-theme":L,"data-y-position":ce,"data-x-position":ae,style:{"--front-toast-height":`${((Y=ye[0])==null?void 0:Y.height)||0}px`,"--width":`${u3}px`,"--gap":`${O}px`,..._,...g3(y,v)},onBlur:be=>{D.current&&!be.currentTarget.contains(be.relatedTarget)&&(D.current=!1,ne.current&&(ne.current.focus({preventScroll:!0}),ne.current=null))},onFocus:be=>{be.target instanceof HTMLElement&&be.target.dataset.dismissible==="false"||D.current||(D.current=!0,ne.current=be.relatedTarget)},onMouseEnter:()=>le(!0),onMouseMove:()=>le(!0),onMouseLeave:()=>{te||le(!1)},onDragEnd:()=>le(!1),onPointerDown:be=>{be.target instanceof HTMLElement&&be.target.dataset.dismissible==="false"||ge(!0)},onPointerUp:()=>ge(!1)},F.filter(be=>!be.position&&X===0||be.position===B).map((be,xe)=>{var Oe,Ie;return pe.createElement(p3,{key:be.id,icons:N,index:xe,toast:be,defaultRichColors:x,duration:(Oe=R?.duration)!=null?Oe:w,className:R?.className,descriptionClassName:R?.descriptionClassName,invert:o,visibleToasts:E,closeButton:(Ie=R?.closeButton)!=null?Ie:m,interacting:te,position:B,style:R?.style,unstyled:R?.unstyled,classNames:R?.classNames,cancelButtonStyle:R?.cancelButtonStyle,actionButtonStyle:R?.actionButtonStyle,closeButtonAriaLabel:R?.closeButtonAriaLabel,removeToast:M,toasts:F.filter(Ve=>Ve.position==be.position),heights:ye.filter(Ve=>Ve.position==be.position),setHeights:me,expandByDefault:d,gap:O,expanded:de,swipeDirections:n.swipeDirections})})):null}))}),y3=({...e})=>f.jsx(v3,{theme:"dark",className:"toaster group",icons:{success:f.jsx(mz,{className:"size-4"}),info:f.jsx(Kz,{className:"size-4"}),warning:f.jsx(S_,{className:"size-4"}),error:f.jsx(hk,{className:"size-4"}),loading:f.jsx(nk,{className:"size-4 animate-spin"})},style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)","--border-radius":"var(--radius-ctl)"},...e});function Ke(e,n=!1){n?cx.error(e,{duration:1/0,closeButton:!0}):cx(e)}function b3(){return f.jsx(y3,{position:"bottom-center"})}const fx=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,hx=J1,x3=(e,n)=>r=>{var i;if(n?.variants==null)return hx(e,r?.class,r?.className);const{variants:o,defaultVariants:l}=n,u=Object.keys(o).map(p=>{const y=r?.[p],v=l?.[p];if(y===null)return null;const b=fx(y)||fx(v);return o[p][b]}),d=r&&Object.entries(r).reduce((p,y)=>{let[v,b]=y;return b===void 0||(p[v]=b),p},{}),m=n==null||(i=n.compoundVariants)===null||i===void 0?void 0:i.reduce((p,y)=>{let{class:v,className:b,...x}=y;return Object.entries(x).every(w=>{let[_,E]=w;return Array.isArray(E)?E.includes({...l,...d}[_]):{...l,...d}[_]===E})?[...p,v,b]:p},[]);return hx(e,u,m,r?.class,r?.className)},w3=x3("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-[background-color,border-color,color] disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",primary:"pbtn",danger:"danger-btn",subtle:"ai-btn",toolbar:"btn",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function vt({className:e,variant:n="default",size:r="default",asChild:i=!1,...o}){const l=i?wj:"button";return f.jsx(l,{"data-slot":"button","data-variant":n,"data-size":r,className:Je(w3({variant:n,size:r,className:e})),...o})}function Ju({...e}){return f.jsx(hp,{"data-slot":"dialog",...e})}function S3({...e}){return f.jsx(pp,{"data-slot":"dialog-portal",...e})}function _3({className:e,...n}){return f.jsx(gp,{"data-slot":"dialog-overlay",className:Je("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",e),...n})}function Wu({className:e,children:n,showCloseButton:r=!0,...i}){return f.jsxs(S3,{"data-slot":"dialog-portal",children:[f.jsx(_3,{}),f.jsxs(vp,{"data-slot":"dialog-content",className:Je("fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg",e),...i,children:[n,r&&f.jsxs(aS,{"data-slot":"dialog-close",className:"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[f.jsx(C_,{}),f.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function _l({className:e,...n}){return f.jsx(tS,{"data-slot":"dialog-title",className:Je("text-lg leading-none font-semibold",e),...n})}let E_=null,lu=[];function Cl(e){E_=e,lu.forEach(n=>n())}function R_(e,n,r="",i="OK",o={}){return new Promise(l=>Cl({kind:"prompt",title:e,label:n,value:r,okLabel:i,...o,resolve:l}))}function wi(e,n,r="Confirm",i=!1){return new Promise(o=>Cl({kind:"confirm",title:e,message:n,confirmLabel:r,danger:i,resolve:o}))}function C3(){const e=S.useSyncExternalStore(r=>(lu.push(r),()=>{lu=lu.filter(i=>i!==r)}),()=>E_);if(!e)return null;const n=()=>{Cl(null),e.kind==="prompt"?e.resolve(null):e.resolve(!1)};return f.jsx(Ju,{open:!0,onOpenChange:r=>!r&&n(),children:f.jsx(Wu,{className:"modal",showCloseButton:!1,children:e.kind==="prompt"?f.jsx(E3,{m:e}):f.jsx(R3,{m:e})})})}function E3({m:e}){const n=S.useRef(null),r=p=>{Cl(null),e.resolve(p)},[i,o]=S.useState(""),[l,u]=S.useState(e.value),d=e.match===void 0||l.trim()===e.match,m=()=>{const p=l;if(d){if(!p.trim()){o("Give it a name."),n.current.focus();return}r(p)}};return f.jsxs(f.Fragment,{children:[f.jsx(_l,{asChild:!0,children:f.jsx("h3",{children:e.title})}),f.jsx("label",{className:"modal-label",htmlFor:"modal-input",children:e.label}),f.jsx("input",{className:"modal-input",type:"text",autoComplete:"off",value:l,ref:n,id:"modal-input",autoFocus:!0,onFocus:p=>p.currentTarget.select(),"aria-invalid":!!i,"aria-describedby":i?"modal-input-err":void 0,onChange:p=>{u(p.currentTarget.value),i&&o("")},onKeyDown:p=>p.key==="Enter"&&m()}),i&&f.jsx("span",{id:"modal-input-err",role:"alert",className:"field-err",children:i}),f.jsxs("div",{className:"modal-actions",children:[f.jsx(vt,{variant:"subtle",onClick:()=>r(null),children:"Cancel"}),f.jsx(vt,{variant:e.danger?"danger":"primary",onClick:m,disabled:!d,children:e.okLabel})]})]})}function R3({m:e}){const n=r=>{Cl(null),e.resolve(r)};return f.jsxs(f.Fragment,{children:[f.jsx(_l,{asChild:!0,children:f.jsx("h3",{children:e.title})}),f.jsx("p",{className:"modal-msg",children:e.message}),f.jsxs("div",{className:"modal-actions",children:[f.jsx(vt,{variant:"subtle",onClick:()=>n(!1),autoFocus:e.danger,children:"Cancel"}),f.jsx(vt,{variant:e.danger?"danger":"primary",onClick:()=>n(!0),autoFocus:!e.danger,children:e.confirmLabel})]})]})}function j3(e){return Pt({queryKey:["projects"],queryFn:()=>Bt("/api/projects"),enabled:e,refetchInterval:3e4,select:n=>n.projects||[]})}function T3(e){return Pt({queryKey:["orgs"],queryFn:()=>Bt("/api/orgs"),enabled:e,select:n=>n.orgs||[]})}function O3(e){return Pt({queryKey:["permissions",e],queryFn:()=>Bt(`/api/p/${e}/permissions`),enabled:!!e})}function j_(e,n=!0){return Pt({queryKey:["shares",e],queryFn:()=>Bt(`/api/p/${e}/shares`),enabled:!!e&&n,select:r=>r.shares||[]})}function T_(e){return Pt({queryKey:["admin","pending"],queryFn:()=>Bt("/api/admin/pending"),enabled:e,select:n=>n.pending||[]})}function O_(){const e=Mi();return()=>Promise.all([e.invalidateQueries({queryKey:["projects"]}),e.invalidateQueries({queryKey:["orgs"]})]).then(()=>{})}function A_(e){return e.split("/").map(encodeURIComponent).join("/")}function A3(e){try{return decodeURIComponent(e)}catch{return e}}function M_(e){return e.split("/").map(A3).join("/")}const M3=new Set(["dashboard","history","install","settings"]),mx={insights:"dashboard"};function N3(e){return Object.hasOwn(mx,e)?mx[e]:void 0}const Gp=["q","user","since","until"];function Zp(e){return!!e&&Gp.some(n=>!!e[n])}function N_(e){const n=new URLSearchParams;for(const i of Gp)e?.[i]&&n.set(i,e[i]);const r=n.toString();return r?"?"+r:""}function D_(e,n){const r=e.indexOf("?"),i=r===-1?null:new URLSearchParams(e.slice(r)),o=i?.get("v")||"",l=i?.get("connect")||"",u=D3(r===-1?e:e.slice(0,r),n);o&&(u.version=o),l&&(u.connect=l);const d={};for(const m of Gp){const p=i?.get(m);p&&(d[m]=p)}if(Zp(d)&&(u.filters=d),u.view==="history"&&!u.viewTarget){const m=(i?.get("path")||i?.get("prefix")||"").replace(/^\/+|\/+$/g,"");m&&(u.viewTarget=M_(m),u.queryTarget=!0)}return u}function px(e,n){const r=n.replace(/\/+$/,"");return r!==n&&(e.trailingSlash=!0),e.path=r?M_(r):"",e}function D3(e,n){const r=e.replace(/^\/+/,"");if(n!=="hub")return px({path:""},r);if(r==="orgs"||r.startsWith("orgs/"))return{org:r.slice(5).replace(/\/+$/,""),path:""};if(r==="billing"||r.startsWith("billing/"))return{billing:!0,path:""};const i=r.indexOf("/");if(i===-1)return{project:r,path:""};const o=px({project:r.slice(0,i),path:""},r.slice(i+1)),l=o.path.indexOf("/"),u=l===-1?o.path:o.path.slice(0,l),d=N3(u);return(M3.has(u)||d)&&(o.view=d||u,d&&(o.legacyView=!0),o.viewTarget=l===-1?"":o.path.slice(l+1).replace(/\/+$/,""),o.path=""),o}function fl(e,n,r){const i=A_(e),o=r?"?v="+r:"";return n?"/"+n+(i?"/"+i:"")+o:"/"+i+o}function Pn(e,n,r,i){let o=(n?"/"+n:"")+"/"+e;return r&&(o+="/"+A_(r.replace(/\/+$/,""))),o+(e==="history"?N_(i):"")}let Kp="POP";const zm=new Set;function z_(){for(const e of zm)e()}window.addEventListener("popstate",()=>{Kp="POP",z_()});function Kt(e,n){const r=location.pathname+location.search;!n?.replace&&r===e||(history[n?.replace?"replaceState":"pushState"](null,"",e),Kp=n?.replace?"REPLACE":"PUSH",z_())}function Yp(){return S.useSyncExternalStore(e=>(zm.add(e),()=>{zm.delete(e)}),()=>location.pathname+location.search)}function z3(){return Kp}function Bs(e){return e.startsWith("/")&&!e.startsWith("//")?{href:e,onClick:r=>{r.defaultPrevented||r.metaKey||r.ctrlKey||r.shiftKey||r.altKey||r.button!==0||(r.preventDefault(),Kt(e),document.body.classList.remove("sb-open"))}}:{href:e,target:"_blank",rel:"noopener noreferrer"}}function Qo({to:e}){return S.useEffect(()=>{Kt(e,{replace:!0})},[e]),null}function k_(){return{accessor:(e,n)=>typeof e=="function"?{...n,accessorFn:e}:{...n,accessorKey:e},display:e=>e,group:e=>e}}function Da(e,n){return typeof e=="function"?e(n):e}function Fn(e,n){return r=>{n.setState(i=>({...i,[e]:Da(r,i[e])}))}}function ed(e){return e instanceof Function}function k3(e){return Array.isArray(e)&&e.every(n=>typeof n=="number")}function L3(e,n){const r=[],i=o=>{o.forEach(l=>{r.push(l);const u=n(l);u!=null&&u.length&&i(u)})};return i(e),r}function ze(e,n,r){let i=[],o;return l=>{let u;r.key&&r.debug&&(u=Date.now());const d=e(l);if(!(d.length!==i.length||d.some((y,v)=>i[v]!==y)))return o;i=d;let p;if(r.key&&r.debug&&(p=Date.now()),o=n(...d),r==null||r.onChange==null||r.onChange(o),r.key&&r.debug&&r!=null&&r.debug()){const y=Math.round((Date.now()-u)*100)/100,v=Math.round((Date.now()-p)*100)/100,b=v/16,x=(w,_)=>{for(w=String(w);w.length<_;)w=" "+w;return w};console.info(`%c⏱ ${x(v,5)} /${x(y,5)} ms`,` font-size: .6rem; font-weight: bold; color: hsl(${Math.max(0,Math.min(120-120*b,120))}deg 100% 31%);`,r?.key)}return o}}function ke(e,n,r,i){return{debug:()=>{var o;return(o=e?.debugAll)!=null?o:e[n]},key:!1,onChange:i}}function $3(e,n,r,i){const o=()=>{var u;return(u=l.getValue())!=null?u:e.options.renderFallbackValue},l={id:`${n.id}_${r.id}`,row:n,column:r,getValue:()=>n.getValue(i),renderValue:o,getContext:ze(()=>[e,r,n,l],(u,d,m,p)=>({table:u,column:d,row:m,cell:p,getValue:p.getValue,renderValue:p.renderValue}),ke(e.options,"debugCells"))};return e._features.forEach(u=>{u.createCell==null||u.createCell(l,r,n,e)},{}),l}function I3(e,n,r,i){var o,l;const d={...e._getDefaultColumnDef(),...n},m=d.accessorKey;let p=(o=(l=d.id)!=null?l:m?typeof String.prototype.replaceAll=="function"?m.replaceAll(".","_"):m.replace(/\./g,"_"):void 0)!=null?o:typeof d.header=="string"?d.header:void 0,y;if(d.accessorFn?y=d.accessorFn:m&&(m.includes(".")?y=b=>{let x=b;for(const _ of m.split(".")){var w;x=(w=x)==null?void 0:w[_]}return x}:y=b=>b[d.accessorKey]),!p)throw new Error;let v={id:`${String(p)}`,accessorFn:y,parent:i,depth:r,columnDef:d,columns:[],getFlatColumns:ze(()=>[!0],()=>{var b;return[v,...(b=v.columns)==null?void 0:b.flatMap(x=>x.getFlatColumns())]},ke(e.options,"debugColumns")),getLeafColumns:ze(()=>[e._getOrderColumnsFn()],b=>{var x;if((x=v.columns)!=null&&x.length){let w=v.columns.flatMap(_=>_.getLeafColumns());return b(w)}return[v]},ke(e.options,"debugColumns"))};for(const b of e._features)b.createColumn==null||b.createColumn(v,e);return v}const un="debugHeaders";function gx(e,n,r){var i;let l={id:(i=r.id)!=null?i:n.id,column:n,index:r.index,isPlaceholder:!!r.isPlaceholder,placeholderId:r.placeholderId,depth:r.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{const u=[],d=m=>{m.subHeaders&&m.subHeaders.length&&m.subHeaders.map(d),u.push(m)};return d(l),u},getContext:()=>({table:e,header:l,column:n})};return e._features.forEach(u=>{u.createHeader==null||u.createHeader(l,e)}),l}const P3={createTable:e=>{e.getHeaderGroups=ze(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,r,i,o)=>{var l,u;const d=(l=i?.map(v=>r.find(b=>b.id===v)).filter(Boolean))!=null?l:[],m=(u=o?.map(v=>r.find(b=>b.id===v)).filter(Boolean))!=null?u:[],p=r.filter(v=>!(i!=null&&i.includes(v.id))&&!(o!=null&&o.includes(v.id)));return Xc(n,[...d,...p,...m],e)},ke(e.options,un)),e.getCenterHeaderGroups=ze(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,r,i,o)=>(r=r.filter(l=>!(i!=null&&i.includes(l.id))&&!(o!=null&&o.includes(l.id))),Xc(n,r,e,"center")),ke(e.options,un)),e.getLeftHeaderGroups=ze(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(n,r,i)=>{var o;const l=(o=i?.map(u=>r.find(d=>d.id===u)).filter(Boolean))!=null?o:[];return Xc(n,l,e,"left")},ke(e.options,un)),e.getRightHeaderGroups=ze(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(n,r,i)=>{var o;const l=(o=i?.map(u=>r.find(d=>d.id===u)).filter(Boolean))!=null?o:[];return Xc(n,l,e,"right")},ke(e.options,un)),e.getFooterGroups=ze(()=>[e.getHeaderGroups()],n=>[...n].reverse(),ke(e.options,un)),e.getLeftFooterGroups=ze(()=>[e.getLeftHeaderGroups()],n=>[...n].reverse(),ke(e.options,un)),e.getCenterFooterGroups=ze(()=>[e.getCenterHeaderGroups()],n=>[...n].reverse(),ke(e.options,un)),e.getRightFooterGroups=ze(()=>[e.getRightHeaderGroups()],n=>[...n].reverse(),ke(e.options,un)),e.getFlatHeaders=ze(()=>[e.getHeaderGroups()],n=>n.map(r=>r.headers).flat(),ke(e.options,un)),e.getLeftFlatHeaders=ze(()=>[e.getLeftHeaderGroups()],n=>n.map(r=>r.headers).flat(),ke(e.options,un)),e.getCenterFlatHeaders=ze(()=>[e.getCenterHeaderGroups()],n=>n.map(r=>r.headers).flat(),ke(e.options,un)),e.getRightFlatHeaders=ze(()=>[e.getRightHeaderGroups()],n=>n.map(r=>r.headers).flat(),ke(e.options,un)),e.getCenterLeafHeaders=ze(()=>[e.getCenterFlatHeaders()],n=>n.filter(r=>{var i;return!((i=r.subHeaders)!=null&&i.length)}),ke(e.options,un)),e.getLeftLeafHeaders=ze(()=>[e.getLeftFlatHeaders()],n=>n.filter(r=>{var i;return!((i=r.subHeaders)!=null&&i.length)}),ke(e.options,un)),e.getRightLeafHeaders=ze(()=>[e.getRightFlatHeaders()],n=>n.filter(r=>{var i;return!((i=r.subHeaders)!=null&&i.length)}),ke(e.options,un)),e.getLeafHeaders=ze(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(n,r,i)=>{var o,l,u,d,m,p;return[...(o=(l=n[0])==null?void 0:l.headers)!=null?o:[],...(u=(d=r[0])==null?void 0:d.headers)!=null?u:[],...(m=(p=i[0])==null?void 0:p.headers)!=null?m:[]].map(y=>y.getLeafHeaders()).flat()},ke(e.options,un))}};function Xc(e,n,r,i){var o,l;let u=0;const d=function(b,x){x===void 0&&(x=1),u=Math.max(u,x),b.filter(w=>w.getIsVisible()).forEach(w=>{var _;(_=w.columns)!=null&&_.length&&d(w.columns,x+1)},0)};d(e);let m=[];const p=(b,x)=>{const w={depth:x,id:[i,`${x}`].filter(Boolean).join("_"),headers:[]},_=[];b.forEach(E=>{const R=[..._].reverse()[0],T=E.column.depth===w.depth;let O,N=!1;if(T&&E.column.parent?O=E.column.parent:(O=E.column,N=!0),R&&R?.column===O)R.subHeaders.push(E);else{const z=gx(r,O,{id:[i,x,O.id,E?.id].filter(Boolean).join("_"),isPlaceholder:N,placeholderId:N?`${_.filter(U=>U.column===O).length}`:void 0,depth:x,index:_.length});z.subHeaders.push(E),_.push(z)}w.headers.push(E),E.headerGroup=w}),m.push(w),x>0&&p(_,x-1)},y=n.map((b,x)=>gx(r,b,{depth:u,index:x}));p(y,u-1),m.reverse();const v=b=>b.filter(w=>w.column.getIsVisible()).map(w=>{let _=0,E=0,R=[0];w.subHeaders&&w.subHeaders.length?(R=[],v(w.subHeaders).forEach(O=>{let{colSpan:N,rowSpan:z}=O;_+=N,R.push(z)})):_=1;const T=Math.min(...R);return E=E+T,w.colSpan=_,w.rowSpan=E,{colSpan:_,rowSpan:E}});return v((o=(l=m[0])==null?void 0:l.headers)!=null?o:[]),m}const F3=(e,n,r,i,o,l,u)=>{let d={id:n,index:i,original:r,depth:o,parentId:u,_valuesCache:{},_uniqueValuesCache:{},getValue:m=>{if(d._valuesCache.hasOwnProperty(m))return d._valuesCache[m];const p=e.getColumn(m);if(p!=null&&p.accessorFn)return d._valuesCache[m]=p.accessorFn(d.original,i),d._valuesCache[m]},getUniqueValues:m=>{if(d._uniqueValuesCache.hasOwnProperty(m))return d._uniqueValuesCache[m];const p=e.getColumn(m);if(p!=null&&p.accessorFn)return p.columnDef.getUniqueValues?(d._uniqueValuesCache[m]=p.columnDef.getUniqueValues(d.original,i),d._uniqueValuesCache[m]):(d._uniqueValuesCache[m]=[d.getValue(m)],d._uniqueValuesCache[m])},renderValue:m=>{var p;return(p=d.getValue(m))!=null?p:e.options.renderFallbackValue},subRows:[],getLeafRows:()=>L3(d.subRows,m=>m.subRows),getParentRow:()=>d.parentId?e.getRow(d.parentId,!0):void 0,getParentRows:()=>{let m=[],p=d;for(;;){const y=p.getParentRow();if(!y)break;m.push(y),p=y}return m.reverse()},getAllCells:ze(()=>[e.getAllLeafColumns()],m=>m.map(p=>$3(e,d,p,p.id)),ke(e.options,"debugRows")),_getAllCellsByColumnId:ze(()=>[d.getAllCells()],m=>m.reduce((p,y)=>(p[y.column.id]=y,p),{}),ke(e.options,"debugRows"))};for(let m=0;m{e._getFacetedRowModel=n.options.getFacetedRowModel&&n.options.getFacetedRowModel(n,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():n.getPreFilteredRowModel(),e._getFacetedUniqueValues=n.options.getFacetedUniqueValues&&n.options.getFacetedUniqueValues(n,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=n.options.getFacetedMinMaxValues&&n.options.getFacetedMinMaxValues(n,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},L_=(e,n,r)=>{var i,o;const l=r==null||(i=r.toString())==null?void 0:i.toLowerCase();return!!(!((o=e.getValue(n))==null||(o=o.toString())==null||(o=o.toLowerCase())==null)&&o.includes(l))};L_.autoRemove=e=>gr(e);const $_=(e,n,r)=>{var i;return!!(!((i=e.getValue(n))==null||(i=i.toString())==null)&&i.includes(r))};$_.autoRemove=e=>gr(e);const I_=(e,n,r)=>{var i;return((i=e.getValue(n))==null||(i=i.toString())==null?void 0:i.toLowerCase())===r?.toLowerCase()};I_.autoRemove=e=>gr(e);const P_=(e,n,r)=>{var i;return(i=e.getValue(n))==null?void 0:i.includes(r)};P_.autoRemove=e=>gr(e);const F_=(e,n,r)=>!r.some(i=>{var o;return!((o=e.getValue(n))!=null&&o.includes(i))});F_.autoRemove=e=>gr(e)||!(e!=null&&e.length);const V_=(e,n,r)=>r.some(i=>{var o;return(o=e.getValue(n))==null?void 0:o.includes(i)});V_.autoRemove=e=>gr(e)||!(e!=null&&e.length);const U_=(e,n,r)=>e.getValue(n)===r;U_.autoRemove=e=>gr(e);const H_=(e,n,r)=>e.getValue(n)==r;H_.autoRemove=e=>gr(e);const Qp=(e,n,r)=>{let[i,o]=r;const l=e.getValue(n);return l>=i&&l<=o};Qp.resolveFilterValue=e=>{let[n,r]=e,i=typeof n!="number"?parseFloat(n):n,o=typeof r!="number"?parseFloat(r):r,l=n===null||Number.isNaN(i)?-1/0:i,u=r===null||Number.isNaN(o)?1/0:o;if(l>u){const d=l;l=u,u=d}return[l,u]};Qp.autoRemove=e=>gr(e)||gr(e[0])&&gr(e[1]);const ta={includesString:L_,includesStringSensitive:$_,equalsString:I_,arrIncludes:P_,arrIncludesAll:F_,arrIncludesSome:V_,equals:U_,weakEquals:H_,inNumberRange:Qp};function gr(e){return e==null||e===""}const U3={getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:Fn("columnFilters",e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,n)=>{e.getAutoFilterFn=()=>{const r=n.getCoreRowModel().flatRows[0],i=r?.getValue(e.id);return typeof i=="string"?ta.includesString:typeof i=="number"?ta.inNumberRange:typeof i=="boolean"||i!==null&&typeof i=="object"?ta.equals:Array.isArray(i)?ta.arrIncludes:ta.weakEquals},e.getFilterFn=()=>{var r,i;return ed(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn==="auto"?e.getAutoFilterFn():(r=(i=n.options.filterFns)==null?void 0:i[e.columnDef.filterFn])!=null?r:ta[e.columnDef.filterFn]},e.getCanFilter=()=>{var r,i,o;return((r=e.columnDef.enableColumnFilter)!=null?r:!0)&&((i=n.options.enableColumnFilters)!=null?i:!0)&&((o=n.options.enableFilters)!=null?o:!0)&&!!e.accessorFn},e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var r;return(r=n.getState().columnFilters)==null||(r=r.find(i=>i.id===e.id))==null?void 0:r.value},e.getFilterIndex=()=>{var r,i;return(r=(i=n.getState().columnFilters)==null?void 0:i.findIndex(o=>o.id===e.id))!=null?r:-1},e.setFilterValue=r=>{n.setColumnFilters(i=>{const o=e.getFilterFn(),l=i?.find(y=>y.id===e.id),u=Da(r,l?l.value:void 0);if(vx(o,u,e)){var d;return(d=i?.filter(y=>y.id!==e.id))!=null?d:[]}const m={id:e.id,value:u};if(l){var p;return(p=i?.map(y=>y.id===e.id?m:y))!=null?p:[]}return i!=null&&i.length?[...i,m]:[m]})}},createRow:(e,n)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=n=>{const r=e.getAllLeafColumns(),i=o=>{var l;return(l=Da(n,o))==null?void 0:l.filter(u=>{const d=r.find(m=>m.id===u.id);if(d){const m=d.getFilterFn();if(vx(m,u.value,d))return!1}return!0})};e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(i)},e.resetColumnFilters=n=>{var r,i;e.setColumnFilters(n?[]:(r=(i=e.initialState)==null?void 0:i.columnFilters)!=null?r:[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function vx(e,n,r){return(e&&e.autoRemove?e.autoRemove(n,r):!1)||typeof n>"u"||typeof n=="string"&&!n}const H3=(e,n,r)=>r.reduce((i,o)=>{const l=o.getValue(e);return i+(typeof l=="number"?l:0)},0),B3=(e,n,r)=>{let i;return r.forEach(o=>{const l=o.getValue(e);l!=null&&(i>l||i===void 0&&l>=l)&&(i=l)}),i},q3=(e,n,r)=>{let i;return r.forEach(o=>{const l=o.getValue(e);l!=null&&(i=l)&&(i=l)}),i},G3=(e,n,r)=>{let i,o;return r.forEach(l=>{const u=l.getValue(e);u!=null&&(i===void 0?u>=u&&(i=o=u):(i>u&&(i=u),o{let r=0,i=0;if(n.forEach(o=>{let l=o.getValue(e);l!=null&&(l=+l)>=l&&(++r,i+=l)}),r)return i/r},K3=(e,n)=>{if(!n.length)return;const r=n.map(l=>l.getValue(e));if(!k3(r))return;if(r.length===1)return r[0];const i=Math.floor(r.length/2),o=r.sort((l,u)=>l-u);return r.length%2!==0?o[i]:(o[i-1]+o[i])/2},Y3=(e,n)=>Array.from(new Set(n.map(r=>r.getValue(e))).values()),Q3=(e,n)=>new Set(n.map(r=>r.getValue(e))).size,X3=(e,n)=>n.length,qh={sum:H3,min:B3,max:q3,extent:G3,mean:Z3,median:K3,unique:Y3,uniqueCount:Q3,count:X3},J3={getDefaultColumnDef:()=>({aggregatedCell:e=>{var n,r;return(n=(r=e.getValue())==null||r.toString==null?void 0:r.toString())!=null?n:null},aggregationFn:"auto"}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:Fn("grouping",e),groupedColumnMode:"reorder"}),createColumn:(e,n)=>{e.toggleGrouping=()=>{n.setGrouping(r=>r!=null&&r.includes(e.id)?r.filter(i=>i!==e.id):[...r??[],e.id])},e.getCanGroup=()=>{var r,i;return((r=e.columnDef.enableGrouping)!=null?r:!0)&&((i=n.options.enableGrouping)!=null?i:!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue)},e.getIsGrouped=()=>{var r;return(r=n.getState().grouping)==null?void 0:r.includes(e.id)},e.getGroupedIndex=()=>{var r;return(r=n.getState().grouping)==null?void 0:r.indexOf(e.id)},e.getToggleGroupingHandler=()=>{const r=e.getCanGroup();return()=>{r&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{const r=n.getCoreRowModel().flatRows[0],i=r?.getValue(e.id);if(typeof i=="number")return qh.sum;if(Object.prototype.toString.call(i)==="[object Date]")return qh.extent},e.getAggregationFn=()=>{var r,i;if(!e)throw new Error;return ed(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn==="auto"?e.getAutoAggregationFn():(r=(i=n.options.aggregationFns)==null?void 0:i[e.columnDef.aggregationFn])!=null?r:qh[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=n=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(n),e.resetGrouping=n=>{var r,i;e.setGrouping(n?[]:(r=(i=e.initialState)==null?void 0:i.grouping)!=null?r:[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,n)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=r=>{if(e._groupingValuesCache.hasOwnProperty(r))return e._groupingValuesCache[r];const i=n.getColumn(r);return i!=null&&i.columnDef.getGroupingValue?(e._groupingValuesCache[r]=i.columnDef.getGroupingValue(e.original),e._groupingValuesCache[r]):e.getValue(r)},e._groupingValuesCache={}},createCell:(e,n,r,i)=>{e.getIsGrouped=()=>n.getIsGrouped()&&n.id===r.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&n.getIsGrouped(),e.getIsAggregated=()=>{var o;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((o=r.subRows)!=null&&o.length)}}};function W3(e,n,r){if(!(n!=null&&n.length)||!r)return e;const i=e.filter(l=>!n.includes(l.id));return r==="remove"?i:[...n.map(l=>e.find(u=>u.id===l)).filter(Boolean),...i]}const e4={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:Fn("columnOrder",e)}),createColumn:(e,n)=>{e.getIndex=ze(r=>[el(n,r)],r=>r.findIndex(i=>i.id===e.id),ke(n.options,"debugColumns")),e.getIsFirstColumn=r=>{var i;return((i=el(n,r)[0])==null?void 0:i.id)===e.id},e.getIsLastColumn=r=>{var i;const o=el(n,r);return((i=o[o.length-1])==null?void 0:i.id)===e.id}},createTable:e=>{e.setColumnOrder=n=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(n),e.resetColumnOrder=n=>{var r;e.setColumnOrder(n?[]:(r=e.initialState.columnOrder)!=null?r:[])},e._getOrderColumnsFn=ze(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(n,r,i)=>o=>{let l=[];if(!(n!=null&&n.length))l=o;else{const u=[...n],d=[...o];for(;d.length&&u.length;){const m=u.shift(),p=d.findIndex(y=>y.id===m);p>-1&&l.push(d.splice(p,1)[0])}l=[...l,...d]}return W3(l,r,i)},ke(e.options,"debugTable"))}},Gh=()=>({left:[],right:[]}),t4={getInitialState:e=>({columnPinning:Gh(),...e}),getDefaultOptions:e=>({onColumnPinningChange:Fn("columnPinning",e)}),createColumn:(e,n)=>{e.pin=r=>{const i=e.getLeafColumns().map(o=>o.id).filter(Boolean);n.setColumnPinning(o=>{var l,u;if(r==="right"){var d,m;return{left:((d=o?.left)!=null?d:[]).filter(v=>!(i!=null&&i.includes(v))),right:[...((m=o?.right)!=null?m:[]).filter(v=>!(i!=null&&i.includes(v))),...i]}}if(r==="left"){var p,y;return{left:[...((p=o?.left)!=null?p:[]).filter(v=>!(i!=null&&i.includes(v))),...i],right:((y=o?.right)!=null?y:[]).filter(v=>!(i!=null&&i.includes(v)))}}return{left:((l=o?.left)!=null?l:[]).filter(v=>!(i!=null&&i.includes(v))),right:((u=o?.right)!=null?u:[]).filter(v=>!(i!=null&&i.includes(v)))}})},e.getCanPin=()=>e.getLeafColumns().some(i=>{var o,l,u;return((o=i.columnDef.enablePinning)!=null?o:!0)&&((l=(u=n.options.enableColumnPinning)!=null?u:n.options.enablePinning)!=null?l:!0)}),e.getIsPinned=()=>{const r=e.getLeafColumns().map(d=>d.id),{left:i,right:o}=n.getState().columnPinning,l=r.some(d=>i?.includes(d)),u=r.some(d=>o?.includes(d));return l?"left":u?"right":!1},e.getPinnedIndex=()=>{var r,i;const o=e.getIsPinned();return o?(r=(i=n.getState().columnPinning)==null||(i=i[o])==null?void 0:i.indexOf(e.id))!=null?r:-1:0}},createRow:(e,n)=>{e.getCenterVisibleCells=ze(()=>[e._getAllVisibleCells(),n.getState().columnPinning.left,n.getState().columnPinning.right],(r,i,o)=>{const l=[...i??[],...o??[]];return r.filter(u=>!l.includes(u.column.id))},ke(n.options,"debugRows")),e.getLeftVisibleCells=ze(()=>[e._getAllVisibleCells(),n.getState().columnPinning.left],(r,i)=>(i??[]).map(l=>r.find(u=>u.column.id===l)).filter(Boolean).map(l=>({...l,position:"left"})),ke(n.options,"debugRows")),e.getRightVisibleCells=ze(()=>[e._getAllVisibleCells(),n.getState().columnPinning.right],(r,i)=>(i??[]).map(l=>r.find(u=>u.column.id===l)).filter(Boolean).map(l=>({...l,position:"right"})),ke(n.options,"debugRows"))},createTable:e=>{e.setColumnPinning=n=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(n),e.resetColumnPinning=n=>{var r,i;return e.setColumnPinning(n?Gh():(r=(i=e.initialState)==null?void 0:i.columnPinning)!=null?r:Gh())},e.getIsSomeColumnsPinned=n=>{var r;const i=e.getState().columnPinning;if(!n){var o,l;return!!((o=i.left)!=null&&o.length||(l=i.right)!=null&&l.length)}return!!((r=i[n])!=null&&r.length)},e.getLeftLeafColumns=ze(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(n,r)=>(r??[]).map(i=>n.find(o=>o.id===i)).filter(Boolean),ke(e.options,"debugColumns")),e.getRightLeafColumns=ze(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(n,r)=>(r??[]).map(i=>n.find(o=>o.id===i)).filter(Boolean),ke(e.options,"debugColumns")),e.getCenterLeafColumns=ze(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,r,i)=>{const o=[...r??[],...i??[]];return n.filter(l=>!o.includes(l.id))},ke(e.options,"debugColumns"))}};function n4(e){return e||(typeof document<"u"?document:null)}const Jc={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},Zh=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),r4={getDefaultColumnDef:()=>Jc,getInitialState:e=>({columnSizing:{},columnSizingInfo:Zh(),...e}),getDefaultOptions:e=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:Fn("columnSizing",e),onColumnSizingInfoChange:Fn("columnSizingInfo",e)}),createColumn:(e,n)=>{e.getSize=()=>{var r,i,o;const l=n.getState().columnSizing[e.id];return Math.min(Math.max((r=e.columnDef.minSize)!=null?r:Jc.minSize,(i=l??e.columnDef.size)!=null?i:Jc.size),(o=e.columnDef.maxSize)!=null?o:Jc.maxSize)},e.getStart=ze(r=>[r,el(n,r),n.getState().columnSizing],(r,i)=>i.slice(0,e.getIndex(r)).reduce((o,l)=>o+l.getSize(),0),ke(n.options,"debugColumns")),e.getAfter=ze(r=>[r,el(n,r),n.getState().columnSizing],(r,i)=>i.slice(e.getIndex(r)+1).reduce((o,l)=>o+l.getSize(),0),ke(n.options,"debugColumns")),e.resetSize=()=>{n.setColumnSizing(r=>{let{[e.id]:i,...o}=r;return o})},e.getCanResize=()=>{var r,i;return((r=e.columnDef.enableResizing)!=null?r:!0)&&((i=n.options.enableColumnResizing)!=null?i:!0)},e.getIsResizing=()=>n.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,n)=>{e.getSize=()=>{let r=0;const i=o=>{if(o.subHeaders.length)o.subHeaders.forEach(i);else{var l;r+=(l=o.column.getSize())!=null?l:0}};return i(e),r},e.getStart=()=>{if(e.index>0){const r=e.headerGroup.headers[e.index-1];return r.getStart()+r.getSize()}return 0},e.getResizeHandler=r=>{const i=n.getColumn(e.column.id),o=i?.getCanResize();return l=>{if(!i||!o||(l.persist==null||l.persist(),Kh(l)&&l.touches&&l.touches.length>1))return;const u=e.getSize(),d=e?e.getLeafHeaders().map(R=>[R.column.id,R.column.getSize()]):[[i.id,i.getSize()]],m=Kh(l)?Math.round(l.touches[0].clientX):l.clientX,p={},y=(R,T)=>{typeof T=="number"&&(n.setColumnSizingInfo(O=>{var N,z;const U=n.options.columnResizeDirection==="rtl"?-1:1,$=(T-((N=O?.startOffset)!=null?N:0))*U,F=Math.max($/((z=O?.startSize)!=null?z:0),-.999999);return O.columnSizingStart.forEach(ve=>{let[ye,me]=ve;p[ye]=Math.round(Math.max(me+me*F,0)*100)/100}),{...O,deltaOffset:$,deltaPercentage:F}}),(n.options.columnResizeMode==="onChange"||R==="end")&&n.setColumnSizing(O=>({...O,...p})))},v=R=>y("move",R),b=R=>{y("end",R),n.setColumnSizingInfo(T=>({...T,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},x=n4(r),w={moveHandler:R=>v(R.clientX),upHandler:R=>{x?.removeEventListener("mousemove",w.moveHandler),x?.removeEventListener("mouseup",w.upHandler),b(R.clientX)}},_={moveHandler:R=>(R.cancelable&&(R.preventDefault(),R.stopPropagation()),v(R.touches[0].clientX),!1),upHandler:R=>{var T;x?.removeEventListener("touchmove",_.moveHandler),x?.removeEventListener("touchend",_.upHandler),R.cancelable&&(R.preventDefault(),R.stopPropagation()),b((T=R.touches[0])==null?void 0:T.clientX)}},E=a4()?{passive:!1}:!1;Kh(l)?(x?.addEventListener("touchmove",_.moveHandler,E),x?.addEventListener("touchend",_.upHandler,E)):(x?.addEventListener("mousemove",w.moveHandler,E),x?.addEventListener("mouseup",w.upHandler,E)),n.setColumnSizingInfo(R=>({...R,startOffset:m,startSize:u,deltaOffset:0,deltaPercentage:0,columnSizingStart:d,isResizingColumn:i.id}))}}},createTable:e=>{e.setColumnSizing=n=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(n),e.setColumnSizingInfo=n=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(n),e.resetColumnSizing=n=>{var r;e.setColumnSizing(n?{}:(r=e.initialState.columnSizing)!=null?r:{})},e.resetHeaderSizeInfo=n=>{var r;e.setColumnSizingInfo(n?Zh():(r=e.initialState.columnSizingInfo)!=null?r:Zh())},e.getTotalSize=()=>{var n,r;return(n=(r=e.getHeaderGroups()[0])==null?void 0:r.headers.reduce((i,o)=>i+o.getSize(),0))!=null?n:0},e.getLeftTotalSize=()=>{var n,r;return(n=(r=e.getLeftHeaderGroups()[0])==null?void 0:r.headers.reduce((i,o)=>i+o.getSize(),0))!=null?n:0},e.getCenterTotalSize=()=>{var n,r;return(n=(r=e.getCenterHeaderGroups()[0])==null?void 0:r.headers.reduce((i,o)=>i+o.getSize(),0))!=null?n:0},e.getRightTotalSize=()=>{var n,r;return(n=(r=e.getRightHeaderGroups()[0])==null?void 0:r.headers.reduce((i,o)=>i+o.getSize(),0))!=null?n:0}}};let Wc=null;function a4(){if(typeof Wc=="boolean")return Wc;let e=!1;try{const n={get passive(){return e=!0,!1}},r=()=>{};window.addEventListener("test",r,n),window.removeEventListener("test",r)}catch{e=!1}return Wc=e,Wc}function Kh(e){return e.type==="touchstart"}const i4={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:Fn("columnVisibility",e)}),createColumn:(e,n)=>{e.toggleVisibility=r=>{e.getCanHide()&&n.setColumnVisibility(i=>({...i,[e.id]:r??!e.getIsVisible()}))},e.getIsVisible=()=>{var r,i;const o=e.columns;return(r=o.length?o.some(l=>l.getIsVisible()):(i=n.getState().columnVisibility)==null?void 0:i[e.id])!=null?r:!0},e.getCanHide=()=>{var r,i;return((r=e.columnDef.enableHiding)!=null?r:!0)&&((i=n.options.enableHiding)!=null?i:!0)},e.getToggleVisibilityHandler=()=>r=>{e.toggleVisibility==null||e.toggleVisibility(r.target.checked)}},createRow:(e,n)=>{e._getAllVisibleCells=ze(()=>[e.getAllCells(),n.getState().columnVisibility],r=>r.filter(i=>i.column.getIsVisible()),ke(n.options,"debugRows")),e.getVisibleCells=ze(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(r,i,o)=>[...r,...i,...o],ke(n.options,"debugRows"))},createTable:e=>{const n=(r,i)=>ze(()=>[i(),i().filter(o=>o.getIsVisible()).map(o=>o.id).join("_")],o=>o.filter(l=>l.getIsVisible==null?void 0:l.getIsVisible()),ke(e.options,"debugColumns"));e.getVisibleFlatColumns=n("getVisibleFlatColumns",()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=n("getVisibleLeafColumns",()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=n("getLeftVisibleLeafColumns",()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=n("getRightVisibleLeafColumns",()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=n("getCenterVisibleLeafColumns",()=>e.getCenterLeafColumns()),e.setColumnVisibility=r=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(r),e.resetColumnVisibility=r=>{var i;e.setColumnVisibility(r?{}:(i=e.initialState.columnVisibility)!=null?i:{})},e.toggleAllColumnsVisible=r=>{var i;r=(i=r)!=null?i:!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((o,l)=>({...o,[l.id]:r||!(l.getCanHide!=null&&l.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(r=>!(r.getIsVisible!=null&&r.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(r=>r.getIsVisible==null?void 0:r.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>r=>{var i;e.toggleAllColumnsVisible((i=r.target)==null?void 0:i.checked)}}};function el(e,n){return n?n==="center"?e.getCenterVisibleLeafColumns():n==="left"?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}const s4={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,"__global__"),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,"__global__"),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,"__global__"),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},o4={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:Fn("globalFilter",e),globalFilterFn:"auto",getColumnCanGlobalFilter:n=>{var r;const i=(r=e.getCoreRowModel().flatRows[0])==null||(r=r._getAllCellsByColumnId()[n.id])==null?void 0:r.getValue();return typeof i=="string"||typeof i=="number"}}),createColumn:(e,n)=>{e.getCanGlobalFilter=()=>{var r,i,o,l;return((r=e.columnDef.enableGlobalFilter)!=null?r:!0)&&((i=n.options.enableGlobalFilter)!=null?i:!0)&&((o=n.options.enableFilters)!=null?o:!0)&&((l=n.options.getColumnCanGlobalFilter==null?void 0:n.options.getColumnCanGlobalFilter(e))!=null?l:!0)&&!!e.accessorFn}},createTable:e=>{e.getGlobalAutoFilterFn=()=>ta.includesString,e.getGlobalFilterFn=()=>{var n,r;const{globalFilterFn:i}=e.options;return ed(i)?i:i==="auto"?e.getGlobalAutoFilterFn():(n=(r=e.options.filterFns)==null?void 0:r[i])!=null?n:ta[i]},e.setGlobalFilter=n=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(n)},e.resetGlobalFilter=n=>{e.setGlobalFilter(n?void 0:e.initialState.globalFilter)}}},l4={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:Fn("expanded",e),paginateExpandedRows:!0}),createTable:e=>{let n=!1,r=!1;e._autoResetExpanded=()=>{var i,o;if(!n){e._queue(()=>{n=!0});return}if((i=(o=e.options.autoResetAll)!=null?o:e.options.autoResetExpanded)!=null?i:!e.options.manualExpanding){if(r)return;r=!0,e._queue(()=>{e.resetExpanded(),r=!1})}},e.setExpanded=i=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(i),e.toggleAllRowsExpanded=i=>{i??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=i=>{var o,l;e.setExpanded(i?{}:(o=(l=e.initialState)==null?void 0:l.expanded)!=null?o:{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(i=>i.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>i=>{i.persist==null||i.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{const i=e.getState().expanded;return i===!0||Object.values(i).some(Boolean)},e.getIsAllRowsExpanded=()=>{const i=e.getState().expanded;return typeof i=="boolean"?i===!0:!(!Object.keys(i).length||e.getRowModel().flatRows.some(o=>!o.getIsExpanded()))},e.getExpandedDepth=()=>{let i=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(l=>{const u=l.split(".");i=Math.max(i,u.length)}),i},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,n)=>{e.toggleExpanded=r=>{n.setExpanded(i=>{var o;const l=i===!0?!0:!!(i!=null&&i[e.id]);let u={};if(i===!0?Object.keys(n.getRowModel().rowsById).forEach(d=>{u[d]=!0}):u=i,r=(o=r)!=null?o:!l,!l&&r)return{...u,[e.id]:!0};if(l&&!r){const{[e.id]:d,...m}=u;return m}return i})},e.getIsExpanded=()=>{var r;const i=n.getState().expanded;return!!((r=n.options.getIsRowExpanded==null?void 0:n.options.getIsRowExpanded(e))!=null?r:i===!0||i?.[e.id])},e.getCanExpand=()=>{var r,i,o;return(r=n.options.getRowCanExpand==null?void 0:n.options.getRowCanExpand(e))!=null?r:((i=n.options.enableExpanding)!=null?i:!0)&&!!((o=e.subRows)!=null&&o.length)},e.getIsAllParentsExpanded=()=>{let r=!0,i=e;for(;r&&i.parentId;)i=n.getRow(i.parentId,!0),r=i.getIsExpanded();return r},e.getToggleExpandedHandler=()=>{const r=e.getCanExpand();return()=>{r&&e.toggleExpanded()}}}},km=0,Lm=10,Yh=()=>({pageIndex:km,pageSize:Lm}),c4={getInitialState:e=>({...e,pagination:{...Yh(),...e?.pagination}}),getDefaultOptions:e=>({onPaginationChange:Fn("pagination",e)}),createTable:e=>{let n=!1,r=!1;e._autoResetPageIndex=()=>{var i,o;if(!n){e._queue(()=>{n=!0});return}if((i=(o=e.options.autoResetAll)!=null?o:e.options.autoResetPageIndex)!=null?i:!e.options.manualPagination){if(r)return;r=!0,e._queue(()=>{e.resetPageIndex(),r=!1})}},e.setPagination=i=>{const o=l=>Da(i,l);return e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(o)},e.resetPagination=i=>{var o;e.setPagination(i?Yh():(o=e.initialState.pagination)!=null?o:Yh())},e.setPageIndex=i=>{e.setPagination(o=>{let l=Da(i,o.pageIndex);const u=typeof e.options.pageCount>"u"||e.options.pageCount===-1?Number.MAX_SAFE_INTEGER:e.options.pageCount-1;return l=Math.max(0,Math.min(l,u)),{...o,pageIndex:l}})},e.resetPageIndex=i=>{var o,l;e.setPageIndex(i?km:(o=(l=e.initialState)==null||(l=l.pagination)==null?void 0:l.pageIndex)!=null?o:km)},e.resetPageSize=i=>{var o,l;e.setPageSize(i?Lm:(o=(l=e.initialState)==null||(l=l.pagination)==null?void 0:l.pageSize)!=null?o:Lm)},e.setPageSize=i=>{e.setPagination(o=>{const l=Math.max(1,Da(i,o.pageSize)),u=o.pageSize*o.pageIndex,d=Math.floor(u/l);return{...o,pageIndex:d,pageSize:l}})},e.setPageCount=i=>e.setPagination(o=>{var l;let u=Da(i,(l=e.options.pageCount)!=null?l:-1);return typeof u=="number"&&(u=Math.max(-1,u)),{...o,pageCount:u}}),e.getPageOptions=ze(()=>[e.getPageCount()],i=>{let o=[];return i&&i>0&&(o=[...new Array(i)].fill(null).map((l,u)=>u)),o},ke(e.options,"debugTable")),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{const{pageIndex:i}=e.getState().pagination,o=e.getPageCount();return o===-1?!0:o===0?!1:ie.setPageIndex(i=>i-1),e.nextPage=()=>e.setPageIndex(i=>i+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>{var i;return(i=e.options.pageCount)!=null?i:Math.ceil(e.getRowCount()/e.getState().pagination.pageSize)},e.getRowCount=()=>{var i;return(i=e.options.rowCount)!=null?i:e.getPrePaginationRowModel().rows.length}}},Qh=()=>({top:[],bottom:[]}),u4={getInitialState:e=>({rowPinning:Qh(),...e}),getDefaultOptions:e=>({onRowPinningChange:Fn("rowPinning",e)}),createRow:(e,n)=>{e.pin=(r,i,o)=>{const l=i?e.getLeafRows().map(m=>{let{id:p}=m;return p}):[],u=o?e.getParentRows().map(m=>{let{id:p}=m;return p}):[],d=new Set([...u,e.id,...l]);n.setRowPinning(m=>{var p,y;if(r==="bottom"){var v,b;return{top:((v=m?.top)!=null?v:[]).filter(_=>!(d!=null&&d.has(_))),bottom:[...((b=m?.bottom)!=null?b:[]).filter(_=>!(d!=null&&d.has(_))),...Array.from(d)]}}if(r==="top"){var x,w;return{top:[...((x=m?.top)!=null?x:[]).filter(_=>!(d!=null&&d.has(_))),...Array.from(d)],bottom:((w=m?.bottom)!=null?w:[]).filter(_=>!(d!=null&&d.has(_)))}}return{top:((p=m?.top)!=null?p:[]).filter(_=>!(d!=null&&d.has(_))),bottom:((y=m?.bottom)!=null?y:[]).filter(_=>!(d!=null&&d.has(_)))}})},e.getCanPin=()=>{var r;const{enableRowPinning:i,enablePinning:o}=n.options;return typeof i=="function"?i(e):(r=i??o)!=null?r:!0},e.getIsPinned=()=>{const r=[e.id],{top:i,bottom:o}=n.getState().rowPinning,l=r.some(d=>i?.includes(d)),u=r.some(d=>o?.includes(d));return l?"top":u?"bottom":!1},e.getPinnedIndex=()=>{var r,i;const o=e.getIsPinned();if(!o)return-1;const l=(r=o==="top"?n.getTopRows():n.getBottomRows())==null?void 0:r.map(u=>{let{id:d}=u;return d});return(i=l?.indexOf(e.id))!=null?i:-1}},createTable:e=>{e.setRowPinning=n=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(n),e.resetRowPinning=n=>{var r,i;return e.setRowPinning(n?Qh():(r=(i=e.initialState)==null?void 0:i.rowPinning)!=null?r:Qh())},e.getIsSomeRowsPinned=n=>{var r;const i=e.getState().rowPinning;if(!n){var o,l;return!!((o=i.top)!=null&&o.length||(l=i.bottom)!=null&&l.length)}return!!((r=i[n])!=null&&r.length)},e._getPinnedRows=(n,r,i)=>{var o;return((o=e.options.keepPinnedRows)==null||o?(r??[]).map(u=>{const d=e.getRow(u,!0);return d.getIsAllParentsExpanded()?d:null}):(r??[]).map(u=>n.find(d=>d.id===u))).filter(Boolean).map(u=>({...u,position:i}))},e.getTopRows=ze(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(n,r)=>e._getPinnedRows(n,r,"top"),ke(e.options,"debugRows")),e.getBottomRows=ze(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(n,r)=>e._getPinnedRows(n,r,"bottom"),ke(e.options,"debugRows")),e.getCenterRows=ze(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(n,r,i)=>{const o=new Set([...r??[],...i??[]]);return n.filter(l=>!o.has(l.id))},ke(e.options,"debugRows"))}},d4={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:Fn("rowSelection",e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=n=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(n),e.resetRowSelection=n=>{var r;return e.setRowSelection(n?{}:(r=e.initialState.rowSelection)!=null?r:{})},e.toggleAllRowsSelected=n=>{e.setRowSelection(r=>{n=typeof n<"u"?n:!e.getIsAllRowsSelected();const i={...r},o=e.getPreGroupedRowModel().flatRows;return n?o.forEach(l=>{l.getCanSelect()&&(i[l.id]=!0)}):o.forEach(l=>{delete i[l.id]}),i})},e.toggleAllPageRowsSelected=n=>e.setRowSelection(r=>{const i=typeof n<"u"?n:!e.getIsAllPageRowsSelected(),o={...r};return e.getRowModel().rows.forEach(l=>{$m(o,l.id,i,!0,e)}),o}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=ze(()=>[e.getState().rowSelection,e.getCoreRowModel()],(n,r)=>Object.keys(n).length?Xh(e,r):{rows:[],flatRows:[],rowsById:{}},ke(e.options,"debugTable")),e.getFilteredSelectedRowModel=ze(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(n,r)=>Object.keys(n).length?Xh(e,r):{rows:[],flatRows:[],rowsById:{}},ke(e.options,"debugTable")),e.getGroupedSelectedRowModel=ze(()=>[e.getState().rowSelection,e.getSortedRowModel()],(n,r)=>Object.keys(n).length?Xh(e,r):{rows:[],flatRows:[],rowsById:{}},ke(e.options,"debugTable")),e.getIsAllRowsSelected=()=>{const n=e.getFilteredRowModel().flatRows,{rowSelection:r}=e.getState();let i=!!(n.length&&Object.keys(r).length);return i&&n.some(o=>o.getCanSelect()&&!r[o.id])&&(i=!1),i},e.getIsAllPageRowsSelected=()=>{const n=e.getPaginationRowModel().flatRows.filter(o=>o.getCanSelect()),{rowSelection:r}=e.getState();let i=!!n.length;return i&&n.some(o=>!r[o.id])&&(i=!1),i},e.getIsSomeRowsSelected=()=>{var n;const r=Object.keys((n=e.getState().rowSelection)!=null?n:{}).length;return r>0&&r{const n=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:n.filter(r=>r.getCanSelect()).some(r=>r.getIsSelected()||r.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>n=>{e.toggleAllRowsSelected(n.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>n=>{e.toggleAllPageRowsSelected(n.target.checked)}},createRow:(e,n)=>{e.toggleSelected=(r,i)=>{const o=e.getIsSelected();n.setRowSelection(l=>{var u;if(r=typeof r<"u"?r:!o,e.getCanSelect()&&o===r)return l;const d={...l};return $m(d,e.id,r,(u=i?.selectChildren)!=null?u:!0,n),d})},e.getIsSelected=()=>{const{rowSelection:r}=n.getState();return Xp(e,r)},e.getIsSomeSelected=()=>{const{rowSelection:r}=n.getState();return Im(e,r)==="some"},e.getIsAllSubRowsSelected=()=>{const{rowSelection:r}=n.getState();return Im(e,r)==="all"},e.getCanSelect=()=>{var r;return typeof n.options.enableRowSelection=="function"?n.options.enableRowSelection(e):(r=n.options.enableRowSelection)!=null?r:!0},e.getCanSelectSubRows=()=>{var r;return typeof n.options.enableSubRowSelection=="function"?n.options.enableSubRowSelection(e):(r=n.options.enableSubRowSelection)!=null?r:!0},e.getCanMultiSelect=()=>{var r;return typeof n.options.enableMultiRowSelection=="function"?n.options.enableMultiRowSelection(e):(r=n.options.enableMultiRowSelection)!=null?r:!0},e.getToggleSelectedHandler=()=>{const r=e.getCanSelect();return i=>{var o;r&&e.toggleSelected((o=i.target)==null?void 0:o.checked)}}}},$m=(e,n,r,i,o)=>{var l;const u=o.getRow(n,!0);r?(u.getCanMultiSelect()||Object.keys(e).forEach(d=>delete e[d]),u.getCanSelect()&&(e[n]=!0)):delete e[n],i&&(l=u.subRows)!=null&&l.length&&u.getCanSelectSubRows()&&u.subRows.forEach(d=>$m(e,d.id,r,i,o))};function Xh(e,n){const r=e.getState().rowSelection,i=[],o={},l=function(u,d){return u.map(m=>{var p;const y=Xp(m,r);if(y&&(i.push(m),o[m.id]=m),(p=m.subRows)!=null&&p.length&&(m={...m,subRows:l(m.subRows)}),y)return m}).filter(Boolean)};return{rows:l(n.rows),flatRows:i,rowsById:o}}function Xp(e,n){var r;return(r=n[e.id])!=null?r:!1}function Im(e,n,r){var i;if(!((i=e.subRows)!=null&&i.length))return!1;let o=!0,l=!1;return e.subRows.forEach(u=>{if(!(l&&!o)&&(u.getCanSelect()&&(Xp(u,n)?l=!0:o=!1),u.subRows&&u.subRows.length)){const d=Im(u,n);d==="all"?l=!0:(d==="some"&&(l=!0),o=!1)}}),o?"all":l?"some":!1}const Pm=/([0-9]+)/gm,f4=(e,n,r)=>B_(Ba(e.getValue(r)).toLowerCase(),Ba(n.getValue(r)).toLowerCase()),h4=(e,n,r)=>B_(Ba(e.getValue(r)),Ba(n.getValue(r))),m4=(e,n,r)=>Jp(Ba(e.getValue(r)).toLowerCase(),Ba(n.getValue(r)).toLowerCase()),p4=(e,n,r)=>Jp(Ba(e.getValue(r)),Ba(n.getValue(r))),g4=(e,n,r)=>{const i=e.getValue(r),o=n.getValue(r);return i>o?1:iJp(e.getValue(r),n.getValue(r));function Jp(e,n){return e===n?0:e>n?1:-1}function Ba(e){return typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?"":String(e):typeof e=="string"?e:""}function B_(e,n){const r=e.split(Pm).filter(Boolean),i=n.split(Pm).filter(Boolean);for(;r.length&&i.length;){const o=r.shift(),l=i.shift(),u=parseInt(o,10),d=parseInt(l,10),m=[u,d].sort();if(isNaN(m[0])){if(o>l)return 1;if(l>o)return-1;continue}if(isNaN(m[1]))return isNaN(u)?-1:1;if(u>d)return 1;if(d>u)return-1}return r.length-i.length}const Bo={alphanumeric:f4,alphanumericCaseSensitive:h4,text:m4,textCaseSensitive:p4,datetime:g4,basic:v4},y4={getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:Fn("sorting",e),isMultiSortEvent:n=>n.shiftKey}),createColumn:(e,n)=>{e.getAutoSortingFn=()=>{const r=n.getFilteredRowModel().flatRows.slice(10);let i=!1;for(const o of r){const l=o?.getValue(e.id);if(Object.prototype.toString.call(l)==="[object Date]")return Bo.datetime;if(typeof l=="string"&&(i=!0,l.split(Pm).length>1))return Bo.alphanumeric}return i?Bo.text:Bo.basic},e.getAutoSortDir=()=>{const r=n.getFilteredRowModel().flatRows[0];return typeof r?.getValue(e.id)=="string"?"asc":"desc"},e.getSortingFn=()=>{var r,i;if(!e)throw new Error;return ed(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn==="auto"?e.getAutoSortingFn():(r=(i=n.options.sortingFns)==null?void 0:i[e.columnDef.sortingFn])!=null?r:Bo[e.columnDef.sortingFn]},e.toggleSorting=(r,i)=>{const o=e.getNextSortingOrder(),l=typeof r<"u"&&r!==null;n.setSorting(u=>{const d=u?.find(x=>x.id===e.id),m=u?.findIndex(x=>x.id===e.id);let p=[],y,v=l?r:o==="desc";if(u!=null&&u.length&&e.getCanMultiSort()&&i?d?y="toggle":y="add":u!=null&&u.length&&m!==u.length-1?y="replace":d?y="toggle":y="replace",y==="toggle"&&(l||o||(y="remove")),y==="add"){var b;p=[...u,{id:e.id,desc:v}],p.splice(0,p.length-((b=n.options.maxMultiSortColCount)!=null?b:Number.MAX_SAFE_INTEGER))}else y==="toggle"?p=u.map(x=>x.id===e.id?{...x,desc:v}:x):y==="remove"?p=u.filter(x=>x.id!==e.id):p=[{id:e.id,desc:v}];return p})},e.getFirstSortDir=()=>{var r,i;return((r=(i=e.columnDef.sortDescFirst)!=null?i:n.options.sortDescFirst)!=null?r:e.getAutoSortDir()==="desc")?"desc":"asc"},e.getNextSortingOrder=r=>{var i,o;const l=e.getFirstSortDir(),u=e.getIsSorted();return u?u!==l&&((i=n.options.enableSortingRemoval)==null||i)&&(!(r&&(o=n.options.enableMultiRemove)!=null)||o)?!1:u==="desc"?"asc":"desc":l},e.getCanSort=()=>{var r,i;return((r=e.columnDef.enableSorting)!=null?r:!0)&&((i=n.options.enableSorting)!=null?i:!0)&&!!e.accessorFn},e.getCanMultiSort=()=>{var r,i;return(r=(i=e.columnDef.enableMultiSort)!=null?i:n.options.enableMultiSort)!=null?r:!!e.accessorFn},e.getIsSorted=()=>{var r;const i=(r=n.getState().sorting)==null?void 0:r.find(o=>o.id===e.id);return i?i.desc?"desc":"asc":!1},e.getSortIndex=()=>{var r,i;return(r=(i=n.getState().sorting)==null?void 0:i.findIndex(o=>o.id===e.id))!=null?r:-1},e.clearSorting=()=>{n.setSorting(r=>r!=null&&r.length?r.filter(i=>i.id!==e.id):[])},e.getToggleSortingHandler=()=>{const r=e.getCanSort();return i=>{r&&(i.persist==null||i.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?n.options.isMultiSortEvent==null?void 0:n.options.isMultiSortEvent(i):!1))}}},createTable:e=>{e.setSorting=n=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(n),e.resetSorting=n=>{var r,i;e.setSorting(n?[]:(r=(i=e.initialState)==null?void 0:i.sorting)!=null?r:[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},b4=[P3,i4,e4,t4,V3,U3,s4,o4,y4,J3,l4,c4,u4,d4,r4];function x4(e){var n,r;const i=[...b4,...(n=e._features)!=null?n:[]];let o={_features:i};const l=o._features.reduce((b,x)=>Object.assign(b,x.getDefaultOptions==null?void 0:x.getDefaultOptions(o)),{}),u=b=>o.options.mergeOptions?o.options.mergeOptions(l,b):{...l,...b};let m={...{},...(r=e.initialState)!=null?r:{}};o._features.forEach(b=>{var x;m=(x=b.getInitialState==null?void 0:b.getInitialState(m))!=null?x:m});const p=[];let y=!1;const v={_features:i,options:{...l,...e},initialState:m,_queue:b=>{p.push(b),y||(y=!0,Promise.resolve().then(()=>{for(;p.length;)p.shift()();y=!1}).catch(x=>setTimeout(()=>{throw x})))},reset:()=>{o.setState(o.initialState)},setOptions:b=>{const x=Da(b,o.options);o.options=u(x)},getState:()=>o.options.state,setState:b=>{o.options.onStateChange==null||o.options.onStateChange(b)},_getRowId:(b,x,w)=>{var _;return(_=o.options.getRowId==null?void 0:o.options.getRowId(b,x,w))!=null?_:`${w?[w.id,x].join("."):x}`},getCoreRowModel:()=>(o._getCoreRowModel||(o._getCoreRowModel=o.options.getCoreRowModel(o)),o._getCoreRowModel()),getRowModel:()=>o.getPaginationRowModel(),getRow:(b,x)=>{let w=(x?o.getPrePaginationRowModel():o.getRowModel()).rowsById[b];if(!w&&(w=o.getCoreRowModel().rowsById[b],!w))throw new Error;return w},_getDefaultColumnDef:ze(()=>[o.options.defaultColumn],b=>{var x;return b=(x=b)!=null?x:{},{header:w=>{const _=w.header.column.columnDef;return _.accessorKey?_.accessorKey:_.accessorFn?_.id:null},cell:w=>{var _,E;return(_=(E=w.renderValue())==null||E.toString==null?void 0:E.toString())!=null?_:null},...o._features.reduce((w,_)=>Object.assign(w,_.getDefaultColumnDef==null?void 0:_.getDefaultColumnDef()),{}),...b}},ke(e,"debugColumns")),_getColumnDefs:()=>o.options.columns,getAllColumns:ze(()=>[o._getColumnDefs()],b=>{const x=function(w,_,E){return E===void 0&&(E=0),w.map(R=>{const T=I3(o,R,E,_),O=R;return T.columns=O.columns?x(O.columns,T,E+1):[],T})};return x(b)},ke(e,"debugColumns")),getAllFlatColumns:ze(()=>[o.getAllColumns()],b=>b.flatMap(x=>x.getFlatColumns()),ke(e,"debugColumns")),_getAllFlatColumnsById:ze(()=>[o.getAllFlatColumns()],b=>b.reduce((x,w)=>(x[w.id]=w,x),{}),ke(e,"debugColumns")),getAllLeafColumns:ze(()=>[o.getAllColumns(),o._getOrderColumnsFn()],(b,x)=>{let w=b.flatMap(_=>_.getLeafColumns());return x(w)},ke(e,"debugColumns")),getColumn:b=>o._getAllFlatColumnsById()[b]};Object.assign(o,v);for(let b=0;bze(()=>[e.options.data],n=>{const r={rows:[],flatRows:[],rowsById:{}},i=function(o,l,u){l===void 0&&(l=0);const d=[];for(let p=0;pe._autoResetPageIndex()))}function G_(){return e=>ze(()=>[e.getState().sorting,e.getPreSortedRowModel()],(n,r)=>{if(!r.rows.length||!(n!=null&&n.length))return r;const i=e.getState().sorting,o=[],l=i.filter(m=>{var p;return(p=e.getColumn(m.id))==null?void 0:p.getCanSort()}),u={};l.forEach(m=>{const p=e.getColumn(m.id);p&&(u[m.id]={sortUndefined:p.columnDef.sortUndefined,invertSorting:p.columnDef.invertSorting,sortingFn:p.getSortingFn()})});const d=m=>{const p=m.map(y=>({...y}));return p.sort((y,v)=>{for(let x=0;x{var v;o.push(y),(v=y.subRows)!=null&&v.length&&(y.subRows=d(y.subRows))}),p};return{rows:d(r.rows),flatRows:o,rowsById:r.rowsById}},ke(e.options,"debugTable","getSortedRowModel",()=>e._autoResetPageIndex()))}function Fm(e,n){return e?w4(e)?S.createElement(e,n):e:null}function w4(e){return S4(e)||typeof e=="function"||_4(e)}function S4(e){return typeof e=="function"&&(()=>{const n=Object.getPrototypeOf(e);return n.prototype&&n.prototype.isReactComponent})()}function _4(e){return typeof e=="object"&&typeof e.$$typeof=="symbol"&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}function Z_(e){const n={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[r]=S.useState(()=>({current:x4(n)})),[i,o]=S.useState(()=>r.current.initialState);return r.current.setOptions(l=>({...l,...e,state:{...i,...e.state},onStateChange:u=>{o(u),e.onStateChange==null||e.onStateChange(u)}})),r.current}var El=e=>e.type==="checkbox",za=e=>e instanceof Date,an=e=>e==null;const Wp=e=>typeof e=="object";var Rt=e=>!an(e)&&!Array.isArray(e)&&Wp(e)&&!za(e),C4=e=>Rt(e)&&e.target?El(e.target)?e.target.checked:e.target.value:e,E4=(e,n)=>n.split(".").some((r,i,o)=>!isNaN(Number(r))&&e.has(o.slice(0,i).join("."))),K_=e=>{const n=e.constructor&&e.constructor.prototype;return Rt(n)&&n.hasOwnProperty("isPrototypeOf")},td=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function Mt(e){if(e instanceof Date)return new Date(e);const n=typeof FileList<"u"&&e instanceof FileList;if(td&&(e instanceof Blob||n))return e;const r=Array.isArray(e);if(!r&&!(Rt(e)&&K_(e)))return e;const i=r?[]:Object.create(Object.getPrototypeOf(e));for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(i[o]=Mt(e[o]));return i}const js={BLUR:"blur",FOCUS_OUT:"focusout",SUBMIT:"submit",TRIGGER:"trigger",VALID:"valid"},pr={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},hr={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Y_="root",eg=["__proto__","constructor","prototype"],R4=/^\w*$/;var Rl=e=>R4.test(e),gt=e=>e===void 0;const j4=/[.[\]'"]/;var nd=e=>e.split(j4).filter(Boolean),Se=(e,n,r)=>{if(!n||!Rt(e))return r;const i=Rl(n)?[n]:nd(n);if(i.some(l=>eg.includes(l)))return r;const o=i.reduce((l,u)=>an(l)?void 0:l[u],e);return gt(o)||o===e?gt(e[n])?r:e[n]:o},Tr=e=>typeof e=="boolean",Jn=e=>typeof e=="function",ct=(e,n,r)=>{let i=-1;const o=Rl(n)?[n]:nd(n),l=o.length,u=l-1;for(;++i{const o={};for(const l in e)Object.defineProperty(o,l,{get:()=>{const u=l;return n._proxyFormState[u]!==pr.all&&(n._proxyFormState[u]=!i||pr.all),e[u]}});return o};const A4=td?pe.useLayoutEffect:pe.useEffect;var on=e=>typeof e=="string",M4=(e,n,r,i,o)=>on(e)?(i&&n.watch.add(e),Se(r,e,o)):Array.isArray(e)?e.map(l=>(i&&n.watch.add(l),Se(r,l))):(i&&(n.watchAll=!0),r),Vm=e=>an(e)||!Wp(e);const yx=(e,n)=>n.length===0&&!Array.isArray(e)&&!K_(e);function Or(e,n,r=new WeakMap){if(e===n)return!0;if(Vm(e)||Vm(n))return Object.is(e,n);if(za(e)&&za(n))return Object.is(e.getTime(),n.getTime());const i=Object.keys(e),o=Object.keys(n);if(i.length!==o.length)return!1;if(yx(e,i)||yx(n,o))return Object.is(e,n);if(!i.length&&Array.isArray(e)!==Array.isArray(n))return!1;const l=r.get(e);if(l&&l.has(n))return!0;if(l)l.add(n);else{const u=new WeakSet;u.add(n),r.set(e,u)}for(const u of i){const d=e[u];if(!(u in n))return!1;if(u!=="ref"){const m=n[u];if(za(d)&&za(m)||(Rt(d)||Array.isArray(d))&&(Rt(m)||Array.isArray(m))?!Or(d,m,r):!Object.is(d,m))return!1}}return!0}var eu=e=>({isOnSubmit:!e||e===pr.onSubmit,isOnBlur:e===pr.onBlur,isOnChange:e===pr.onChange,isOnAll:e===pr.all,isOnTouch:e===pr.onTouched}),Jh=(e,n,r)=>{if(r)return!1;if(n.watchAll||n.watch.has(e))return!0;for(const i of n.watch)if(e.startsWith(i)&&e.charAt(i.length)===".")return!0;return!1};const tl=(e,n,r,i)=>{for(const o of r||Object.keys(e)){const l=Se(e,o);if(l){const{_f:u,...d}=l;if(u){if(u.refs&&u.refs[0]&&n(u.refs[0],o)&&!i)return!0;if(u.ref&&n(u.ref,u.name)&&!i)return!0;if(tl(d,n))break}else if(Rt(d)&&tl(d,n))break}}};var bx=(e,n,r)=>{const i=Se(e,r),o=Array.isArray(i)?i:[];return ct(o,Y_,n[r]),ct(e,r,o),e},rn=e=>Rt(e)&&!Object.keys(e).length,tg=e=>e.type==="file",_u=e=>{if(!td)return!1;const n=e?e.ownerDocument:0;return e instanceof(n&&n.defaultView?n.defaultView.HTMLElement:HTMLElement)},ng=e=>e.type==="radio",Cu=e=>e instanceof RegExp,rg=(e,n,r,i,o)=>n?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[i]:o||!0}}:{};const xx={value:!1,isValid:!1},wx={value:!0,isValid:!0};var Q_=e=>{if(Array.isArray(e)){if(e.length>1){const n=e.filter(r=>r&&r.checked&&!r.disabled).map(r=>r.value);return{value:n,isValid:!!n.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!gt(e[0].attributes.value)?gt(e[0].value)||e[0].value===""?wx:{value:e[0].value,isValid:!0}:wx:xx}return xx};const Sx={isValid:!1,value:null};var X_=e=>Array.isArray(e)?e.reduce((n,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:n,Sx):Sx;function _x(e,n,r="validate"){if(on(e)||Array.isArray(e)&&e.every(on)||Tr(e)&&!e)return{type:r,message:on(e)?e:"",ref:n}}var Ts=e=>Rt(e)&&!Cu(e)?e:{value:e,message:""},Cx=async(e,n,r,i,o,l)=>{const{ref:u,refs:d,required:m,maxLength:p,minLength:y,min:v,max:b,pattern:x,validate:w,name:_,valueAsNumber:E,mount:R}=e._f,T=Se(r,_);if(!R||n.has(_))return{};const O=d?d[0]:u,N=de=>{if(o&&O.reportValidity){const le=Tr(de)?"":de||"";d?d.forEach(te=>te.setCustomValidity(le)):O.setCustomValidity(le),O.reportValidity()}},z={},U=ng(u),$=El(u),F=U||$,ve=(E||tg(u))&>(u.value)&>(T)||_u(u)&&u.value===""||T===""||Array.isArray(T)&&!T.length,ye=rg.bind(null,_,i,z),me=(de,le,te,ge=hr.maxLength,L=hr.minLength)=>{const K=de?le:te;z[_]={type:de?ge:L,message:K,ref:u,...ye(de?ge:L,K)}};if(l?!Array.isArray(T)||!T.length:m&&(!F&&(ve||an(T))||Tr(T)&&!T||$&&!Q_(d).isValid||U&&!X_(d).isValid)){const{value:de,message:le}=on(m)?{value:!!m,message:m}:Ts(m);if(de&&(z[_]={type:hr.required,message:le,ref:O,...ye(hr.required,le)},!i))return N(le),z}if(!ve&&(!an(v)||!an(b))){let de,le;const te=Ts(b),ge=Ts(v);if(!an(T)&&!isNaN(T)){const L=u.valueAsNumber||T&&+T;an(te.value)||(de=L>te.value),an(ge.value)||(le=Lnew Date(new Date().toDateString()+" "+ne),re=u.type=="time",W=u.type=="week";on(te.value)&&T&&(de=re?K(T)>K(te.value):W?T>te.value:L>new Date(te.value)),on(ge.value)&&T&&(le=re?K(T)+de.value,ge=!an(le.value)&&T.length<+le.value;if((te||ge)&&(me(te,de.message,le.message),!i))return N(z[_].message),z}if(x&&!ve&&on(T)){const{value:de,message:le}=Ts(x);if(Cu(de)&&!T.match(de)&&(z[_]={type:hr.pattern,message:le,ref:u,...ye(hr.pattern,le)},!i))return N(le),z}if(w){if(Jn(w)){const de=await w(T,r),le=_x(de,O);if(le&&(z[_]={...le,...ye(hr.validate,le.message)},!i))return N(le.message),z}else if(Rt(w)){let de={};for(const le in w){if(!rn(de)&&!i)break;const te=_x(await w[le](T,r),O,le);te&&(de={...te,...ye(le,te.message)},N(te.message),i&&(z[_]=de))}if(!rn(de)&&(z[_]={ref:O,...de},!i))return z}}return N(!0),z},cu=e=>Array.isArray(e)?e:[e],J_=e=>Array.isArray(e)?e.filter(Boolean):[];function N4(e,n){const r=n.slice(0,-1).length;let i=0;for(;ieg.includes(String(u))))return e;const i=r.length===1?e:N4(e,r),o=r.length-1,l=r[o];return i&&delete i[l],o!==0&&(Rt(i)&&rn(i)||Array.isArray(i)&&D4(i))&&Nt(e,r.slice(0,-1)),e}const W_=e=>{const n={};for(const r of Object.keys(e))if(Wp(e[r])&&e[r]!==null&&!za(e[r])){const i=W_(e[r]);for(const o of Object.keys(i))n[`${r}.${o}`]=i[o]}else n[r]=e[r];return n},z4=pe.createContext(null);z4.displayName="HookFormContext";var Ex=()=>{let e=[];return{get observers(){return e},next:o=>{for(const l of e)l.next&&l.next(o)},subscribe:o=>(e.push(o),{unsubscribe:()=>{e=e.filter(l=>l!==o)}}),unsubscribe:()=>{e=[]}}};function eC(e,n){const r={};for(const i in e)if(e.hasOwnProperty(i)){const o=e[i],l=n[i];if(o&&Rt(o)&&l){const u=eC(o,l);Rt(u)&&(r[i]=u)}else e[i]&&(r[i]=l)}return r}var tC=e=>e.type==="select-multiple",k4=e=>ng(e)||El(e),Wh=e=>_u(e)&&e.isConnected,L4=e=>{for(const n in e)if(Jn(e[n]))return!0;return!1};function nC(e){return Array.isArray(e)||Rt(e)&&!L4(e)}function rC(e){return!!(e&&"_f"in e)}function aC(e){return Array.isArray(e)?!e.some(n=>!gt(n)):!Object.keys(e).length}function Um(e,n){Array.isArray(e)?e[n]=void 0:delete e[n]}function Hm(e,n={},r){for(const i in e){const o=e[i],l=r&&r[i];nC(o)&&(!Array.isArray(o)||!rC(l))?(n[i]=Array.isArray(o)?[]:{},Hm(o,n[i],l),aC(n[i])&&Um(n,i)):gt(o)||(n[i]=!0)}return n}function bi(e,n,r,i){r||(r=Hm(n,{},i));for(const o in e){const l=e[o],u=i&&i[o];nC(l)&&(!Array.isArray(l)||!rC(u))?(gt(n)||Vm(r[o])?r[o]=Hm(l,Array.isArray(l)?[]:{},u):bi(l,an(n)?{}:n[o],r[o],u),aC(r[o])&&Um(r,o)):Or(l,n[o])?Um(r,o):r[o]=!0}return r}var iC=(e,{valueAsNumber:n,valueAsDate:r,setValueAs:i})=>gt(e)?e:n?e===""?NaN:e&&+e:r&&on(e)?new Date(e):i?i(e):e;function Rx(e){const n=e.ref;return tg(n)?n.files:ng(n)?X_(e.refs).value:tC(n)?[...n.selectedOptions].map(({value:r})=>r):El(n)?Q_(e.refs).value:iC(gt(n.value)?e.ref.value:n.value,e)}var $4=(e,n,r,i)=>{const o={};for(const l of e){const u=Se(n,l);u&&ct(o,l,u._f)}return{criteriaMode:r,names:[...e],fields:o,shouldUseNativeValidation:i}},qo=e=>gt(e)?e:Cu(e)?e.source:Rt(e)?Cu(e.value)?e.value.source:e.value:e;const jx="AsyncFunction";var I4=e=>{if(!e||!e.validate)return!1;if(Jn(e.validate))return e.validate.constructor.name===jx;if(Rt(e.validate)){for(const n in e.validate)if(e.validate[n].constructor.name===jx)return!0}return!1},P4=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function Tx(e,n,r){const i=Se(e,r);if(i||Rl(r))return{error:i,name:r};const o=r.split(".");for(;o.length;){const l=o.join("."),u=Se(n,l),d=Se(e,l);if(u&&!Array.isArray(u)&&r!==l)return{name:r};if(d&&d.type)return{name:l,error:d};if(d&&d.root&&d.root.type)return{name:`${l}.root`,error:d.root};o.pop()}return{name:r}}var F4=(e,n,r,i)=>{r(e);const{name:o,...l}=e,u=Object.keys(l);return!u.length||i&&u.length>=Object.keys(n).length||u.find(d=>n[d]===(!i||pr.all))},V4=(e,n,r)=>!e||!n||e===n||cu(e).some(i=>i&&(r?i===n||i.startsWith(n+"."):i.startsWith(n)||n.startsWith(i))),U4=(e,n,r,i,o)=>o.isOnAll?!1:!r&&o.isOnTouch?!(n||e):(r?i.isOnBlur:o.isOnBlur)?!e:(r?i.isOnChange:o.isOnChange)?e:!0,H4=(e,n)=>!J_(Se(e,n)).length&&Nt(e,n);const B4={mode:pr.onSubmit,reValidateMode:pr.onChange,shouldFocusError:!0},em="form",sC={submitCount:0,isDirty:!1,isReady:!1,isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{}};function q4(e={}){let n={...B4,...e},r={...Mt(sC),isLoading:Jn(n.defaultValues),errors:n.errors||{},disabled:n.disabled||!1},i={},o=Rt(n.defaultValues)||Rt(n.values)?Mt(n.defaultValues||n.values)||{}:{},l=n.shouldUnregister?{}:Mt(o),u={action:!1,mount:!1,watch:!1,keepIsValid:!1},d={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set};const m={},p={};let y=0,v=eu(n.mode),b=eu(n.reValidateMode);const x={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},w={...x};let _={...w};const E={array:Ex(),state:Ex()};let R=0;const T=n.criteriaMode===pr.all,O=(A,P)=>V=>{clearTimeout(p[A]),p[A]=setTimeout(P,V)},N=async A=>{if(!u.keepIsValid&&!n.disabled&&(w.isValid||_.isValid||A)){const P=++R;let V;n.resolver?(V=rn((await te()).errors),P===R&&z()):V=await K({fields:i,onlyCheckValid:!0,eventType:js.VALID}),P===R&&V!==r.isValid&&E.state.next({isValid:V})}},z=(A,P)=>{!n.disabled&&(w.isValidating||w.validatingFields||_.isValidating||_.validatingFields)&&((A||Array.from(d.mount)).forEach(V=>{V&&(P?ct(r.validatingFields,V,P):Nt(r.validatingFields,V))}),E.state.next({validatingFields:r.validatingFields,isValidating:!rn(r.validatingFields)}))},U=()=>{r.dirtyFields=bi(o,l,void 0,i)},$=(A,P=[],V,ue,Z=!0,J=!0)=>{if(ue&&V&&!n.disabled){if(u.action=!0,J&&Array.isArray(Se(i,A))){const fe=V(Se(i,A),ue.argA,ue.argB);Z&&ct(i,A,fe)}if(J&&Array.isArray(Se(r.errors,A))){const fe=V(Se(r.errors,A),ue.argA,ue.argB);Z&&ct(r.errors,A,fe),H4(r.errors,A)}if((w.touchedFields||_.touchedFields)&&J&&Array.isArray(Se(r.touchedFields,A))){const fe=V(Se(r.touchedFields,A),ue.argA,ue.argB);Z&&ct(r.touchedFields,A,fe)}(w.dirtyFields||_.dirtyFields)&&U(),E.state.next({name:A,isDirty:W(A,P),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else ct(l,A,P)},F=(A,P)=>{ct(r.errors,A,P),r.errors={...r.errors},E.state.next({errors:r.errors})},ve=A=>{r.errors=A,E.state.next({errors:r.errors,isValid:!1})},ye=A=>{const P=Rl(A)?[A]:nd(A);let V=l,ue=o;for(let Z=0;Z{const Z=Se(i,A);if(Z){if(ye(A))return;const J=gt(Se(l,A)),fe=Se(l,A,gt(V)?Se(o,A):V);gt(fe)||ue&&ue.defaultChecked||P?ct(l,A,P?fe:Rx(Z._f)):M(A,fe),u.mount&&!u.action&&(N(),J&&r.isDirty&&(w.isDirty||_.isDirty)&&(W()||(r.isDirty=!1,E.state.next({...r}))),e.shouldUnregister&&J&&!gt(Se(l,A))&&Jh(A,d)&&(u.watch=!0))}},de=(A,P,V,ue,Z)=>{let J=!1,fe=!1;const we={name:A};if(!n.disabled||ue===!0){if(!V||ue){const _e=Or(Se(o,A),P);(w.isDirty||_.isDirty)&&(fe=r.isDirty,r.isDirty=we.isDirty=!_e||W(),J=fe!==we.isDirty),fe=!!Se(r.dirtyFields,A),_e!==r.isDirty?r.dirtyFields=bi(o,l,void 0,i):_e?Nt(r.dirtyFields,A):ct(r.dirtyFields,A,!0),we.dirtyFields=r.dirtyFields,J=J||(w.dirtyFields||_.dirtyFields)&&fe!==!_e}if(V){const _e=Se(r.touchedFields,A);_e||(ct(r.touchedFields,A,V),we.touchedFields=r.touchedFields,J=J||(w.touchedFields||_.touchedFields)&&_e!==V)}J&&Z&&E.state.next(we)}return J?we:{}},le=(A,P,V,ue)=>{const Z=Se(r.errors,A),J=(w.isValid||_.isValid)&&Tr(P)&&r.isValid!==P;if(n.delayError&&V?(m[A]=O(A,()=>F(A,V)),m[A](n.delayError)):(clearTimeout(p[A]),delete m[A],V?ct(r.errors,A,V):Nt(r.errors,A),r.errors={...r.errors}),(V?!Or(Z,V):Z)||!rn(ue)||J){const fe={...ue,...J&&Tr(P)?{isValid:P}:{},errors:r.errors,name:A};r={...r,...fe},E.state.next(fe)}},te=async A=>(z(A,!0),await n.resolver(l,n.context,$4(A||d.mount,i,n.criteriaMode,n.shouldUseNativeValidation))),ge=async A=>{const{errors:P}=await te(A);if(z(A),A){for(const V of A){const ue=Se(P,V);ue?d.array.has(V)&&Rt(ue)&&!Object.keys(ue).some(Z=>!Number.isNaN(Number(Z)))?bx(r.errors,{[V]:ue},V):ct(r.errors,V,ue):Nt(r.errors,V)}r.errors={...r.errors}}else r.errors=P;return P},L=async({name:A,eventType:P})=>{if(e.validate){const V=await e.validate({formValues:l,formState:r,name:A,eventType:P});if(Rt(V))for(const ue in V){const Z=V[ue];Z&&it(`${em}.${ue}`,{message:on(Z.message)?Z.message:"",type:Z.type||hr.validate})}else on(V)||!V?it(em,{message:V||"",type:hr.validate}):Ve(em);return V}return!0},K=async({fields:A,onlyCheckValid:P,name:V,eventType:ue,context:Z={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(Z.runRootValidation=!0,!await L({name:V,eventType:ue})&&(Z.valid=!1,P)))return Z.valid;for(const J in A){const fe=A[J];if(fe){const{_f:we,..._e}=fe;if(we){const Xe=d.array.has(we.name),wt=fe._f&&I4(fe._f),Xt=w.validatingFields||w.isValidating||_.validatingFields||_.isValidating;wt&&Xt&&z([we.name],!0);const zt=await Cx(fe,d.disabled,l,T,n.shouldUseNativeValidation&&!P,Xe);if(wt&&Xt&&z([we.name]),zt[we.name]&&(Z.valid=!1,P)||(!P&&(Se(zt,we.name)?Xe?bx(r.errors,zt,we.name):ct(r.errors,we.name,zt[we.name]):Nt(r.errors,we.name)),e.shouldUseNativeValidation&&zt[we.name]))break}!rn(_e)&&await K({context:Z,onlyCheckValid:P,fields:_e,name:J,eventType:ue})}}return Z.valid},re=()=>{for(const A of d.unMount){const P=Se(i,A);P&&(P._f.refs?P._f.refs.every(V=>!Wh(V)):!Wh(P._f.ref))&&Qt(A)}d.unMount=new Set},W=(A,P)=>(A&&P&&ct(l,A,P),!Or(u.mount?l:o,o)),ne=(A,P,V)=>M4(A,d,{...u.mount?l:gt(P)?o:on(A)?{[A]:P}:P},V,P),D=A=>J_(Se(u.mount?l:o,A,n.shouldUnregister?Se(o,A,[]):[])),M=(A,P,V={},ue=!1,Z=!1)=>{const J=Se(i,A);let fe=P;if(J){const we=J._f;we&&(!we.disabled&&ct(l,A,iC(P,we)),fe=_u(we.ref)&&an(P)?"":P,tC(we.ref)?[...we.ref.options].forEach(_e=>_e.selected=fe.includes(_e.value)):we.refs?El(we.ref)?we.refs.forEach(_e=>{(!_e.defaultChecked||!_e.disabled)&&(Array.isArray(fe)?_e.checked=!!fe.find(Xe=>Xe===_e.value):_e.checked=fe===_e.value||!!fe)}):we.refs.forEach(_e=>_e.checked=_e.value===fe):tg(we.ref)?we.ref.value="":(we.ref.value=fe,!we.ref.type&&!Z&&E.state.next({name:A,values:ue?l:Mt(l)})))}(V.shouldDirty||V.shouldTouch)&&de(A,fe,V.shouldTouch,V.shouldDirty,!Z),V.shouldValidate&&xe(A,{delayError:V.delayError})},B=(A,P,V,ue=!1,Z=!1)=>{for(const J in P){if(!P.hasOwnProperty(J))return;const fe=P[J],we=A+"."+J,_e=Se(i,we);(d.array.has(A)||Rt(fe)||_e&&!_e._f)&&!za(fe)?B(we,fe,V,ue,Z):M(we,fe,V,ue,Z)}},X=(A,P,V,ue,Z=!1)=>{const J=Se(i,A),fe=d.array.has(A),we=ue?P:Mt(P),_e=Se(l,A),Xe=Or(_e,we);if(Xe||ct(l,A,we),fe)E.array.next({name:A,values:ue?l:Mt(l)}),(w.isDirty||w.dirtyFields||_.isDirty||_.dirtyFields)&&V.shouldDirty&&(U(),Z||E.state.next({name:A,dirtyFields:r.dirtyFields,isDirty:W(A,we)}));else{const wt=Array.isArray(we)&&!we.length||rn(we);!J||J._f||an(we)||wt?M(A,we,V,ue,Z):B(A,we,V,ue,Z)}if(!Xe&&!Z){const wt=Jh(A,d),Xt=ue?l:Mt(l);E.state.next({...wt&&r,name:u.mount||wt?A:void 0,values:Xt})}},Y=(A,P,V={})=>X(A,P,V,!1),ce=(A,P={})=>{const V=Jn(A)?A(l):A;if(!Or(l,V)){l={...l,...V};const ue=W_(V);for(const Z of d.mount)Z in ue&&X(Z,ue[Z],P,!0,!0);E.state.next({...r,name:void 0,type:void 0,...y?{values:l}:{}}),P.shouldValidate&&N()}},ae=async A=>{u.mount=!0;const P=A.target;let V=P.name,ue=!0;const Z=Se(i,V),J=fe=>{ue=Number.isNaN(fe)||za(fe)&&isNaN(fe.getTime())||Or(fe,Se(l,V,fe))};if(Z){let fe,we;const _e=P.type?Rx(Z._f):C4(A),Xe=A.type===js.BLUR||A.type===js.FOCUS_OUT,wt=!P4(Z._f)&&!e.validate&&!n.resolver&&!Se(r.errors,V)&&!Z._f.deps,Xt=wt||U4(Xe,Se(r.touchedFields,V),r.isSubmitted,b,v),zt=Jh(V,d,Xe);if(ct(l,V,_e),Xe){if(!P||!P.readOnly){Z._f.onBlur&&Z._f.onBlur(A);const yt=m[V];yt&&yt(0)}}else Z._f.onChange&&Z._f.onChange(A);const Ne=de(V,_e,Xe),ht=!rn(Ne)||zt;if(!Xe&&E.state.next({name:V,type:A.type,...y?{values:Mt(l)}:{}}),Xt)return(!wt||!r.isValid)&&(w.isValid||_.isValid)&&(n.mode==="onBlur"?Xe&&N():Xe||N()),ht&&E.state.next({name:V,...zt?{}:Ne});if(!n.resolver&&e.validate&&await L({name:V,eventType:A.type}),!Xe&&zt&&E.state.next({...r}),n.resolver){const{errors:yt}=await te([V]);if(z([V]),J(_e),!ue){!rn(Ne)&&E.state.next(Ne);return}const qt=Tx(r.errors,i,V),or=Tx(yt,i,qt.name||V);fe=or.error,V=or.name,we=rn(yt)}else z([V],!0),fe=(await Cx(Z,d.disabled,l,T,n.shouldUseNativeValidation))[V],z([V]),J(_e),ue&&(fe?we=!1:(w.isValid||_.isValid)&&(we=await K({fields:i,onlyCheckValid:!0,name:V,eventType:A.type})));ue&&(Z._f.deps&&(!Array.isArray(Z._f.deps)||Z._f.deps.length>0)&&xe(Z._f.deps),le(V,we,fe,Ne))}},be=(A,P)=>{if(Se(r.errors,P)&&A.focus)return A.focus(),1},xe=async(A,P={})=>{let V,ue;const Z=cu(A);if(n.resolver){const J=await ge(gt(A)?A:Z);V=rn(J),ue=A?!Z.some(fe=>Se(J,fe)):V}else A?(ue=(await Promise.all(Z.map(async J=>{const fe=Se(i,J);return await K({fields:fe&&fe._f?{[J]:fe}:fe,eventType:js.TRIGGER})}))).every(Boolean),!(!ue&&!r.isValid)&&N()):ue=V=await K({fields:i,name:A,eventType:js.TRIGGER});if(P.delayError&&n.delayError&&on(A)){const J=Se(r.errors,A);J?(Nt(r.errors,A),m[A]=O(A,()=>F(A,J)),m[A](n.delayError)):(clearTimeout(p[A]),delete m[A])}return E.state.next({...!on(A)||(w.isValid||_.isValid)&&V!==r.isValid?{}:{name:A},...n.resolver||!A?{isValid:V}:{},errors:r.errors}),P.shouldFocus&&!ue&&tl(i,be,A?Z:d.mount),ue},Oe=(A,P)=>{let V={...u.mount?l:o};return P&&(V=eC(P.dirtyFields?r.dirtyFields:r.touchedFields,V)),gt(A)?V:on(A)?Se(V,A):A.map(ue=>Se(V,ue))},Ie=(A,P)=>({invalid:!!Se((P||r).errors,A),isDirty:!!Se((P||r).dirtyFields,A),error:Se((P||r).errors,A),isValidating:!!Se(r.validatingFields,A),isTouched:!!Se((P||r).touchedFields,A)}),Ve=A=>{const P=A?cu(A):void 0;P?.forEach(V=>Nt(r.errors,V)),P?P.forEach(V=>{E.state.next({name:V,errors:r.errors})}):E.state.next({errors:{}})},it=(A,P,V)=>{const ue=(Se(i,A,{_f:{}})._f||{}).ref,Z=Se(r.errors,A)||{},{ref:J,message:fe,type:we,..._e}=Z;ct(r.errors,A,{..._e,...P,ref:ue}),E.state.next({name:A,errors:r.errors,isValid:!1}),V&&V.shouldFocus&&ue&&ue.focus&&ue.focus()},Qe=(A,P)=>{if(Jn(A)){y++;const{unsubscribe:V}=E.state.subscribe({next:Z=>"values"in Z&&A(Z.values||ne(void 0,P),Z)});let ue=!1;return{unsubscribe:()=>{ue||(ue=!0,y--,V())}}}return ne(A,P,!0)},fn=A=>{var P;const V=!!(!((P=A.formState)===null||P===void 0)&&P.values);V&&y++;const{unsubscribe:ue}=E.state.subscribe({next:J=>{if(V4(A.name,J.name,A.exact)&&F4(J,A.formState||w,ir,A.reRenderRoot)){const fe={...l};A.callback({values:fe,...r,...J,defaultValues:o})}}});if(!V)return ue;let Z=!1;return()=>{Z||(Z=!0,y--,ue())}},hn=A=>(u.mount=!0,_={..._,...A.formState},fn({...A,formState:{...x,...A.formState}})),Qt=(A,P={})=>{for(const V of A?cu(A):d.mount)d.mount.delete(V),d.array.delete(V),P.keepValue||(Nt(i,V),Nt(l,V)),!P.keepError&&Nt(r.errors,V),!P.keepDirty&&Nt(r.dirtyFields,V),!P.keepTouched&&Nt(r.touchedFields,V),!P.keepIsValidating&&Nt(r.validatingFields,V),!n.shouldUnregister&&!P.keepDefaultValue&&Nt(o,V);E.state.next({values:Mt(l)}),E.state.next({...r,...P.keepDirty?{isDirty:W()}:{}}),!P.keepIsValid&&N()},br=({disabled:A,name:P})=>{if(Tr(A)&&u.mount||A||d.disabled.has(P)){const Z=d.disabled.has(P)!==!!A;A?d.disabled.add(P):d.disabled.delete(P),Z&&u.mount&&!u.action&&N()}},jt=(A,P={})=>{let V=Se(i,A);const ue=Tr(P.disabled)||Tr(n.disabled),Z=!d.registerName.has(A)&&V&&V._f&&!V._f.mount;return ct(i,A,{...V||{},_f:{...V&&V._f?V._f:{ref:{name:A}},name:A,mount:!0,...P}}),d.mount.add(A),V&&!Z?br({disabled:Tr(P.disabled)?P.disabled:n.disabled,name:A}):me(A,!0,P.value),{...ue?{disabled:P.disabled||n.disabled}:{},...n.progressive?{required:!!P.required,min:qo(P.min),max:qo(P.max),minLength:qo(P.minLength),maxLength:qo(P.maxLength),pattern:qo(P.pattern)}:{},name:A,onChange:ae,onBlur:ae,ref:J=>{if(J){d.registerName.add(A),jt(A,P),d.registerName.delete(A),V=Se(i,A);const fe=gt(J.value)&&J.querySelectorAll&&J.querySelectorAll("input,select,textarea")[0]||J,we=k4(fe),_e=V._f.refs||[];if(we?_e.find(Xe=>Xe===fe):fe===V._f.ref)return;ct(i,A,{_f:{...V._f,...we?{refs:[..._e.filter(Wh),fe,...Array.isArray(Se(o,A))?[{}]:[]],ref:{type:fe.type,name:A}}:{ref:fe}}}),me(A,!1,void 0,fe)}else V=Se(i,A,{}),V._f&&(V._f.mount=!1),(n.shouldUnregister||P.shouldUnregister)&&!(E4(d.array,A)&&u.action)&&d.unMount.add(A)}}},rr=()=>n.shouldFocusError&&!n.shouldUseNativeValidation&&tl(i,be,d.mount),xr=A=>{Tr(A)&&(E.state.next({disabled:A}),tl(i,(P,V)=>{const ue=Se(i,V);ue&&(P.disabled=ue._f.disabled||A,Array.isArray(ue._f.refs)&&ue._f.refs.forEach(Z=>{Z.disabled=ue._f.disabled||A}))},0,!1))},Tt=(A,P)=>async V=>{let ue;V&&(V.preventDefault&&V.preventDefault(),V.persist&&V.persist());let Z=Mt(l);if(E.state.next({isSubmitting:!0}),n.resolver){const{errors:J,values:fe}=await te();z(),r.errors=J,Z=Mt(fe)}else await K({fields:i,eventType:js.SUBMIT});if(d.disabled.size)for(const J of d.disabled)Nt(Z,J);if(Nt(r.errors,Y_),rn(r.errors)){E.state.next({errors:{}});try{await A(Z,V)}catch(J){ue=J}}else P&&await P({...r.errors},V),rr(),setTimeout(rr);if(E.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:rn(r.errors)&&!ue,submitCount:r.submitCount+1,errors:r.errors}),ue)throw ue},Vn=(A,P={})=>{Se(i,A)&&(gt(P.defaultValue)?Y(A,Mt(Se(o,A))):(Y(A,P.defaultValue),ct(o,A,Mt(P.defaultValue))),P.keepTouched||Nt(r.touchedFields,A),P.keepDirty||(Nt(r.dirtyFields,A),r.isDirty=P.defaultValue?W(A,Mt(Se(o,A))):W()),P.keepError||(Nt(r.errors,A),w.isValid&&N()),E.state.next({...r}))},Dt=(A,P={})=>{const V=A?Mt(A):o,ue=Mt(V),Z=rn(A),J=ue,fe=i;if(P.keepDefaultValues||(o=V),!P.keepValues){if(P.keepDirtyValues){const we=new Set([...d.mount,...Object.keys(bi(o,l,void 0,fe))]);for(const _e of Array.from(we)){const Xe=Se(r.dirtyFields,_e),wt=Se(l,_e),Xt=Se(J,_e);Xe&&!gt(wt)?ct(J,_e,wt):!Xe&&!gt(Xt)&&Y(_e,Xt)}}else{if(td&>(A))for(const we of d.mount){const _e=Se(i,we);if(_e&&_e._f){const Xe=Array.isArray(_e._f.refs)?_e._f.refs[0]:_e._f.ref;if(_u(Xe)){const wt=Xe.closest("form");if(wt){wt.reset();break}}}}if(P.keepFieldsRef)for(const we of d.mount)Y(we,Se(J,we));else i={}}if(n.shouldUnregister){if(l=P.keepDefaultValues?Mt(o):{},P.keepFieldsRef)for(const we of d.mount)ct(l,we,Se(J,we))}else l=Mt(J);E.array.next({values:{...J}}),E.state.next({name:void 0,type:void 0,values:{...J}})}d={mount:P.keepDirtyValues?d.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},u.mount=!w.isValid||!!P.keepIsValid||!!P.keepDirtyValues||!n.shouldUnregister&&!rn(J),u.watch=!!n.shouldUnregister,u.keepIsValid=!!P.keepIsValid,u.action=!1,P.keepErrors||(r.errors={}),E.state.next({submitCount:P.keepSubmitCount?r.submitCount:0,isDirty:Z?!1:P.keepDirty?r.isDirty:P.keepValues?W():!!(P.keepDefaultValues&&!Or(A,o)),isSubmitted:P.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:Z?{}:P.keepDirtyValues?P.keepDefaultValues&&l?bi(o,l,void 0,fe):r.dirtyFields:P.keepDefaultValues&&A?bi(o,A,void 0,fe):P.keepDirty?r.dirtyFields:{},touchedFields:P.keepTouched?r.touchedFields:{},errors:P.keepErrors?r.errors:{},isSubmitSuccessful:P.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:o})},kr=(A,P)=>Dt(Jn(A)?A(l):A,{...n.resetOptions,...P}),ar=(A,P={})=>{const V=Se(i,A),ue=V&&V._f;if(ue){const Z=ue.refs?ue.refs[0]:ue.ref;Z.focus&&setTimeout(()=>{Z.focus(),P.shouldSelect&&Jn(Z.select)&&Z.select()})}},ir=A=>{const{name:P,type:V,values:ue,...Z}=A;r={...r,...Z}},mn={control:{register:jt,unregister:Qt,getFieldState:Ie,handleSubmit:Tt,setError:it,_subscribe:fn,_runSchema:te,_updateIsValidating:z,_focusError:rr,_getWatch:ne,_getDirty:W,_setValid:N,_setFieldArray:$,_setDisabledField:br,_setErrors:ve,_getFieldArray:D,_reset:Dt,_resetDefaultValues:()=>Jn(n.defaultValues)&&n.defaultValues().then(A=>{kr(A,n.resetOptions),E.state.next({isLoading:!1})}),_removeUnmounted:re,_disableForm:xr,_subjects:E,_proxyFormState:w,get _fields(){return i},get _formValues(){return l},get _state(){return u},set _state(A){u=A},get _defaultValues(){return o},get _names(){return d},set _names(A){d=A},get _formState(){return r},get _options(){return n},set _options(A){n={...n,...A},v=eu(n.mode),b=eu(n.reValidateMode)}},subscribe:hn,trigger:xe,register:jt,handleSubmit:Tt,watch:Qe,setValue:Y,setValues:ce,getValues:Oe,reset:kr,resetField:Vn,resetDefaultValues:(A,P={})=>{if(o=Mt(A),!P.keepDirty){const V=bi(o,l,void 0,i);r.dirtyFields=V,r.isDirty=!rn(V)}P.keepIsValid||N(),E.state.next({...r,defaultValues:o})},clearErrors:Ve,unregister:Qt,setError:it,setFocus:ar,getFieldState:Ie};return{...mn,formControl:mn}}function ag(e={}){const n=pe.useRef(void 0),r=pe.useRef(void 0),i=pe.useRef(e.formControl),[o,l]=pe.useState(()=>({...Mt(sC),isLoading:Jn(e.defaultValues),errors:e.errors||{},disabled:e.disabled||!1,defaultValues:Jn(e.defaultValues)?void 0:e.defaultValues}));if(!n.current||e.formControl&&i.current!==e.formControl)if(i.current=e.formControl,e.formControl)n.current={...e.formControl,formState:o},e.defaultValues&&!Jn(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:d,...m}=q4(e);n.current={...m,formState:o}}const u=n.current.control;return u._options=e,A4(()=>{const d=u._subscribe({formState:u._proxyFormState,callback:()=>l({...u._formState,defaultValues:u._defaultValues}),reRenderRoot:!0});return l(m=>({...m,isReady:!0})),u._formState.isReady=!0,d},[u]),pe.useEffect(()=>u._disableForm(e.disabled),[u,e.disabled]),pe.useEffect(()=>{e.mode&&(u._options.mode=e.mode),e.reValidateMode&&(u._options.reValidateMode=e.reValidateMode)},[u,e.mode,e.reValidateMode]),pe.useEffect(()=>{e.errors&&(u._setErrors(e.errors),u._focusError())},[u,e.errors]),pe.useEffect(()=>{e.shouldUnregister&&u._subjects.state.next({values:u._getWatch()})},[u,e.shouldUnregister]),pe.useEffect(()=>{if(u._proxyFormState.isDirty){const d=u._getDirty();d!==o.isDirty&&u._subjects.state.next({isDirty:d})}},[u,o.isDirty]),pe.useEffect(()=>{var d;e.values&&!Or(e.values,r.current)?(u._reset(e.values,{keepFieldsRef:!0,...u._options.resetOptions}),!((d=u._options.resetOptions)===null||d===void 0)&&d.keepIsValid||u._setValid(),r.current=e.values,l(m=>({...m}))):u._resetDefaultValues()},[u,e.values]),pe.useEffect(()=>{u._state.mount||(u._setValid(),u._state.mount=!0),u._state.watch&&(u._state.watch=!1,u._subjects.state.next({...u._formState})),u._removeUnmounted()}),n.current.formState=pe.useMemo(()=>O4(o,u),[u,o]),n.current}const Ox=(e,n,r)=>{if(e&&"reportValidity"in e){const i=Se(r,n);e.setCustomValidity(i&&i.message||""),e.reportValidity()}},Bm=(e,n)=>{for(const r in n.fields){const i=n.fields[r];i&&i.ref&&"reportValidity"in i.ref?Ox(i.ref,r,e):i&&i.refs&&i.refs.forEach(o=>Ox(o,r,e))}},Ax=(e,n)=>{n.shouldUseNativeValidation&&Bm(e,n);const r={};for(const i in e){const o=Se(n.fields,i),l=Object.assign(e[i]||{},{ref:o&&o.ref});if(G4(n.names||Object.keys(e),i)){const u=Object.assign({},Se(r,i));ct(u,"root",l),ct(r,i,u)}else ct(r,i,l)}return r},G4=(e,n)=>{const r=Mx(n).replace(/[.*+?^${}()|\\]/g,"\\$&");return e.some(i=>Mx(i).match(`^${r}\\.\\d+`))};function Mx(e){return e.replace(/[\[\]]/g,"")}var Nx;function he(e,n,r){function i(d,m){if(d._zod||Object.defineProperty(d,"_zod",{value:{def:m,constr:u,traits:new Set},enumerable:!1}),d._zod.traits.has(e))return;d._zod.traits.add(e),n(d,m);const p=u.prototype,y=Object.keys(p);for(let v=0;vr?.Parent&&d instanceof r.Parent?!0:d?._zod?.traits?.has(e)}),Object.defineProperty(u,"name",{value:e}),u}class Is extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class oC extends Error{constructor(n){super(`Encountered unidirectional transform during encode: ${n}`),this.name="ZodEncodeError"}}(Nx=globalThis).__zod_globalConfig??(Nx.__zod_globalConfig={});const ig=globalThis.__zod_globalConfig;function Ti(e){return ig}function lC(e){const n=Object.values(e).filter(i=>typeof i=="number");return Object.entries(e).filter(([i,o])=>n.indexOf(+i)===-1).map(([i,o])=>o)}function qm(e,n){return typeof n=="bigint"?n.toString():n}function sg(e){return{get value(){{const n=e();return Object.defineProperty(this,"value",{value:n}),n}}}}function og(e){return e==null}function lg(e){const n=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(n,r)}const Dx=Symbol("evaluating");function dt(e,n,r){let i;Object.defineProperty(e,n,{get(){if(i!==Dx)return i===void 0&&(i=Dx,i=r()),i},set(o){Object.defineProperty(e,n,{value:o})},configurable:!0})}function $i(e,n,r){Object.defineProperty(e,n,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Xa(...e){const n={};for(const r of e){const i=Object.getOwnPropertyDescriptors(r);Object.assign(n,i)}return Object.defineProperties({},n)}function zx(e){return JSON.stringify(e)}function Z4(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const cC="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Eu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const K4=sg(()=>{if(ig.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function hl(e){if(Eu(e)===!1)return!1;const n=e.constructor;if(n===void 0||typeof n!="function")return!0;const r=n.prototype;return!(Eu(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function uC(e){return hl(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}const Y4=new Set(["string","number","symbol"]);function rd(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ja(e,n,r){const i=new e._zod.constr(n??e._zod.def);return(!n||r?.parent)&&(i._zod.parent=e),i}function Le(e){const n=e;if(!n)return{};if(typeof n=="string")return{error:()=>n};if(n?.message!==void 0){if(n?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");n.error=n.message}return delete n.message,typeof n.error=="string"?{...n,error:()=>n.error}:n}function Q4(e){return Object.keys(e).filter(n=>e[n]._zod.optin==="optional"&&e[n]._zod.optout==="optional")}function X4(e,n){const r=e._zod.def,i=r.checks;if(i&&i.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const l=Xa(e._zod.def,{get shape(){const u={};for(const d in n){if(!(d in r.shape))throw new Error(`Unrecognized key: "${d}"`);n[d]&&(u[d]=r.shape[d])}return $i(this,"shape",u),u},checks:[]});return Ja(e,l)}function J4(e,n){const r=e._zod.def,i=r.checks;if(i&&i.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const l=Xa(e._zod.def,{get shape(){const u={...e._zod.def.shape};for(const d in n){if(!(d in r.shape))throw new Error(`Unrecognized key: "${d}"`);n[d]&&delete u[d]}return $i(this,"shape",u),u},checks:[]});return Ja(e,l)}function W4(e,n){if(!hl(n))throw new Error("Invalid input to extend: expected a plain object");const r=e._zod.def.checks;if(r&&r.length>0){const l=e._zod.def.shape;for(const u in n)if(Object.getOwnPropertyDescriptor(l,u)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const o=Xa(e._zod.def,{get shape(){const l={...e._zod.def.shape,...n};return $i(this,"shape",l),l}});return Ja(e,o)}function e5(e,n){if(!hl(n))throw new Error("Invalid input to safeExtend: expected a plain object");const r=Xa(e._zod.def,{get shape(){const i={...e._zod.def.shape,...n};return $i(this,"shape",i),i}});return Ja(e,r)}function t5(e,n){if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");const r=Xa(e._zod.def,{get shape(){const i={...e._zod.def.shape,...n._zod.def.shape};return $i(this,"shape",i),i},get catchall(){return n._zod.def.catchall},checks:n._zod.def.checks??[]});return Ja(e,r)}function n5(e,n,r){const o=n._zod.def.checks;if(o&&o.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const u=Xa(n._zod.def,{get shape(){const d=n._zod.def.shape,m={...d};if(r)for(const p in r){if(!(p in d))throw new Error(`Unrecognized key: "${p}"`);r[p]&&(m[p]=e?new e({type:"optional",innerType:d[p]}):d[p])}else for(const p in d)m[p]=e?new e({type:"optional",innerType:d[p]}):d[p];return $i(this,"shape",m),m},checks:[]});return Ja(n,u)}function r5(e,n,r){const i=Xa(n._zod.def,{get shape(){const o=n._zod.def.shape,l={...o};if(r)for(const u in r){if(!(u in l))throw new Error(`Unrecognized key: "${u}"`);r[u]&&(l[u]=new e({type:"nonoptional",innerType:o[u]}))}else for(const u in o)l[u]=new e({type:"nonoptional",innerType:o[u]});return $i(this,"shape",l),l}});return Ja(n,i)}function Ds(e,n=0){if(e.aborted===!0)return!0;for(let r=n;r{var i;return(i=r).path??(i.path=[]),r.path.unshift(e),r})}function tu(e){return typeof e=="string"?e:e?.message}function Oi(e,n,r){const i=e.message?e.message:tu(e.inst?._zod.def?.error?.(e))??tu(n?.error?.(e))??tu(r.customError?.(e))??tu(r.localeError?.(e))??"Invalid input",{inst:o,continue:l,input:u,...d}=e;return d.path??(d.path=[]),d.message=i,n?.reportInput&&(d.input=u),d}function cg(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function ml(...e){const[n,r,i]=e;return typeof n=="string"?{message:n,code:"custom",input:r,inst:i}:{...n}}const fC=(e,n)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:n,enumerable:!1}),e.message=JSON.stringify(n,qm,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},ug=he("$ZodError",fC),ad=he("$ZodError",fC,{Parent:Error});function i5(e,n=r=>r.message){const r={},i=[];for(const o of e.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(n(o))):i.push(n(o));return{formErrors:i,fieldErrors:r}}function s5(e,n=r=>r.message){const r={_errors:[]},i=(o,l=[])=>{for(const u of o.issues)if(u.code==="invalid_union"&&u.errors.length)u.errors.map(d=>i({issues:d},[...l,...u.path]));else if(u.code==="invalid_key")i({issues:u.issues},[...l,...u.path]);else if(u.code==="invalid_element")i({issues:u.issues},[...l,...u.path]);else{const d=[...l,...u.path];if(d.length===0)r._errors.push(n(u));else{let m=r,p=0;for(;p(n,r,i,o)=>{const l=i?{...i,async:!1}:{async:!1},u=n._zod.run({value:r,issues:[]},l);if(u instanceof Promise)throw new Is;if(u.issues.length){const d=new(o?.Err??e)(u.issues.map(m=>Oi(m,l,Ti())));throw cC(d,o?.callee),d}return u.value},o5=id(ad),sd=e=>async(n,r,i,o)=>{const l=i?{...i,async:!0}:{async:!0};let u=n._zod.run({value:r,issues:[]},l);if(u instanceof Promise&&(u=await u),u.issues.length){const d=new(o?.Err??e)(u.issues.map(m=>Oi(m,l,Ti())));throw cC(d,o?.callee),d}return u.value},l5=sd(ad),od=e=>(n,r,i)=>{const o=i?{...i,async:!1}:{async:!1},l=n._zod.run({value:r,issues:[]},o);if(l instanceof Promise)throw new Is;return l.issues.length?{success:!1,error:new(e??ug)(l.issues.map(u=>Oi(u,o,Ti())))}:{success:!0,data:l.value}},c5=od(ad),ld=e=>async(n,r,i)=>{const o=i?{...i,async:!0}:{async:!0};let l=n._zod.run({value:r,issues:[]},o);return l instanceof Promise&&(l=await l),l.issues.length?{success:!1,error:new e(l.issues.map(u=>Oi(u,o,Ti())))}:{success:!0,data:l.value}},u5=ld(ad),d5=e=>(n,r,i)=>{const o=i?{...i,direction:"backward"}:{direction:"backward"};return id(e)(n,r,o)},f5=e=>(n,r,i)=>id(e)(n,r,i),h5=e=>async(n,r,i)=>{const o=i?{...i,direction:"backward"}:{direction:"backward"};return sd(e)(n,r,o)},m5=e=>async(n,r,i)=>sd(e)(n,r,i),p5=e=>(n,r,i)=>{const o=i?{...i,direction:"backward"}:{direction:"backward"};return od(e)(n,r,o)},g5=e=>(n,r,i)=>od(e)(n,r,i),v5=e=>async(n,r,i)=>{const o=i?{...i,direction:"backward"}:{direction:"backward"};return ld(e)(n,r,o)},y5=e=>async(n,r,i)=>ld(e)(n,r,i),b5=/^[cC][0-9a-z]{6,}$/,x5=/^[0-9a-z]+$/,w5=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,S5=/^[0-9a-vA-V]{20}$/,_5=/^[A-Za-z0-9]{27}$/,C5=/^[a-zA-Z0-9_-]{21}$/,E5=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,R5=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,kx=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,j5=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,T5="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function O5(){return new RegExp(T5,"u")}const A5=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,M5=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,N5=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,D5=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,z5=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,hC=/^[A-Za-z0-9_-]*$/,k5=/^https?$/,L5=/^\+[1-9]\d{6,14}$/,mC="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",$5=new RegExp(`^${mC}$`);function pC(e){const n="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${n}`:e.precision===0?`${n}:[0-5]\\d`:`${n}:[0-5]\\d\\.\\d{${e.precision}}`:`${n}(?::[0-5]\\d(?:\\.\\d+)?)?`}function I5(e){return new RegExp(`^${pC(e)}$`)}function P5(e){const n=pC({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const i=`${n}(?:${r.join("|")})`;return new RegExp(`^${mC}T(?:${i})$`)}const F5=e=>{const n=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${n}$`)},V5=/^(?:true|false)$/i,U5=/^[^A-Z]*$/,H5=/^[^a-z]*$/,zr=he("$ZodCheck",(e,n)=>{var r;e._zod??(e._zod={}),e._zod.def=n,(r=e._zod).onattach??(r.onattach=[])}),B5=he("$ZodCheckMaxLength",(e,n)=>{var r;zr.init(e,n),(r=e._zod.def).when??(r.when=i=>{const o=i.value;return!og(o)&&o.length!==void 0}),e._zod.onattach.push(i=>{const o=i._zod.bag.maximum??Number.POSITIVE_INFINITY;n.maximum{const o=i.value;if(o.length<=n.maximum)return;const u=cg(o);i.issues.push({origin:u,code:"too_big",maximum:n.maximum,inclusive:!0,input:o,inst:e,continue:!n.abort})}}),q5=he("$ZodCheckMinLength",(e,n)=>{var r;zr.init(e,n),(r=e._zod.def).when??(r.when=i=>{const o=i.value;return!og(o)&&o.length!==void 0}),e._zod.onattach.push(i=>{const o=i._zod.bag.minimum??Number.NEGATIVE_INFINITY;n.minimum>o&&(i._zod.bag.minimum=n.minimum)}),e._zod.check=i=>{const o=i.value;if(o.length>=n.minimum)return;const u=cg(o);i.issues.push({origin:u,code:"too_small",minimum:n.minimum,inclusive:!0,input:o,inst:e,continue:!n.abort})}}),G5=he("$ZodCheckLengthEquals",(e,n)=>{var r;zr.init(e,n),(r=e._zod.def).when??(r.when=i=>{const o=i.value;return!og(o)&&o.length!==void 0}),e._zod.onattach.push(i=>{const o=i._zod.bag;o.minimum=n.length,o.maximum=n.length,o.length=n.length}),e._zod.check=i=>{const o=i.value,l=o.length;if(l===n.length)return;const u=cg(o),d=l>n.length;i.issues.push({origin:u,...d?{code:"too_big",maximum:n.length}:{code:"too_small",minimum:n.length},inclusive:!0,exact:!0,input:i.value,inst:e,continue:!n.abort})}}),cd=he("$ZodCheckStringFormat",(e,n)=>{var r,i;zr.init(e,n),e._zod.onattach.push(o=>{const l=o._zod.bag;l.format=n.format,n.pattern&&(l.patterns??(l.patterns=new Set),l.patterns.add(n.pattern))}),n.pattern?(r=e._zod).check??(r.check=o=>{n.pattern.lastIndex=0,!n.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:n.format,input:o.value,...n.pattern?{pattern:n.pattern.toString()}:{},inst:e,continue:!n.abort})}):(i=e._zod).check??(i.check=()=>{})}),Z5=he("$ZodCheckRegex",(e,n)=>{cd.init(e,n),e._zod.check=r=>{n.pattern.lastIndex=0,!n.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:n.pattern.toString(),inst:e,continue:!n.abort})}}),K5=he("$ZodCheckLowerCase",(e,n)=>{n.pattern??(n.pattern=U5),cd.init(e,n)}),Y5=he("$ZodCheckUpperCase",(e,n)=>{n.pattern??(n.pattern=H5),cd.init(e,n)}),Q5=he("$ZodCheckIncludes",(e,n)=>{zr.init(e,n);const r=rd(n.includes),i=new RegExp(typeof n.position=="number"?`^.{${n.position}}${r}`:r);n.pattern=i,e._zod.onattach.push(o=>{const l=o._zod.bag;l.patterns??(l.patterns=new Set),l.patterns.add(i)}),e._zod.check=o=>{o.value.includes(n.includes,n.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:n.includes,input:o.value,inst:e,continue:!n.abort})}}),X5=he("$ZodCheckStartsWith",(e,n)=>{zr.init(e,n);const r=new RegExp(`^${rd(n.prefix)}.*`);n.pattern??(n.pattern=r),e._zod.onattach.push(i=>{const o=i._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=i=>{i.value.startsWith(n.prefix)||i.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:n.prefix,input:i.value,inst:e,continue:!n.abort})}}),J5=he("$ZodCheckEndsWith",(e,n)=>{zr.init(e,n);const r=new RegExp(`.*${rd(n.suffix)}$`);n.pattern??(n.pattern=r),e._zod.onattach.push(i=>{const o=i._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=i=>{i.value.endsWith(n.suffix)||i.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:n.suffix,input:i.value,inst:e,continue:!n.abort})}}),W5=he("$ZodCheckOverwrite",(e,n)=>{zr.init(e,n),e._zod.check=r=>{r.value=n.tx(r.value)}});class e6{constructor(n=[]){this.content=[],this.indent=0,this&&(this.args=n)}indented(n){this.indent+=1,n(this),this.indent-=1}write(n){if(typeof n=="function"){n(this,{execution:"sync"}),n(this,{execution:"async"});return}const i=n.split(` @@ -119,4 +119,4 @@ bdrive init --project `+e.id;return f.jsxs("div",{className:"guide",children:[f. to set up a new BearDrive project on `+window.location.origin+". Ask me which folder to sync."}),f.jsx("p",{className:"ob-alt",children:f.jsx("a",{href:"https://docs.beardrive.ai/manual/setup-by-hand/",target:"_blank",rel:"noreferrer",children:"Or start a project manually →"})})]})]})}const BC="__existing__";function nI({templates:e,onCreate:n,onClose:r}){const i=[...e.map(x=>({value:x.name,title:x.title,blurb:x.blurb,rule:!1})),{value:BC,title:"I already have a folder",blurb:"nothing is seeded — connect it and your files stay as they are",rule:!0},{value:"",title:"Empty project",blurb:"just the folder",rule:!1}],[o,l]=S.useState(""),[u,d]=S.useState(i[0].value),[m,p]=S.useState(""),[y,v]=S.useState(!1),b=async()=>{if(!y){if(!o.trim()){p("Give it a name.");return}v(!0);try{await n(o.trim(),u)}finally{v(!1)}}};return f.jsx(Ju,{open:!0,onOpenChange:x=>!x&&r(),children:f.jsxs(Wu,{className:"modal",showCloseButton:!1,children:[f.jsx(_l,{asChild:!0,children:f.jsx("h3",{children:"New project"})}),f.jsx("label",{className:"modal-label",htmlFor:"modal-input",children:"Name"}),f.jsx("input",{className:"modal-input",type:"text",autoComplete:"off",id:"modal-input",autoFocus:!0,value:o,"aria-invalid":!!m,"aria-describedby":m?"modal-input-err":void 0,onChange:x=>{l(x.currentTarget.value),m&&p("")},onKeyDown:x=>x.key==="Enter"&&b()}),m&&f.jsx("span",{id:"modal-input-err",role:"alert",className:"field-err",children:m}),i.length>1&&f.jsxs("fieldset",{className:"start-points",children:[f.jsx("legend",{className:"modal-label",children:"Starting point"}),i.map((x,w)=>f.jsxs("label",{className:"start-point"+(u===x.value?" on":"")+(x.rule?" sp-rule":""),children:[f.jsx("input",{type:"radio",name:"template",value:x.value,checked:u===x.value,onChange:()=>d(x.value)}),f.jsxs("span",{className:"sp-text",children:[f.jsxs("span",{className:"sp-title",children:[x.title,w===0&&f.jsx("span",{className:"sp-rec",children:"Recommended"})]}),f.jsx("span",{className:"sp-blurb",children:x.blurb})]})]},x.value))]}),f.jsxs("div",{className:"modal-actions",children:[f.jsx(vt,{variant:"subtle",onClick:r,children:"Cancel"}),f.jsx(vt,{variant:"primary",onClick:b,disabled:y,children:"Create"})]})]})})}function sw(e,n,r){if(!e)return null;if(!r)return e[n]||null;const i={human:0,agent:0,share:0};for(const[o,l]of Object.entries(e))o.startsWith(n+"/")&&(i.human+=l.human||0,i.agent+=l.agent||0,i.share+=l.share||0);return i.human||i.agent||i.share?i:null}function ka(e){return(e.human||0)+(e.agent||0)+(e.share||0)}function Jo(e){const n=ka(e);if(!n)return"";const r=n+(n===1?" read":" reads");if(!e.agent&&!e.share)return r;const i=[];return e.human&&i.push(e.human+" human"),e.agent&&i.push(e.agent+" agent"),e.share&&i.push(e.share+" shared"),r+" ("+i.join(", ")+")"}function rI(e){const n=ka(e);return n?n<3?1:n<10?2:n<30?3:4:0}function aI(e){const n=ka(e);return n?{agent:(e.agent||0)/n,human:(e.human||0)/n,share:(e.share||0)/n}:{agent:0,human:0,share:0}}function iI(e,n){return e?Object.keys(e).filter(r=>!n.has(r)).sort():[]}const sI=7;function oI(e){if(!e.length)return null;let n=e[0],r=e[0];for(const i of e)ir&&(r=i);return{min:n,max:r}}const lI=(e,n)=>n-el.reads-o.reads).slice(0,uI)){const o=i.path.split("/").pop();let l=i.cx+i.r+4,u="start";l+o.length*dI>n.right&&(l=i.cx-i.r-4,u="end");const d=p=>r.every(y=>Math.abs(y.y-p)>=rm);let m=i.cy;for(;m<=n.bottom&&!d(m);)m+=rm;if(m>n.bottom)for(m=i.cy;m>=n.top&&!d(m);)m-=rm;r.push({path:i.path,name:o,x:l,y:Math.min(n.bottom,Math.max(n.top,m)),anchor:u})}return r}function hI(e,n=!0){const r=Pt({queryKey:["tree",e],queryFn:()=>Bt(e+"tree"),enabled:n,refetchInterval:15e3}),i=S.useMemo(()=>{const o=[],l=new Map,u=d=>{for(const m of d.children||[])m.dir?(l.set(m.path,m),u(m)):o.push(m)};return r.data&&u(r.data),{flatFiles:o,dirIndex:l}},[r.data]);return{tree:r.data,...i,loaded:!!r.data}}function mI(e,n){return Pt({queryKey:["heat",e],queryFn:()=>Bt(e+"heat?days=30"),enabled:n,staleTime:6e4,refetchInterval:6e4}).data?.entries??null}function pI(e,n,r){return Pt({queryKey:["history",e,"prefix",n,20],queryFn:()=>Bt(e+"history?prefix="+encodeURIComponent(n)+"&n=20"),enabled:r,staleTime:15e3}).data?.entries??null}function gI(e,n,r){const i=new Array(e);return new Proxy(i,{get(o,l,u){if(typeof l=="string"){const d=l.charCodeAt(0);if(d>=48&&d<=57){const m=+l;if(Number.isInteger(m)&&m>=0&&mi[y]!==p))&&(i=d,o=n(...d),r?.onChange&&!(l&&r.skipInitialOnChange)&&r.onChange(o),l=!1),o}return u.updateDeps=d=>{i=d},u}function ow(e,n){if(e===void 0)throw new Error("Unexpected undefined");return e}const vI=(e,n)=>Math.abs(e-n)<1.01,yI=(e,n,r)=>{let i;return function(...o){e.clearTimeout(i),i=e.setTimeout(()=>n.apply(this,o),r)}};let Go;const am=()=>{if(Go!==void 0)return Go;if(typeof navigator>"u")return Go=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return Go=!0;const e=navigator.maxTouchPoints;return Go=navigator.platform==="MacIntel"&&e!==void 0&&e>0},lw=e=>{const{offsetWidth:n,offsetHeight:r}=e;return{width:n,height:r}},bI=e=>e,xI=e=>{const n=Math.max(e.startIndex-e.overscan,0),i=Math.min(e.endIndex+e.overscan,e.count-1)-n+1,o=new Array(i);for(let l=0;l{const r=e.scrollElement;if(!r)return;const i=e.targetWindow;if(!i)return;const o=u=>{const{width:d,height:m}=u;n({width:Math.round(d),height:Math.round(m)})};if(o(lw(r)),!i.ResizeObserver)return()=>{};const l=new i.ResizeObserver(u=>{const d=()=>{const m=u[0];if(m?.borderBoxSize){const p=m.borderBoxSize[0];if(p){o({width:p.inlineSize,height:p.blockSize});return}}o(lw(r))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(d):d()});return l.observe(r,{box:"border-box"}),()=>{l.unobserve(r)}},Ou={passive:!0},SI=typeof window>"u"?!0:"onscrollend"in window,_I=(e,n,r)=>{const i=e.scrollElement;if(!i)return;const o=e.targetWindow;if(!o)return;const l=e.options.useScrollendEvent&&SI;let u=0;const d=l?null:yI(o,()=>n(u,!1),e.options.isScrollingResetDelay),m=v=>()=>{u=r(i),d?.(),n(u,v)},p=m(!0),y=m(!1);return i.addEventListener("scroll",p,Ou),l&&i.addEventListener("scrollend",y,Ou),()=>{i.removeEventListener("scroll",p),l&&i.removeEventListener("scrollend",y)}},CI=(e,n)=>_I(e,n,r=>{const{horizontal:i,isRtl:o}=e.options;return i?r.scrollLeft*(o&&-1||1):r.scrollTop}),EI=(e,n,r)=>{if(r.options.useCachedMeasurements){const i=r.indexFromElement(e),o=r.options.getItemKey(i);return r.itemSizeCache.get(o)??r.options.estimateSize(i)}if(n?.borderBoxSize){const i=n.borderBoxSize[0];if(i)return Math.round(i[r.options.horizontal?"inlineSize":"blockSize"])}if(!n){const i=r.indexFromElement(e),o=r.options.getItemKey(i),l=r.itemSizeCache.get(o);if(l!==void 0)return l}return e[r.options.horizontal?"offsetWidth":"offsetHeight"]},RI=(e,{adjustments:n=0,behavior:r},i)=>{var o,l;(l=(o=i.scrollElement)==null?void 0:o.scrollTo)==null||l.call(o,{[i.options.horizontal?"left":"top"]:e+n,behavior:r})},jI=RI;class TI{constructor(n){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var r,i,o;return((o=(i=(r=this.targetWindow)==null?void 0:r.performance)==null?void 0:i.now)==null?void 0:o.call(i))??Date.now()},this.observer=(()=>{let r=null;const i=()=>r||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:r=new this.targetWindow.ResizeObserver(o=>{o.forEach(l=>{const u=()=>{const d=l.target,m=this.indexFromElement(d);if(!d.isConnected){this.observer.unobserve(d);for(const[p,y]of this.elementsCache)if(y===d){this.elementsCache.delete(p);break}return}this.shouldMeasureDuringScroll(m)&&this.resizeItem(m,this.options.measureElement(d,l,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(u):u()})}));return{disconnect:()=>{var o;(o=i())==null||o.disconnect(),r=null},observe:o=>{var l;return(l=i())==null?void 0:l.observe(o,{box:"border-box"})},unobserve:o=>{var l;return(l=i())==null?void 0:l.unobserve(o)}}})(),this.range=null,this.setOptions=r=>{var i,o;const l={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:bI,rangeExtractor:xI,onChange:()=>{},measureElement:EI,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",useCachedMeasurements:!1};for(const b in r){const x=r[b];x!==void 0&&(l[b]=x)}const u=this.options;let d=null,m=null,p=!1;if(u!==void 0&&u.enabled&&l.enabled&&l.anchorTo==="end"&&this.scrollElement!==null){const b=u.count,x=l.count,w=this.getMeasurements(),_=b>0?((i=w[0])==null?void 0:i.key)??u.getItemKey(0):null,E=b>0?((o=w[b-1])==null?void 0:o.key)??u.getItemKey(b-1):null;if(x!==b||b>0&&x>0&&(l.getItemKey(0)!==_||l.getItemKey(x-1)!==E)){p=!0;const O=b>0?this.getVirtualItemForOffset(this.getScrollOffset())??w[0]:null;O&&(d=[O.key,this.getScrollOffset()-O.start]);const N=l.followOnAppend===!0?"auto":l.followOnAppend||null;N&&x>b&&this.isAtEnd(u.scrollEndThreshold)&&(b===0||l.getItemKey(x-1)!==E)&&(m=N)}}this.options=l,p&&(this.pendingMin=0,this.itemSizeCacheVersion++);let y=!1,v=0;if(d&&this.scrollOffset!==null){const[b,x]=d,w=this.getMeasurements(),{count:_,getItemKey:E}=this.options;let R=0;for(;R<_&&E(R)!==b;)R++;if(R<_){const T=w[R];if(T){const O=T.start+x;O!==this.scrollOffset&&(v=O-this.scrollOffset,this.scrollOffset=O,y=!0)}}}(y||m)&&(this.pendingScrollAnchor=[y?d[0]:null,y?d[1]:0,m,v])},this.notify=r=>{var i,o;(o=(i=this.options).onChange)==null||o.call(i,this,r)},this.maybeNotify=Os(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),r=>{this.notify(r)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(r=>r()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var r;const i=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==i){if(this.cleanup(),!i){this.maybeNotify();return}if(this.scrollElement=i,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((r=this.scrollElement)==null?void 0:r.window)??null,this.elementsCache.forEach(l=>{this.observer.observe(l)}),this.unsubs.push(this.options.observeElementRect(this,l=>{this.scrollRect=l,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(l,u)=>{if(u&&this._intendedScrollOffset===null&&l===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(l-this._intendedScrollOffset)<1.5&&(l=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;const d=this.getScrollOffset();this.scrollDirection=u?d===l?this.scrollDirection:d{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},d=()=>{this._iosTouching=!1,!(!am()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};l.addEventListener("touchstart",u,Ou),l.addEventListener("touchend",d,Ou),this.unsubs.push(()=>{l.removeEventListener("touchstart",u),l.removeEventListener("touchend",d),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}const o=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,o&&this.scrollElement&&this.options.enabled){const[l,u,d,m]=o;l!==null&&!d&&(am()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?m!==0&&(this._iosDeferredAdjustment+=m):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),d&&this.scrollToEnd({behavior:d})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;const r=this.getScrollOffset(),i=this.getMaxScrollOffset();if(r<0||r>i)return;const o=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(r,{adjustments:this.scrollAdjustments+=o,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=Os(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(r,i,o,l,u,d,m,p)=>(this.prevLanes!==void 0&&this.prevLanes!==d&&(this.lanesChangedFlag=!0),this.prevLanes=d,this.pendingMin=null,{count:r,paddingStart:i,scrollMargin:o,getItemKey:l,enabled:u,lanes:d,laneAssignmentMode:m,gap:p}),{key:!1}),this.getMeasurements=Os(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:r,paddingStart:i,scrollMargin:o,getItemKey:l,enabled:u,lanes:d,laneAssignmentMode:m,gap:p},y)=>{const v=this.itemSizeCache;if(!u)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>r)for(const R of this.laneAssignments.keys())R>=r&&this.laneAssignments.delete(R);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(R=>{this.itemSizeCache.set(R.key,R.size)}));const b=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===r&&(this.lanesSettling=!1),d===1){const R=r*2;let T=this._flatMeasurements;if(!T||T.length0&&z.set(T.subarray(0,b*2)),T=z,this._flatMeasurements=T}let O;if(b===0)O=i+o;else{const z=b-1;O=T[z*2]+T[z*2+1]+p}for(let z=b;z1){N=O;const ye=w[N],me=ye!==void 0?x[ye]:void 0;z=me?me.end+p:i+o}else if(E===d){let ye=0,me=_[0],de=w[0];for(let le=1;lethis.options.debug}),this.calculateRange=Os(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(r,i,o,l)=>r.length===0||i===0?(this.range=null,null):(this.range=AI(r,i,o,l,l===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=Os(()=>{let r=null,i=null;const o=this.calculateRange();return o&&(r=o.startIndex,i=o.endIndex),this.maybeNotify.updateDeps([this.isScrolling,r,i]),[this.options.rangeExtractor,this.options.overscan,this.options.count,r,i]},(r,i,o,l,u)=>l===null||u===null?[]:r({startIndex:l,endIndex:u,overscan:i,count:o}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=r=>{const i=this.options.indexAttribute,o=r.getAttribute(i);return o?parseInt(o,10):(console.warn(`Missing attribute name '${i}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=r=>{var i;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;const o=this.scrollState.index??((i=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:i.index);if(o!==void 0&&this.range){const l=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),u=Math.max(0,o-l),d=Math.min(this.options.count-1,o+l);return r>=u&&r<=d}return!0},this.measureElement=r=>{if(!r){this.elementsCache.forEach((u,d)=>{u.isConnected||(this.observer.unobserve(u),this.elementsCache.delete(d))});return}const i=this.indexFromElement(r),o=this.options.getItemKey(i),l=this.elementsCache.get(o);l!==r&&(l&&this.observer.unobserve(l),this.observer.observe(r),this.elementsCache.set(o,r)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(i)&&this.resizeItem(i,this.options.measureElement(r,void 0,this))},this.resizeItem=(r,i)=>{var o,l;if(r<0||r>=this.options.count)return;let u,d,m;const p=this._flatMeasurements;if(this.options.lanes===1&&p!==null)m=this.options.getItemKey(r),d=p[r*2],u=p[r*2+1];else{const b=this.measurementsCache[r];if(!b)return;m=b.key,d=b.start,u=b.size}const y=this.itemSizeCache.get(m)??u,v=i-y;if(v!==0){const b=this.options.anchorTo==="end"&&((o=this.scrollState)==null?void 0:o.behavior)!=="smooth"&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,x=b?this.getTotalSize():0,w=((l=this.scrollState)==null?void 0:l.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[r]??{index:r,key:m,start:d,size:u,end:d+u,lane:0},v,this):d[this.getVirtualIndexes(),this.getMeasurements()],(r,i)=>{const o=[];for(let l=0,u=r.length;lthis.options.debug}),this.getVirtualItemForOffset=r=>{const i=this.getMeasurements();if(i.length===0)return;const o=this._flatMeasurements,l=this.options.lanes===1&&o!=null,u=qC(0,i.length-1,l?d=>o[d*2]:d=>ow(i[d]).start,r);return ow(i[u])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const r=this.scrollElement.document.documentElement;return this.options.horizontal?r.scrollWidth-this.scrollElement.innerWidth:r.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(r=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=r,this.getOffsetForAlignment=(r,i,o=0)=>{if(!this.scrollElement)return 0;const l=this.getSize(),u=this.getScrollOffset();i==="auto"&&(i=r>=u+l?"end":"start"),i==="center"?r+=(o-l)/2:i==="end"&&(r-=l);const d=this.getMaxScrollOffset();return Math.max(Math.min(d,r),0)},this.getOffsetForIndex=(r,i="auto")=>{r=Math.max(0,Math.min(r,this.options.count-1));const o=this.getSize(),l=this.getScrollOffset(),u=this.measurementsCache[r];if(!u)return;if(i==="auto")if(u.end>=l+o-this.options.scrollPaddingEnd)i="end";else if(u.start<=l+this.options.scrollPaddingStart)i="start";else return[l,i];if(i==="end"&&r===this.options.count-1)return[this.getMaxScrollOffset(),i];const d=i==="end"?u.end+this.options.scrollPaddingEnd:u.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(d,i,u.size),i]},this.scrollToOffset=(r,{align:i="start",behavior:o="auto"}={})=>{const l=this.getOffsetForAlignment(r,i),u=this.now();this.scrollState={index:null,align:i,behavior:o,startedAt:u,lastTargetOffset:l,stableFrames:0},this._scrollToOffset(l,{adjustments:void 0,behavior:o}),this.scheduleScrollReconcile()},this.scrollToIndex=(r,{align:i="auto",behavior:o="auto"}={})=>{r=Math.max(0,Math.min(r,this.options.count-1));const l=this.getOffsetForIndex(r,i);if(!l)return;const[u,d]=l,m=this.now();this.scrollState={index:r,align:d,behavior:o,startedAt:m,lastTargetOffset:u,stableFrames:0},this._scrollToOffset(u,{adjustments:void 0,behavior:o}),this.scheduleScrollReconcile()},this.scrollBy=(r,{behavior:i="auto"}={})=>{const o=this.getScrollOffset()+r,l=this.now();this.scrollState={index:null,align:"start",behavior:i,startedAt:l,lastTargetOffset:o,stableFrames:0},this._scrollToOffset(o,{adjustments:void 0,behavior:i}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:r="auto"}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:"end",behavior:r});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:r})},this.getTotalSize=()=>{var r;const i=this.getMeasurements();let o;if(i.length===0)o=this.options.paddingStart;else if(this.options.lanes===1){const l=i.length-1,u=this._flatMeasurements;u!=null?o=u[l*2]+u[l*2+1]:o=((r=i[l])==null?void 0:r.end)??0}else{const l=Array(this.options.lanes).fill(null);let u=i.length-1;for(;u>=0&&l.some(d=>d===null);){const d=i[u];l[d.lane]===null&&(l[d.lane]=d.end),u--}o=Math.max(...l.filter(d=>d!==null))}return Math.max(o-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{const r=[];if(this.itemSizeCache.size===0)return r;const i=this.getMeasurements();for(const o of i)o&&this.itemSizeCache.has(o.key)&&r.push({index:o.index,key:o.key,start:o.start,size:o.size,end:o.end,lane:o.lane});return r},this._scrollToOffset=(r,{adjustments:i,behavior:o})=>{this._intendedScrollOffset=r+(i??0),this.options.scrollToFn(r,{behavior:o,adjustments:i},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(n)}applyScrollAdjustment(n,r){n!==0&&(am()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=n:(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=n,behavior:r}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollAdjustments=0)))}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}const i=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,o=i?i[0]:this.scrollState.lastTargetOffset,l=1,u=o!==this.scrollState.lastTargetOffset;if(!u&&vI(o,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=l){this.getScrollOffset()!==o&&this._scrollToOffset(o,{adjustments:void 0,behavior:"auto"}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,u){const d=this.getSize()||600,m=Math.abs(o-this.getScrollOffset()),p=this.scrollState.behavior==="smooth"&&m>d;this.scrollState.lastTargetOffset=o,p||(this.scrollState.behavior="auto"),this._scrollToOffset(o,{adjustments:void 0,behavior:p?"smooth":"auto"})}this.scheduleScrollReconcile()}}const qC=(e,n,r,i)=>{for(;e<=n;){const o=(e+n)/2|0,l=r(o);if(li)n=o-1;else return o}return e>0?e-1:0};function OI(e,n,r){let i=0;for(;i<=n;){const o=(i+n)/2|0,l=e[o*2];if(lr)n=o-1;else return o}return i>0?i-1:0}function AI(e,n,r,i,o){const l=e.length-1;if(e.length<=i)return{startIndex:0,endIndex:l};if(i===1&&o!==null){const p=OI(o,l,r);let y=p;const v=r+n;for(;ye[p].start,r),m=d;if(i===1)for(;m1){const p=Array(i).fill(0);for(;mv=0&&y.some(v=>v>=r);){const v=e[d];y[v.lane]=v.start,d--}d=Math.max(0,d-d%i),m=Math.min(l,m+(i-1-m%i))}return{startIndex:d,endIndex:m}}const im=typeof document<"u"?S.useLayoutEffect:S.useEffect;function MI({useFlushSync:e=!0,directDomUpdates:n=!1,directDomUpdatesMode:r="transform",...i}){const o=S.useReducer(p=>p+1,0)[1],l=S.useRef({enabled:n,mode:r,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});l.current.enabled=n,l.current.mode=r;const u=p=>{const y=l.current;if(!y.enabled||!y.container)return;const v=p.getTotalSize();if(v!==y.lastSize){y.lastSize=v;const R=p.options.horizontal?"width":"height";y.container.style[R]=`${v}px`}const b=!!p.options.horizontal,x=y.mode==="transform",w=b?"left":"top",_=p.options.scrollMargin,E=p.getVirtualItems();for(const R of E){const T=R.start-_,O=p.elementsCache.get(R.key);O&&y.lastPositions.get(O)!==T&&(y.lastPositions.set(O,T),x?O.style.transform=b?`translate3d(${T}px, 0, 0)`:`translate3d(0, ${T}px, 0)`:O.style[w]=`${T}px`)}},d={...i,onChange:(p,y)=>{var v;const b=l.current;let x=!0;if(b.enabled){u(p);const w=p.range,_=b.prevRange;x=!_||_.isScrolling!==p.isScrolling||_.startIndex!==w?.startIndex||_.endIndex!==w?.endIndex,x&&(b.prevRange=w?{startIndex:w.startIndex,endIndex:w.endIndex,isScrolling:p.isScrolling}:null)}x&&(e&&y?Ni.flushSync(o):o()),(v=i.onChange)==null||v.call(i,p,y)}},[m]=S.useState(()=>{const p=new TI(d);return Object.assign(p,{containerRef:y=>{const v=l.current;if(v.container=y,v.lastSize=null,y&&v.enabled){const b=p.getTotalSize();v.lastSize=b;const x=p.options.horizontal?"width":"height";y.style[x]=`${b}px`}}})});return m.setOptions(d),im(()=>m._didMount(),[]),im(()=>m._willUpdate()),im(()=>{u(m)}),m}function NI(e){return MI({observeElementRect:wI,observeElementOffset:CI,scrollToFn:jI,...e})}function DI(e,n){const r=[],i=(o,l)=>{for(const u of o)r.push({node:u,depth:l}),u.dir&&n.has(u.path)&&i(u.children||[],l+1)};return i(e?.children||[],0),r}function zI(e){const{root:n,expanded:r,onToggle:i,currentPath:o,listingShowing:l,onOpen:u}=e,d=S.useRef(null),m=S.useMemo(()=>DI(n,r),[n,r]),p=NI({count:m.length,getScrollElement:()=>d.current,estimateSize:()=>window.matchMedia("(max-width: 768px)").matches?44:28,overscan:12,getItemKey:y=>m[y].node.path});return S.useEffect(()=>{if(!o)return;const y=m.findIndex(v=>v.node.path===o);y>=0&&p.scrollToIndex(y,{align:"auto"})},[o,m]),f.jsx("nav",{id:"tree","aria-label":"Files",ref:d,children:f.jsx("div",{style:{height:p.getTotalSize(),position:"relative"},children:p.getVirtualItems().map(y=>{const{node:v,depth:b}=m[y.index],x=v.dir?r.has(v.path):!1,w=()=>{if(v.dir&&o===v.path&&l){i(v.path);return}u(v.path),v.dir||mr()};return f.jsxs("div",{className:"row "+(v.dir?"dir":"file")+(o===v.path?" active":"")+(v.dir&&!x?" collapsed":""),"data-path":v.path,tabIndex:0,role:"button",title:v.name,"aria-expanded":v.dir?x:void 0,style:{position:"absolute",top:0,left:0,right:0,transform:`translateY(${y.start}px)`,paddingLeft:8+b*13},onClick:w,onKeyDown:_=>{(_.key==="Enter"||_.key===" ")&&(_.preventDefault(),w())},children:[Array.from({length:b},(_,E)=>f.jsx("span",{className:"tguide",style:{left:8+E*13+5},"aria-hidden":"true"},E)),f.jsx("span",{className:"chev",onClick:_=>{v.dir&&(_.stopPropagation(),i(v.path))},children:f.jsx(ut,{name:"chevd"})}),f.jsx("span",{className:"ticon",children:f.jsx(ut,{name:v.dir?"folder":"doc"})}),f.jsx("span",{className:"label",children:v.name})]},y.key)})})})}function kI(e){const n=e.split("/"),r=[];let i="";for(let o=0;o{i=i?i+"/"+o:o;const u=i,d=l===r.length-1;return f.jsxs("span",{children:[l>0&&f.jsx("span",{className:"crumb-sep",children:"/"}),d?f.jsx("span",{children:o}):f.jsx("span",{className:"crumb-seg",title:u,onClick:()=>n(u),children:o})]},u)})})}function cw(e){if(e==="")return[];const n=e.split(` `);return n[n.length-1]===""&&n.pop(),n}const $I=4e6;function II(e,n){let r=0;for(;ro.push({op:"-",line:l[v],an:r+v+1}),y=v=>o.push({op:"+",line:u[v],bn:r+v+1});if(d*m>$I){for(let v=0;v=0;w--)for(let _=m-1;_>=0;_--)v[w][_]=l[w]===u[_]?v[w+1][_+1]+1:Math.max(v[w+1][_],v[w][_+1]);let b=0,x=0;for(;b=v[b][x+1]?p(b++):y(x++);for(;bi.op==="+").length,del:r.filter(i=>i.op==="-").length}}const GC=1<<20,FI=8192;function VI(e){if(e.byteLength>GC)return{kind:"too-large",size:e.byteLength};if(e.subarray(0,FI).includes(0))return{kind:"binary"};try{return{kind:"text",text:new TextDecoder("utf-8",{fatal:!0}).decode(e)}}catch{return{kind:"binary"}}}function Jm(e,n,r,i){let o=e+"blob?sha="+encodeURIComponent(n);return r&&(o+="&name="+encodeURIComponent(r)),i&&(o+="&download=1"),o}async function UI(e){const n=await yj(e),r=Number(n.headers.get("Content-Length"));return r>GC?{kind:"too-large",size:r}:VI(new Uint8Array(await n.arrayBuffer()))}function ZC(e,n,r,i){return Pt({queryKey:n,queryFn:()=>UI(e),enabled:r,...i?{staleTime:1/0,gcTime:1/0}:{},retry:!1})}function uw(e,n,r){return ZC(n?Jm(e,n):"",["blob",e,n],!!n,!0)}function HI(e){return e.slice(e.lastIndexOf("/")+1)}function BI({apiBase:e,path:n,prev:r,cur:i}){const o=HI(n);return f.jsxs("span",{className:"dv-dl",children:[f.jsx("a",{href:Jm(e,r,o,!0),children:"download previous"}),f.jsx("a",{href:Jm(e,i,o,!0),children:"download this version"})]})}function qI({apiBase:e,path:n,prev:r,cur:i}){const o=uw(e,r),l=uw(e,i),u=o.data?.kind==="text"&&l.data?.kind==="text",d=S.useMemo(()=>o.data?.kind==="text"&&l.data?.kind==="text"?PI(o.data.text,l.data.text):null,[o.data,l.data]);if(o.error||l.error)return f.jsx("div",{className:"dv dv-msg",children:"Could not load one of the versions."});if(!o.data||!l.data)return f.jsx("div",{className:"dv dv-msg",children:"Loading changes…"});if(!u){const v=o.data.kind==="too-large"||l.data.kind==="too-large";return f.jsxs("div",{className:"dv dv-msg",children:[v?"Too large to diff — download to compare.":"Binary file — no diff available.",f.jsx(BI,{apiBase:e,path:n,prev:r,cur:i})]})}const{lines:m,add:p,del:y}=d;return f.jsxs("div",{className:"dv",children:[f.jsxs("div",{className:"dv-head",children:[f.jsxs("span",{className:"dv-stat",children:[f.jsxs("span",{className:"dv-add",children:["+",p]})," ",f.jsxs("span",{className:"dv-del",children:["−",y]})]}),p===0&&y===0&&f.jsx("span",{className:"dv-same",children:"No line changes"})]}),f.jsx("div",{className:"dv-body",children:m.map((v,b)=>f.jsxs("div",{className:"dv-line dv-"+(v.op==="="?"ctx":v.op==="+"?"ins":"rm"),children:[f.jsx("span",{className:"dv-n",children:v.an??""}),f.jsx("span",{className:"dv-n",children:v.bn??""}),f.jsx("span",{className:"dv-mark",children:v.op==="="?" ":v.op}),f.jsx("span",{className:"dv-text",children:v.line||" "})]},b))})]})}const GI={add:"added",edit:"edited",delete:"deleted"};function KC({text:e}){return f.jsx(f.Fragment,{children:e.split(/(https?:\/\/\S+)/).map((n,r)=>/^https?:\/\//.test(n)?f.jsx("a",{href:n,target:"_blank",rel:"noopener",children:n},r):n)})}function pg({entry:e,apiBase:n,onOpen:r,diff:i,restore:o,remove:l,restoreSha:u,recreates:d,inRun:m,read:p}){const[y,v]=S.useState(!1),[b,x]=S.useState(!1),w=e.kind==="put"?"edit":e.kind,_=dd(e),E=[e.device.name||e.device.id,e.device.os].filter(Boolean).join(" · "),R=w!=="delete",T=!!i&&w!=="delete"&&!!e.blob,O=!!m&&w==="add",N=!!o&&!!u&&!O,z=!!l&&O,U=!!o?.busy&&o.busy===e.path+u,$=!!l?.busy&&l.busy===e.path,F=R&&!!e.blob,ve=e.path.split("/").pop()||e.path,ye=new Date(e.time).toLocaleString(),me=n+"blob?sha="+e.blob+"&name="+encodeURIComponent(ve)+"&download=1",de=()=>x(!b),le=te=>{te.target.tagName!=="A"&&R&&r(e.path,e.blob)};return f.jsxs("div",{className:"hentry "+w+(R?" clickable":""),tabIndex:R?0:void 0,role:R?"button":void 0,onClick:le,onKeyDown:te=>{R&&(te.key==="Enter"||te.key===" ")&&(te.preventDefault(),r(e.path,e.blob))},children:[f.jsxs("div",{className:"hline",children:[f.jsx("span",{className:"hkind",children:GI[w]||w}),p&&f.jsx("span",{className:"hread",title:"This run read this file before changing it",children:"read"}),f.jsx("span",{className:"hpath",children:e.path}),f.jsx("span",{className:"htime",children:ye})]}),f.jsxs("div",{className:"hmeta",children:[f.jsx("span",{className:"hwho",children:_}),f.jsx("span",{className:"hdev",children:E}),f.jsx("span",{className:"hsize",children:e.size?mg(e.size):""}),N&&f.jsxs("button",{type:"button",className:"hrestore-btn",disabled:U,title:"Put this version of "+e.path+" back as a new change",onClick:te=>{te.stopPropagation(),o.onRestore(e.path,u,!!d)},onKeyDown:te=>te.stopPropagation(),children:[f.jsx(ut,{name:"hist"}),U?"restoring…":"restore"]}),z&&f.jsxs("button",{type:"button",className:"hremove-btn",disabled:$,title:"Remove "+e.path+" — this run created it",onClick:te=>{te.stopPropagation(),l.onRemove(e.path)},onKeyDown:te=>te.stopPropagation(),children:[f.jsx(ut,{name:"trash"}),$?"removing…":"undo — remove file"]})]}),e.note&&!m&&f.jsx("div",{className:"hnote"+(y?" open":""),tabIndex:0,role:"button",title:y?"Collapse note":"Show full note","aria-expanded":y,onClick:te=>{te.stopPropagation(),te.target.tagName!=="A"&&v(!y)},onKeyDown:te=>{(te.key==="Enter"||te.key===" ")&&(te.preventDefault(),te.stopPropagation(),v(!y))},children:f.jsx(KC,{text:e.note})}),(T||F)&&f.jsxs("div",{className:"hactions",children:[T&&(i.prev?f.jsxs("button",{type:"button",className:"hdiff-btn"+(b?" open":""),"aria-expanded":b,onClick:te=>{te.stopPropagation(),de()},onKeyDown:te=>te.stopPropagation(),children:[f.jsx(ut,{name:b?"chevd":"chev"}),b?"hide changes":"show changes"]}):f.jsx("div",{className:"hdiff-none",children:"First version — nothing to compare against"})),F&&f.jsxs(f.Fragment,{children:[f.jsxs("button",{type:"button",className:"hver-btn","aria-label":`Open ${ve} as of ${ye}`,onClick:te=>{te.stopPropagation(),r(e.path,e.blob)},onKeyDown:te=>te.stopPropagation(),children:[f.jsx(ut,{name:"clock"}),"Open this version"]}),f.jsxs("a",{className:"hver-btn",download:!0,href:me,"aria-label":`Download ${ve} as of ${ye}`,onClick:te=>te.stopPropagation(),onKeyDown:te=>{te.stopPropagation(),te.key===" "&&(te.preventDefault(),te.currentTarget.click())},children:[f.jsx(ut,{name:"download"}),"Download"]})]})]}),T&&i.prev&&b&&f.jsx("div",{onClick:te=>te.stopPropagation(),children:f.jsx(qI,{apiBase:i.apiBase,path:e.path,prev:i.prev,cur:e.blob})})]})}function ZI(e){const{node:n,heatMap:r,onOpen:i}=e,o=(n.children||[]).slice().sort((p,y)=>Number(y.dir||!1)-Number(p.dir||!1)||p.name.localeCompare(y.name)),l=o.filter(p=>p.dir).length,u=o.length-l,d=[];l&&d.push(l+(l===1?" folder":" folders")),u&&d.push(u+(u===1?" file":" files"));const m=sw(r,n.path,!0);return m&&d.push(Jo(m)+" in 30 days"),f.jsxs("div",{className:"dirlist",children:[f.jsxs("h1",{className:"dl-title",children:[f.jsx("span",{className:"dl-title-icon",children:f.jsx(ut,{name:"folder"})}),f.jsx("span",{children:n.name})]}),f.jsx("p",{className:"dl-sub",children:d.join(" · ")||"Empty folder"}),o.length===0?f.jsx("div",{className:"dl-empty",children:"Nothing in this folder yet."}):f.jsx("div",{className:"dl-items",children:o.map(p=>{let y="";if(p.dir){const b=(p.children||[]).length;y=b+(b===1?" item":" items")}else y=[p.size?mg(p.size):"",p.time?new Date(p.time).toLocaleDateString():""].filter(Boolean).join(" · ");const v=sw(r,p.path,!!p.dir);return v&&(y=Jo(v)+(y?" · "+y:"")),f.jsxs("div",{className:"dl-row",tabIndex:0,role:"button",title:p.path,onClick:()=>i(p.path),onKeyDown:b=>{(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),i(p.path))},children:[f.jsx("span",{className:"ticon",children:f.jsx(ut,{name:p.dir?"folder":"doc"})}),f.jsx("span",{className:"dl-name",children:p.name}),v&&f.jsx("span",{className:"heatdot lvl"+rI(v),role:"img","aria-label":Jo(v)+" in 30 days",title:Jo(v)+" in 30 days"}),f.jsx("span",{className:"dl-meta",children:y})]},p.path)})}),e.hub&&f.jsx(KI,{apiBase:e.apiBase,prefix:n.path+"/",onOpen:i,onFullHistory:()=>e.onFullHistory(n.path+"/"),onRendered:e.onRendered})]})}function KI(e){const n=pI(e.apiBase,e.prefix,!0),{onRendered:r}=e;return S.useEffect(()=>{n&&n.length&&r&&r()},[n,r]),!n||n.length===0?null:f.jsxs("div",{className:"dl-history",children:[f.jsx("h3",{className:"dl-h3",children:"Recent changes"}),f.jsx("div",{className:"history dl-hlist",children:n.map((i,o)=>f.jsx(pg,{entry:i,apiBase:e.apiBase,onOpen:e.onOpen},o))}),f.jsx("button",{className:"ai-btn dl-more",onClick:e.onFullHistory,children:"Full history"})]})}const YC=5e3;function YI(e,n,r=YC){const i=[];let o=[],l="",u=!1,d=0;const m=()=>{o.push(l),l="",i.length()=>o(""),[r,o]),w$.test(r)?f.jsx(WI,{...e}):OC.test(r)?f.jsx("iframe",{className:"htmlview",sandbox:"allow-scripts",src:l,title:r,onLoad:e.onRendered}):AC.test(r)?f.jsx("iframe",{className:"pdfview",src:l,title:r,onLoad:e.onRendered}):S$.test(r)?f.jsx(nP,{src:l,alt:r,version:i,onRendered:e.onRendered}):_$.test(r)?f.jsx(dw,{...e,fileURL:l,delim:/\.tsv$/i.test(r)?" ":","}):C$.test(r)?f.jsx(dw,{...e,fileURL:l}):f.jsx(XI,{...e,fileURL:l})}function XI(e){const{apiBase:n,path:r,version:i,fileURL:o,onRendered:l}=e,{data:u,error:d}=ZC(o,["text",o],!0,!!i);return S.useEffect(()=>{u&&l?.()},[u,l]),d?f.jsx(fd,{version:i,err:d}):u?u.kind==="text"?f.jsx("pre",{className:"plain",children:u.text},r):f.jsx(JI,{apiBase:n,path:r,version:i,fileURL:o,children:u.kind==="too-large"?`Too large to preview (${mg(u.size)}).`:"No preview for this file type."}):null}function JI(e){const{apiBase:n,path:r,version:i,fileURL:o}=e;return f.jsxs("div",{className:"filecard",children:[f.jsx("div",{className:"name",children:r.split("/").pop()}),f.jsx("p",{children:e.children}),f.jsx("a",{className:"btn",download:!0,href:i?o+"&download=1":n+"download?path="+encodeURIComponent(r),children:"Download"})]})}function WI(e){const{apiBase:n,path:r,version:i,heatMap:o,flatFiles:l,onOpenFile:u,onMeta:d,onRendered:m}=e,{data:p,error:y}=Pt({queryKey:["render",n,r,i||""],queryFn:()=>Bt(n+"render?path="+encodeURIComponent(r)+(i?"&sha="+i:"")),retry:i?!1:void 0}),v=S.useMemo(()=>p?tP(p.html,r,n):"",[p,r,n]),[b,x]=S.useState(null);return S.useEffect(()=>{if(x(null),!y2(v))return;let w=!1;return b2(v).then(_=>{w||x(_)}),()=>{w=!0}},[v]),S.useEffect(()=>{if(!p)return;const w=[];(p.user_name||p.user||p.author)&&w.push(dd(p)+(p.device?" on "+p.device:"")),p.time&&w.push(new Date(p.time).toLocaleString());const _=i?null:o&&o[p.path];_&&ka(_)&&w.push(Jo(_)+" / 30d"),d(w.join(" · ")),m?.()},[p,i,o,d,m]),y?f.jsx(fd,{version:i,err:y}):p?f.jsx("div",{dangerouslySetInnerHTML:{__html:b??v},onClick:w=>eP(w,r,l,u)}):null}function eP(e,n,r,i){const o=e.target.closest("a");if(!o||!e.currentTarget.contains(o))return;const l=o.getAttribute("href")||"",u=n.includes("/")?n.slice(0,n.lastIndexOf("/")):"";l.startsWith("wiki:")?(e.preventDefault(),aP(decodeURIComponent(l.slice(5)),r,i)):/^([a-z]+:|\/|#)/i.test(l)||(e.preventDefault(),i(MC(u,decodeURIComponent(l))))}function tP(e,n,r){const i=n.includes("/")?n.slice(0,n.lastIndexOf("/")):"",o=u=>r+"file?path="+encodeURIComponent(u),l=new DOMParser().parseFromString(e,"text/html");for(const u of l.querySelectorAll("img")){const d=u.getAttribute("src")||"";/^\s*data:image\/svg/i.test(d)?u.removeAttribute("src"):/^([a-z]+:|\/)/i.test(d)||u.setAttribute("src",o(MC(i,d)))}for(const u of l.querySelectorAll("a")){const d=u.getAttribute("href")||"";/^\s*data:/i.test(d)?u.removeAttribute("href"):/^https?:/i.test(d)&&(u.setAttribute("target","_blank"),u.setAttribute("rel","noopener"))}return l.body.innerHTML}function nP(e){const[n,r]=S.useState(!1);return n?f.jsx(fd,{version:e.version,err:new Error("could not be loaded")}):f.jsx("img",{src:e.src,alt:e.alt,onLoad:e.onRendered,onError:()=>r(!0)})}function fd({version:e,err:n}){return f.jsx("div",{className:"empty",children:e?"That version isn't available.":"Could not load file: "+n.message})}function dw(e){const{path:n,version:r,fileURL:i,delim:o,onRendered:l}=e,{data:u,error:d}=Pt({queryKey:["text",i],queryFn:async()=>{const p=await fetch(i);if(!p.ok)throw new Error(await p.text());return p.text()},retry:r?!1:void 0});S.useEffect(()=>{u!=null&&l?.()},[u,l]);const m=S.useMemo(()=>o&&u!=null?YI(u,o,YC):null,[u,o]);return d?f.jsx(fd,{version:r,err:d}):u==null?null:m?f.jsx(rP,{csv:m},n):f.jsx("pre",{className:"plain",children:u},n)}function rP({csv:e}){const[n,...r]=e.rows,i=e.rows.reduce((l,u)=>Math.max(l,u.length),0),o=Array.from({length:i},(l,u)=>u);return f.jsxs(f.Fragment,{children:[f.jsx("div",{className:"csvbox",children:f.jsxs("table",{className:"csvview",children:[f.jsx("thead",{children:f.jsx("tr",{children:o.map(l=>f.jsx("th",{children:n[l]??""},l))})}),f.jsx("tbody",{children:r.map((l,u)=>f.jsx("tr",{children:o.map(d=>f.jsx("td",{children:l[d]??""},d))},u))})]})}),e.truncated>0&&f.jsxs("p",{className:"csvnote",children:["showing ",e.rows.length.toLocaleString()," of"," ",(e.rows.length+e.truncated).toLocaleString()," rows — Download for the rest"]})]})}function aP(e,n,r){const i=e.toLowerCase(),o=n.find(l=>l.path.toLowerCase()===i||l.path.toLowerCase()===i+".md")||n.find(l=>{const u=l.name.toLowerCase();return u===i||u===i+".md"});o&&r(o.path)}const iP=[{value:"",label:"Never"},{value:"24h",label:"In 24 hours"},{value:"168h",label:"In 7 days"},{value:"720h",label:"In 30 days"}];function sP({url:e,copied:n,onClose:r}){const i=e.split("/s/")[1],[o,l]=S.useState(""),[u,d]=S.useState(),[m,p]=S.useState(!1),y=S.useRef(null);async function v(b){const x=o;l(b),p(!0);try{const w=await Wn("PATCH","/api/shares/"+i,{expires_in:b});d(w.expires)}catch(w){Ke(w.message,!0),l(x)}finally{p(!1)}}return f.jsx(Ju,{open:!0,onOpenChange:b=>!b&&r(),children:f.jsxs(Wu,{className:"modal",showCloseButton:!1,onOpenAutoFocus:b=>{b.preventDefault(),y.current?.focus()},children:[f.jsx(_l,{asChild:!0,children:f.jsx("h3",{children:"Public link"})}),f.jsxs("p",{children:[f.jsx("b",{children:"Anyone with this link can view this file"})," — no account needed. It always shows the latest version until it expires or you revoke it."]}),f.jsx("div",{className:"modal-url",children:e}),f.jsxs("div",{className:"modal-expiry",children:[f.jsx("label",{htmlFor:"share-expiry",children:"Expires"}),f.jsx("select",{id:"share-expiry",value:o,disabled:m,onChange:b=>v(b.target.value),children:iP.map(b=>f.jsx("option",{value:b.value,children:b.label},b.value))}),f.jsx("span",{className:"modal-expiry-note",children:zC(u)})]}),f.jsxs("div",{className:"modal-actions",children:[f.jsx(vt,{ref:y,variant:"primary",onClick:()=>qs(e).then(b=>Ke(b?"Copied.":"Select and copy the link above.")),children:n?"Copied ✓":"Copy link"}),f.jsx(vt,{variant:"subtle",onClick:()=>window.open(e,"_blank"),children:"Open"}),f.jsx(vt,{variant:"subtle",onClick:r,children:"Done"})]})]})})}function oP({shares:e,canRevoke:n,onChanged:r}){return e.length===0?null:f.jsxs("div",{className:"share-banner",role:"status",children:[f.jsxs("div",{className:"sb-head",children:[f.jsx(ut,{name:"share"}),f.jsx("b",{children:"Publicly shared"}),f.jsxs("span",{className:"sb-count",children:[e.length," active link",e.length>1?"s":""]})]}),f.jsxs("p",{className:"sb-note",children:[f.jsx("b",{children:"Anyone with this link can view this file"})," — no account needed. It always shows the latest version until you revoke it.",e.some(i=>i.opens!==void 0)&&f.jsxs(f.Fragment,{children:[" ",LC]})]}),e.map(i=>f.jsxs("div",{className:"sb-link",children:[f.jsx("span",{className:"sb-url mono",title:i.url,children:i.url}),f.jsx("span",{className:"sb-meta",children:kC(i,!1)}),f.jsxs("span",{className:"sb-actions",children:[f.jsx(vt,{variant:"subtle",onClick:()=>qs(i.url).then(o=>Ke(o?"Copied.":"Select and copy the link.")),children:"Copy link"}),f.jsx(vt,{variant:"subtle",onClick:()=>window.open(i.url,"_blank"),children:"Open"}),n&&f.jsx("button",{className:"ai-del","aria-label":`Revoke the share of ${i.path}`,onClick:()=>IC(i,r),children:"Revoke"})]})]},i.token))]})}var fw=1,lP=.9,cP=.8,uP=.17,sm=.1,om=.999,dP=.9999,fP=.99,hP=/[\\\/_+.#"@\[\(\{&]/,mP=/[\\\/_+.#"@\[\(\{&]/g,pP=/[\s-]/,QC=/[\s-]/g;function Wm(e,n,r,i,o,l,u){if(l===n.length)return o===e.length?fw:fP;var d=`${o},${l}`;if(u[d]!==void 0)return u[d];for(var m=i.charAt(l),p=r.indexOf(m,o),y=0,v,b,x,w;p>=0;)v=Wm(e,n,r,i,p+1,l+1,u),v>y&&(p===o?v*=fw:hP.test(e.charAt(p-1))?(v*=cP,x=e.slice(o,p-1).match(mP),x&&o>0&&(v*=Math.pow(om,x.length))):pP.test(e.charAt(p-1))?(v*=lP,w=e.slice(o,p-1).match(QC),w&&o>0&&(v*=Math.pow(om,w.length))):(v*=uP,o>0&&(v*=Math.pow(om,p-o))),e.charAt(p)!==n.charAt(l)&&(v*=dP)),(vv&&(v=b*sm)),v>y&&(y=v),p=r.indexOf(m,p+1);return u[d]=y,y}function hw(e){return e.toLowerCase().replace(QC," ")}function gP(e,n,r){return e=r&&r.length>0?`${e+" "+r.join(" ")}`:e,Wm(e,n,hw(e),hw(n),0,0,{})}var Zo='[cmdk-group=""]',lm='[cmdk-group-items=""]',vP='[cmdk-group-heading=""]',XC='[cmdk-item=""]',mw=`${XC}:not([aria-disabled="true"])`,ep="cmdk-item-select",As="data-value",yP=(e,n,r)=>gP(e,n,r),JC=S.createContext(void 0),jl=()=>S.useContext(JC),WC=S.createContext(void 0),gg=()=>S.useContext(WC),eE=S.createContext(void 0),tE=S.forwardRef((e,n)=>{let r=Ms(()=>{var M,B;return{search:"",value:(B=(M=e.value)!=null?M:e.defaultValue)!=null?B:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),i=Ms(()=>new Set),o=Ms(()=>new Map),l=Ms(()=>new Map),u=Ms(()=>new Set),d=nE(e),{label:m,children:p,value:y,onValueChange:v,filter:b,shouldFilter:x,loop:w,disablePointerSelection:_=!1,vimBindings:E=!0,...R}=e,T=dn(),O=dn(),N=dn(),z=S.useRef(null),U=OP();Ai(()=>{if(y!==void 0){let M=y.trim();r.current.value=M,$.emit()}},[y]),Ai(()=>{U(6,le)},[]);let $=S.useMemo(()=>({subscribe:M=>(u.current.add(M),()=>u.current.delete(M)),snapshot:()=>r.current,setState:(M,B,X)=>{var Y,ce,ae,be;if(!Object.is(r.current[M],B)){if(r.current[M]=B,M==="search")de(),ye(),U(1,me);else if(M==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let xe=document.getElementById(N);xe?xe.focus():(Y=document.getElementById(T))==null||Y.focus()}if(U(7,()=>{var xe;r.current.selectedItemId=(xe=te())==null?void 0:xe.id,$.emit()}),X||U(5,le),((ce=d.current)==null?void 0:ce.value)!==void 0){let xe=B??"";(be=(ae=d.current).onValueChange)==null||be.call(ae,xe);return}}$.emit()}},emit:()=>{u.current.forEach(M=>M())}}),[]),F=S.useMemo(()=>({value:(M,B,X)=>{var Y;B!==((Y=l.current.get(M))==null?void 0:Y.value)&&(l.current.set(M,{value:B,keywords:X}),r.current.filtered.items.set(M,ve(B,X)),U(2,()=>{ye(),$.emit()}))},item:(M,B)=>(i.current.add(M),B&&(o.current.has(B)?o.current.get(B).add(M):o.current.set(B,new Set([M]))),U(3,()=>{de(),ye(),r.current.value||me(),$.emit()}),()=>{l.current.delete(M),i.current.delete(M),r.current.filtered.items.delete(M);let X=te();U(4,()=>{de(),X?.getAttribute("id")===M&&me(),$.emit()})}),group:M=>(o.current.has(M)||o.current.set(M,new Set),()=>{l.current.delete(M),o.current.delete(M)}),filter:()=>d.current.shouldFilter,label:m||e["aria-label"],getDisablePointerSelection:()=>d.current.disablePointerSelection,listId:T,inputId:N,labelId:O,listInnerRef:z}),[]);function ve(M,B){var X,Y;let ce=(Y=(X=d.current)==null?void 0:X.filter)!=null?Y:yP;return M?ce(M,r.current.search,B):0}function ye(){if(!r.current.search||d.current.shouldFilter===!1)return;let M=r.current.filtered.items,B=[];r.current.filtered.groups.forEach(Y=>{let ce=o.current.get(Y),ae=0;ce.forEach(be=>{let xe=M.get(be);ae=Math.max(xe,ae)}),B.push([Y,ae])});let X=z.current;ge().sort((Y,ce)=>{var ae,be;let xe=Y.getAttribute("id"),Oe=ce.getAttribute("id");return((ae=M.get(Oe))!=null?ae:0)-((be=M.get(xe))!=null?be:0)}).forEach(Y=>{let ce=Y.closest(lm);ce?ce.appendChild(Y.parentElement===ce?Y:Y.closest(`${lm} > *`)):X.appendChild(Y.parentElement===X?Y:Y.closest(`${lm} > *`))}),B.sort((Y,ce)=>ce[1]-Y[1]).forEach(Y=>{var ce;let ae=(ce=z.current)==null?void 0:ce.querySelector(`${Zo}[${As}="${encodeURIComponent(Y[0])}"]`);ae?.parentElement.appendChild(ae)})}function me(){let M=ge().find(X=>X.getAttribute("aria-disabled")!=="true"),B=M?.getAttribute(As);$.setState("value",B||void 0)}function de(){var M,B,X,Y;if(!r.current.search||d.current.shouldFilter===!1){r.current.filtered.count=i.current.size;return}r.current.filtered.groups=new Set;let ce=0;for(let ae of i.current){let be=(B=(M=l.current.get(ae))==null?void 0:M.value)!=null?B:"",xe=(Y=(X=l.current.get(ae))==null?void 0:X.keywords)!=null?Y:[],Oe=ve(be,xe);r.current.filtered.items.set(ae,Oe),Oe>0&&ce++}for(let[ae,be]of o.current)for(let xe of be)if(r.current.filtered.items.get(xe)>0){r.current.filtered.groups.add(ae);break}r.current.filtered.count=ce}function le(){var M,B,X;let Y=te();Y&&(((M=Y.parentElement)==null?void 0:M.firstChild)===Y&&((X=(B=Y.closest(Zo))==null?void 0:B.querySelector(vP))==null||X.scrollIntoView({block:"nearest"})),Y.scrollIntoView({block:"nearest"}))}function te(){var M;return(M=z.current)==null?void 0:M.querySelector(`${XC}[aria-selected="true"]`)}function ge(){var M;return Array.from(((M=z.current)==null?void 0:M.querySelectorAll(mw))||[])}function L(M){let B=ge()[M];B&&$.setState("value",B.getAttribute(As))}function K(M){var B;let X=te(),Y=ge(),ce=Y.findIndex(be=>be===X),ae=Y[ce+M];(B=d.current)!=null&&B.loop&&(ae=ce+M<0?Y[Y.length-1]:ce+M===Y.length?Y[0]:Y[ce+M]),ae&&$.setState("value",ae.getAttribute(As))}function re(M){let B=te(),X=B?.closest(Zo),Y;for(;X&&!Y;)X=M>0?jP(X,Zo):TP(X,Zo),Y=X?.querySelector(mw);Y?$.setState("value",Y.getAttribute(As)):K(M)}let W=()=>L(ge().length-1),ne=M=>{M.preventDefault(),M.metaKey?W():M.altKey?re(1):K(1)},D=M=>{M.preventDefault(),M.metaKey?L(0):M.altKey?re(-1):K(-1)};return S.createElement($e.div,{ref:n,tabIndex:-1,...R,"cmdk-root":"",onKeyDown:M=>{var B;(B=R.onKeyDown)==null||B.call(R,M);let X=M.nativeEvent.isComposing||M.keyCode===229;if(!(M.defaultPrevented||X))switch(M.key){case"n":case"j":{E&&M.ctrlKey&&ne(M);break}case"ArrowDown":{ne(M);break}case"p":case"k":{E&&M.ctrlKey&&D(M);break}case"ArrowUp":{D(M);break}case"Home":{M.preventDefault(),L(0);break}case"End":{M.preventDefault(),W();break}case"Enter":{M.preventDefault();let Y=te();if(Y){let ce=new Event(ep);Y.dispatchEvent(ce)}}}}},S.createElement("label",{"cmdk-label":"",htmlFor:F.inputId,id:F.labelId,style:MP},m),md(e,M=>S.createElement(WC.Provider,{value:$},S.createElement(JC.Provider,{value:F},M))))}),bP=S.forwardRef((e,n)=>{var r,i;let o=dn(),l=S.useRef(null),u=S.useContext(eE),d=jl(),m=nE(e),p=(i=(r=m.current)==null?void 0:r.forceMount)!=null?i:u?.forceMount;Ai(()=>{if(!p)return d.item(o,u?.id)},[p]);let y=rE(o,l,[e.value,e.children,l],e.keywords),v=gg(),b=qa(U=>U.value&&U.value===y.current),x=qa(U=>p||d.filter()===!1?!0:U.search?U.filtered.items.get(o)>0:!0);S.useEffect(()=>{let U=l.current;if(!(!U||e.disabled))return U.addEventListener(ep,w),()=>U.removeEventListener(ep,w)},[x,e.onSelect,e.disabled]);function w(){var U,$;_(),($=(U=m.current).onSelect)==null||$.call(U,y.current)}function _(){v.setState("value",y.current,!0)}if(!x)return null;let{disabled:E,value:R,onSelect:T,forceMount:O,keywords:N,...z}=e;return S.createElement($e.div,{ref:Fs(l,n),...z,id:o,"cmdk-item":"",role:"option","aria-disabled":!!E,"aria-selected":!!b,"data-disabled":!!E,"data-selected":!!b,onPointerMove:E||d.getDisablePointerSelection()?void 0:_,onClick:E?void 0:w},e.children)}),xP=S.forwardRef((e,n)=>{let{heading:r,children:i,forceMount:o,...l}=e,u=dn(),d=S.useRef(null),m=S.useRef(null),p=dn(),y=jl(),v=qa(x=>o||y.filter()===!1?!0:x.search?x.filtered.groups.has(u):!0);Ai(()=>y.group(u),[]),rE(u,d,[e.value,e.heading,m]);let b=S.useMemo(()=>({id:u,forceMount:o}),[o]);return S.createElement($e.div,{ref:Fs(d,n),...l,"cmdk-group":"",role:"presentation",hidden:v?void 0:!0},r&&S.createElement("div",{ref:m,"cmdk-group-heading":"","aria-hidden":!0,id:p},r),md(e,x=>S.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":r?p:void 0},S.createElement(eE.Provider,{value:b},x))))}),wP=S.forwardRef((e,n)=>{let{alwaysRender:r,...i}=e,o=S.useRef(null),l=qa(u=>!u.search);return!r&&!l?null:S.createElement($e.div,{ref:Fs(o,n),...i,"cmdk-separator":"",role:"separator"})}),SP=S.forwardRef((e,n)=>{let{onValueChange:r,...i}=e,o=e.value!=null,l=gg(),u=qa(p=>p.search),d=qa(p=>p.selectedItemId),m=jl();return S.useEffect(()=>{e.value!=null&&l.setState("search",e.value)},[e.value]),S.createElement($e.input,{ref:n,...i,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":m.listId,"aria-labelledby":m.labelId,"aria-activedescendant":d,id:m.inputId,type:"text",value:o?e.value:u,onChange:p=>{o||l.setState("search",p.target.value),r?.(p.target.value)}})}),_P=S.forwardRef((e,n)=>{let{children:r,label:i="Suggestions",...o}=e,l=S.useRef(null),u=S.useRef(null),d=qa(p=>p.selectedItemId),m=jl();return S.useEffect(()=>{if(u.current&&l.current){let p=u.current,y=l.current,v,b=new ResizeObserver(()=>{v=requestAnimationFrame(()=>{let x=p.offsetHeight;y.style.setProperty("--cmdk-list-height",x.toFixed(1)+"px")})});return b.observe(p),()=>{cancelAnimationFrame(v),b.unobserve(p)}}},[]),S.createElement($e.div,{ref:Fs(l,n),...o,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":d,"aria-label":i,id:m.listId},md(e,p=>S.createElement("div",{ref:Fs(u,m.listInnerRef),"cmdk-list-sizer":""},p)))}),CP=S.forwardRef((e,n)=>{let{open:r,onOpenChange:i,overlayClassName:o,contentClassName:l,container:u,...d}=e;return S.createElement(hp,{open:r,onOpenChange:i},S.createElement(pp,{container:u},S.createElement(gp,{"cmdk-overlay":"",className:o}),S.createElement(vp,{"aria-label":e.label,"cmdk-dialog":"",className:l},S.createElement(tE,{ref:n,...d}))))}),EP=S.forwardRef((e,n)=>qa(r=>r.filtered.count===0)?S.createElement($e.div,{ref:n,...e,"cmdk-empty":"",role:"presentation"}):null),RP=S.forwardRef((e,n)=>{let{progress:r,children:i,label:o="Loading...",...l}=e;return S.createElement($e.div,{ref:n,...l,"cmdk-loading":"",role:"progressbar","aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":o},md(e,u=>S.createElement("div",{"aria-hidden":!0},u)))}),hd=Object.assign(tE,{List:_P,Item:bP,Input:SP,Group:xP,Separator:wP,Dialog:CP,Empty:EP,Loading:RP});function jP(e,n){let r=e.nextElementSibling;for(;r;){if(r.matches(n))return r;r=r.nextElementSibling}}function TP(e,n){let r=e.previousElementSibling;for(;r;){if(r.matches(n))return r;r=r.previousElementSibling}}function nE(e){let n=S.useRef(e);return Ai(()=>{n.current=e}),n}var Ai=typeof window>"u"?S.useEffect:S.useLayoutEffect;function Ms(e){let n=S.useRef();return n.current===void 0&&(n.current=e()),n}function qa(e){let n=gg(),r=()=>e(n.snapshot());return S.useSyncExternalStore(n.subscribe,r,r)}function rE(e,n,r,i=[]){let o=S.useRef(),l=jl();return Ai(()=>{var u;let d=(()=>{var p;for(let y of r){if(typeof y=="string")return y.trim();if(typeof y=="object"&&"current"in y)return y.current?(p=y.current.textContent)==null?void 0:p.trim():o.current}})(),m=i.map(p=>p.trim());l.value(e,d,m),(u=n.current)==null||u.setAttribute(As,d),o.current=d}),o}var OP=()=>{let[e,n]=S.useState(),r=Ms(()=>new Map);return Ai(()=>{r.current.forEach(i=>i()),r.current=new Map},[e]),(i,o)=>{r.current.set(i,o),n({})}};function AP(e){let n=e.type;return typeof n=="function"?n(e.props):"render"in n?n.render(e.props):e}function md({asChild:e,children:n},r){return e&&S.isValidElement(n)?S.cloneElement(AP(n),{ref:n.ref},r(n.props.children)):r(n)}var MP={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};function NP({className:e,...n}){return f.jsx(hd,{"data-slot":"command",className:Je("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...n})}function DP({className:e,...n}){return f.jsxs("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[f.jsx(b_,{className:"size-4 shrink-0 opacity-50"}),f.jsx(hd.Input,{"data-slot":"command-input",className:Je("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...n})]})}function zP({className:e,...n}){return f.jsx(hd.List,{"data-slot":"command-list",className:Je("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",e),...n})}function kP({className:e,...n}){return f.jsx(hd.Item,{"data-slot":"command-item",className:Je("relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",e),...n})}function pw(e,n){if(!e)return{score:0,hits:[]};const r=e.toLowerCase(),i=n.toLowerCase();let o=0,l=0,u=0;const d=[];for(let m=0;m3&&i.endsWith("ies")?o=i.slice(0,-3)+"y":i.length>3&&i.endsWith("es")?o=i.slice(0,-2):i.length>2&&i.endsWith("s")&&(o=i.slice(0,-1)),o?pw(o,n):null}function $P({text:e,hits:n}){const r=[];let i=0;return n.forEach((o,l)=>{o>i&&r.push(e.slice(i,o)),r.push(f.jsx("b",{children:e[o]},l)),i=o+1}),r.push(e.slice(i)),f.jsx("span",{className:"plabel",children:r})}function IP({open:e,onClose:n,candidates:r}){const[i,o]=S.useState(""),l=S.useMemo(()=>{if(!e)return[];const d=[];for(const m of r()){const p=LP(i,m.label);p&&d.push({...m,score:p.score,hits:p.hits})}return d.sort((m,p)=>p.score-m.score),d.slice(0,40)},[e,i,r]);S.useEffect(()=>{e&&o("")},[e]);const u=d=>{n(),d.run()};return f.jsx(Ju,{open:e,onOpenChange:d=>!d&&n(),children:f.jsxs(Wu,{id:"palette",className:"palette",showCloseButton:!1,"aria-describedby":void 0,children:[f.jsx(_l,{className:"sr-only",children:"Search and quick actions"}),f.jsxs(NP,{shouldFilter:!1,loop:!0,children:[f.jsxs("div",{id:"palette-inputwrap",children:[f.jsx(ut,{name:"search"}),f.jsx(DP,{placeholder:"Search file names, projects, actions…",autoComplete:"off",spellCheck:!1,value:i,onValueChange:o})]}),f.jsx(zP,{children:l.length===0?f.jsx("div",{className:"pempty",children:"No matches — search covers file names, projects, and actions"}):l.map(d=>f.jsxs(kP,{value:d.kind+":"+d.label,onSelect:()=>u(d),children:[f.jsx("span",{className:"picon",children:f.jsx(ut,{name:d.icon})}),f.jsx($P,{text:d.label,hits:d.hits}),f.jsx("span",{className:"pkind",children:d.kind})]},d.kind+":"+d.label))}),f.jsx("footer",{id:"palette-hint",children:"↑↓ navigate · ⏎ select · esc close"})]})]})})}const Wo=3,Ns=30;function PP(e,n){return Pt({queryKey:["heatDevices",e],queryFn:()=>Bt(e+"heat?by=device&days=30"),enabled:n,retry:!1,staleTime:6e4}).data?.devices??null}const FP=["all","human","agent","share"],VP={all:"All reads",human:"Human reads",agent:"Agent reads",share:"Shared reads"},UP={agent:{agent:1,human:0,share:0},human:{agent:0,human:1,share:0},share:{agent:0,human:0,share:1}};function gw(e){const[n,r]=S.useState("all"),{flatFiles:i,heatMap:o,devices:l,scope:u}=e,d=w=>!u||w===u||w.startsWith(u+"/"),m=u?i.filter(w=>d(w.path)):i;if(!e.loading&&!m.length)return f.jsxs("div",{className:"insights",children:[f.jsxs("h1",{className:"in-title",children:["Knowledge insights",u?f.jsxs("span",{className:"in-scope",children:[" · ",u]}):null]}),f.jsxs("div",{className:"dl-empty in-blank",children:[f.jsx("p",{children:u?`Nothing in ${u} to chart yet.`:"Nothing to chart yet."}),f.jsx("p",{children:u?`No files under ${u} are syncing here yet.`:"This project has no files. Once a device syncs files here, the map, the reads × freshness plot and the hot path fill in on their own."}),e.installHref&&f.jsx("a",{className:"pbtn",...Bs(e.installHref),children:"Set up a device →"})]})]});const p=l&&u?l.map(w=>{const _=Object.create(null);for(const[E,R]of Object.entries(w.folders||{}))d(E)&&(_[E]=R);return{...w,folders:_}}).filter(w=>Object.keys(w.folders).length>0):l,y=Date.now(),v=m.map(w=>{const _=o&&o[w.path]||{},E=w.time?Math.max(0,(y-new Date(w.time).getTime())/864e5):0,R=n==="all"?ka(_):_[n]||0;return{path:w.path,reads:R,agent:_.agent||0,human:_.human||0,share:_.share||0,total:ka(_),days:E,danger:R>=Wo&&E>=Ns}}),b=iI(o,new Set(i.map(w=>w.path))).filter(d).map(w=>{const _=o[w];return{path:w,reads:n==="all"?ka(_):_[n]||0,agent:_.agent||0,human:_.human||0,share:_.share||0,total:ka(_),days:0,danger:!1,orphan:!0}}).filter(w=>w.reads>0),x=b.length>0?f.jsxs("p",{className:"in-legend in-orphan-note",children:[tp(b.length,"file")," with reads ",b.length===1?"is":"are"," no longer in the project — see Hot path."]}):null;return f.jsxs("div",{className:"insights",children:[f.jsxs("h1",{className:"in-title",children:["Knowledge insights",u?f.jsxs("span",{className:"in-scope",children:[" · ",u]}):null]}),f.jsx("p",{className:"dl-sub",children:u?`Reads over the last 30 days × freshness, for ${u} and everything in it.`:"Reads over the last 30 days × how long since each file changed. Hot but stale knowledge — read a lot, maintained by nobody — is the danger zone."}),f.jsx("div",{className:"in-lens",children:FP.map(w=>f.jsx("button",{className:"in-lens-btn"+(w===n?" active":""),onClick:()=>r(w),children:VP[w]},w))}),f.jsx("h3",{className:"dl-h3",children:"Map — cell size = reads, color = freshness (scale below)"}),f.jsx(BP,{pts:v,onOpenFile:e.onOpenFile,onOpenFolder:e.onOpenFolder,isFolder:e.isFolder}),x,f.jsxs("h3",{className:"dl-h3 in-h3-row",children:["Reads × freshness",f.jsx("span",{className:"in-cap",children:"dot size = agent share of reads"})]}),f.jsx(GP,{pts:v,onOpenFile:e.onOpenFile}),x,f.jsx("h3",{className:"dl-h3",children:"Hot path — top files by reads"}),f.jsx(ZP,{pts:[...v,...b],lens:n,onOpenFile:e.onOpenFile,onOpenHistory:e.onOpenHistory}),p&&p.length>0&&f.jsxs(f.Fragment,{children:[f.jsx("h3",{className:"dl-h3",children:"Agent coverage — which agents read which areas"}),f.jsx(KP,{devices:p})]})]})}const HP="rgb(150,156,164)";function aE(e){const n=[[76,195,138],[232,196,84],[224,93,93]],r=Math.min(1,Math.max(0,e/300))*(n.length-1),i=Math.min(n.length-2,Math.floor(r)),o=r-i,l=n[i].map((u,d)=>Math.round(u+(n[i+1][d]-u)*o));return`rgb(${l[0]},${l[1]},${l[2]})`}function vw(e,n,r,i,o){const l=e.reduce((p,y)=>p+y.value,0);if(!l||i<=0||o<=0)return[];const u=e.slice().sort((p,y)=>y.value-p.value).map(p=>({it:p,a:p.value/l*i*o})),d=(p,y)=>{const b=p.reduce((w,_)=>w+_.a,0)/y;let x=0;for(const w of p){const _=w.a/b;x=Math.max(x,_/b,b/_)}return x},m=[];for(;u.length;){const p=i>=o,y=p?o:i,v=[u.shift()];for(;u.length&&d(v.concat(u[0]),y)<=d(v,y);)v.push(u.shift());const b=v.reduce((w,_)=>w+_.a,0)/y;let x=0;for(const w of v){const _=w.a/b;p?m.push({item:w.it,x:n,y:r+x,w:b,h:_}):m.push({item:w.it,x:n+x,y:r,w:_,h:b}),x+=_}p?(n+=b,i-=b):(r+=b,o-=b)}return m}const cm=15;function yw(e,n,r){const i=Math.floor((r-8)/6),o=`${e} · ${n}`;return o.length<=i?{label:o,fit:i}:{label:e.length>i?e.slice(0,Math.max(1,i-1))+"…":e,fit:i}}const tp=(e,n)=>`${e} ${n}${e===1?"":"s"}`;function BP({pts:e,onOpenFile:n,onOpenFolder:r,isFolder:i}){const u=oI(e.map(y=>y.days)),d=!!u&&lI(u.min,u.max),m=new Map;for(const y of e){const v=y.path.includes("/")?y.path.split("/")[0]:"/";let b=m.get(v);b||m.set(v,b={name:v,files:[],value:0,reads:0}),b.files.push(y),b.value+=y.reads+1,b.reads+=y.reads}const p=[];for(const y of vw([...m.values()],0,0,720,480)){const v=y.item,b=v.name==="/"?"":v.name,x=v.name==="/"?"(root)":v.name;if(p.push(f.jsx("rect",{x:y.x+1,y:y.y+1,width:Math.max(0,y.w-2),height:Math.max(0,y.h-2),rx:3,className:"in-tm-group","data-dir":b,children:f.jsx("title",{children:`${v.name==="/"?"(root)":v.name+"/"} — ${tp(v.reads,"read")}/30d · ${tp(v.files.length,"file")}`})},"g"+v.name)),y.w>46&&y.h>cm+10){const{label:_}=yw(x,v.reads,y.w);p.push(f.jsx("text",{x:y.x+5,y:y.y+12,className:"in-tm-glabel","data-dir":b,children:_},"gl"+v.name))}const w=vw(v.files.map(_=>({..._,name:_.path.split("/").pop(),value:_.reads+1})),y.x+2,y.y+cm,Math.max(0,y.w-4),Math.max(0,y.h-cm-2));for(const _ of w)if(p.push(f.jsx("rect",{x:_.x+.6,y:_.y+.6,width:Math.max(.4,_.w-1.2),height:Math.max(.4,_.h-1.2),rx:1.5,fill:d?HP:aE(_.item.days),className:"in-tm-cell","data-path":_.item.path,children:f.jsx("title",{children:`${_.item.path} — ${_.item.reads} read${_.item.reads===1?"":"s"}/30d · changed ${Math.round(_.item.days)}d ago`})},_.item.path)),_.w>54&&_.h>16){const{label:E,fit:R}=yw((_.item.danger?"⚠ ":"")+_.item.name,_.item.reads,_.w);R>=5&&p.push(f.jsx("text",{x:_.x+4.5,y:_.y+12.5,className:"in-tm-label","data-path":_.item.path,children:E},"l"+_.item.path))}}return f.jsxs(f.Fragment,{children:[f.jsx("svg",{viewBox:"0 0 720 480",className:"in-chart in-treemap",onClick:y=>{const v=y.target.closest("[data-path], [data-dir]");if(!v)return;const b=v.getAttribute("data-path");if(b)return n(b);const x=v.getAttribute("data-dir");x&&i(x)&&r(x)},children:p}),f.jsx(qP,{range:u,flat:d})]})}function qP({range:e,flat:n}){if(!e)return null;const r=cI(e.min,e.max);return f.jsxs("p",{className:"in-legend in-tm-legend",children:["freshness 0d",f.jsx("span",{className:"in-sw in-sw-age"+(n?" in-sw-flat":""),style:{background:`linear-gradient(to right, ${[0,60,150,300].map(aE).join(", ")})`}}),"300d+",f.jsx("span",{className:"in-tm-range",children:n?`all files here: ${r} old — colour off, not enough range to rank`:`observed: ${r} old`})]})}function GP({pts:e,onOpenFile:n}){const o={l:44,r:16,t:20,b:34},l=Math.max(Ns*2,...e.map(w=>w.days)),u=Math.max(Wo*2,...e.map(w=>w.reads)),d=w=>Math.log10(w+1)/Math.log10(l+1),m=w=>Math.log10(w+1)/Math.log10(u+1),p=w=>3+4*w,y=p(1),v=w=>o.l+y+d(w)*(720-o.l-o.r-2*y),b=w=>360-o.b-y-m(w)*(360-o.t-o.b-2*y),x=fI(e.filter(w=>w.danger).map(w=>({path:w.path,reads:w.reads,cx:v(w.days),cy:b(w.reads),r:p(w.total?(w.agent||0)/w.total:0)})),{right:720-o.r,top:o.t+8,bottom:360-o.b-4});return f.jsxs("svg",{viewBox:"0 0 720 360",className:"in-chart",children:[f.jsx("rect",{x:v(Ns),y:o.t,width:720-o.r-v(Ns),height:b(Wo)-o.t,className:"in-danger-zone"}),f.jsx("line",{x1:v(Ns),y1:o.t,x2:v(Ns),y2:360-o.b,className:"in-threshold"}),f.jsx("line",{x1:o.l,y1:b(Wo),x2:720-o.r,y2:b(Wo),className:"in-threshold"}),f.jsx("line",{x1:o.l,y1:360-o.b,x2:720-o.r,y2:360-o.b,className:"in-axis"}),f.jsx("line",{x1:o.l,y1:o.t,x2:o.l,y2:360-o.b,className:"in-axis"}),f.jsx("text",{x:(o.l+720-o.r)/2,y:352,className:"in-label",children:"days since last change →"}),f.jsx("text",{x:12,y:(o.t+360-o.b)/2,className:"in-label",transform:`rotate(-90 12 ${(o.t+360-o.b)/2})`,children:"reads / 30d →"}),f.jsx("text",{x:720-o.r-6,y:o.t+14,className:"in-quad in-quad-danger",textAnchor:"end",children:"hot + stale"}),f.jsx("text",{x:o.l+6,y:o.t+14,className:"in-quad",children:"hot + fresh"}),f.jsx("text",{x:720-o.r-6,y:360-o.b-8,className:"in-quad",textAnchor:"end",children:"cold + stale"}),f.jsx("text",{x:o.l+6,y:360-o.b-8,className:"in-quad",children:"cold + fresh"}),e.map(w=>{const _=w.total?(w.agent||0)/w.total:0;return f.jsx("circle",{cx:Number(v(w.days).toFixed(1)),cy:Number(b(w.reads).toFixed(1)),r:Number(p(_).toFixed(1)),className:"in-pt"+(w.danger?" danger":w.reads?"":" cold"),onClick:()=>n(w.path),children:f.jsx("title",{children:`${w.path} — ${w.reads} read${w.reads===1?"":"s"} / 30d · changed ${Math.round(w.days)}d ago`})},w.path)}),x.map(w=>f.jsx("text",{x:Number(w.x.toFixed(1)),y:Number(w.y.toFixed(1)),textAnchor:w.anchor,className:"in-pt-label",children:w.name},w.path))]})}function ZP({pts:e,lens:n,onOpenFile:r,onOpenHistory:i}){const o=e.filter(d=>d.reads>0).sort((d,m)=>m.reads-d.reads||m.days-d.days).slice(0,20);if(!o.length)return f.jsx("div",{className:"dl-empty",children:"No reads in the window yet."});const l=o[0].reads,u=o.some(d=>d.share>0);return f.jsxs(f.Fragment,{children:[f.jsx("div",{className:"in-hotpath",children:o.map(d=>{const m=UP[n]??aI(d),p=d.reads/l*100,y=()=>d.orphan?i(d.path):r(d.path);return f.jsxs("div",{className:"in-hp-row",tabIndex:0,role:"button",title:d.orphan?`${d.reads} read${d.reads===1?"":"s"}/30d · no longer in the project — open its history`:d.danger?`${d.reads} read${d.reads===1?"":"s"}/30d · unchanged ${Math.round(d.days)}d — review this file`:d.path,onClick:y,onKeyDown:v=>{(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),y())},children:[f.jsx("span",{className:"in-hp-name"+(d.danger?" danger":""),children:d.path+(d.danger?" ⚠":"")}),d.orphan&&f.jsx("span",{className:"in-hp-gone",children:"· no longer in the project"}),f.jsxs("span",{className:"in-hp-bar",children:[f.jsx("span",{className:"in-hp-agent",style:{width:(p*m.agent).toFixed(1)+"%"}}),f.jsx("span",{className:"in-hp-human",style:{width:(p*m.human).toFixed(1)+"%"}}),f.jsx("span",{className:"in-hp-share",style:{width:(p*m.share).toFixed(1)+"%"}})]}),f.jsx("span",{className:"in-hp-count",children:d.reads})]},d.path)})}),f.jsxs("p",{className:"in-legend",children:[f.jsx("span",{className:"in-sw agent"})," agent reads ",f.jsx("span",{className:"in-sw human"})," human reads",u&&f.jsxs(f.Fragment,{children:[" ",f.jsx("span",{className:"in-sw share"})," shared reads"]})]})]})}function KP({devices:e}){const n=new Map;for(const b of e)for(const[x,w]of Object.entries(b.folders||{}))n.set(x,(n.get(x)||0)+w);const r=[...n.entries()].sort((b,x)=>x[1]-b[1]).slice(0,12).map(b=>b[0]),i=e.slice(0,12),o=140,l=6,u=Math.min(76,Math.max(34,(720-o-8)/r.length)),d=26,m=720,p=l+i.length*d+58,y=Math.max(1,...i.flatMap(b=>r.map(x=>(b.folders||{})[x]||0))),v=b=>{const x=[23,25,31],w=[245,166,35],_=x.map((E,R)=>Math.round(E+(w[R]-E)*b));return`rgb(${_[0]},${_[1]},${_[2]})`};return f.jsxs("svg",{viewBox:`0 0 ${m} ${p}`,className:"in-chart in-matrix",children:[i.map((b,x)=>{let w=b.name||b.id||"";return w.length>20&&(w=w.slice(0,19)+"…"),f.jsxs("g",{children:[f.jsx("text",{x:o-8,y:l+x*d+17,textAnchor:"end",className:"in-label",children:w}),r.map((_,E)=>{const R=(b.folders||{})[_]||0;return f.jsx("rect",{x:o+E*u,y:l+x*d,width:u-4,height:d-4,rx:3,fill:v(Math.sqrt(R/y)),children:f.jsx("title",{children:`${b.name||b.id} × ${_||"(root)"}: ${R} read${R===1?"":"s"}/30d`})},_)})]},b.id||x)}),r.map((b,x)=>{const w=o+x*u+(u-4)/2,_=l+i.length*d+14;return f.jsx("text",{x:w,y:_,className:"in-label",textAnchor:"end",transform:`rotate(-28 ${w} ${_})`,children:b||"(root)"},b)})]})}function iE(e){return new Set(e.entries.map(n=>n.path)).size}function YP(e){const n=l=>(l.session?"s\0"+l.session:"n\0"+l.note)+"\0"+(l.device?.id??""),r=new Map;e.forEach((l,u)=>{if(!l.note&&!l.session)return;const d=r.get(n(l));if(d){d.entries.push(l),d.idx.push(u);return}r.set(n(l),{note:l.note??"",session:l.session,entries:[l],idx:[u]})});const i=[],o=new Set;return e.forEach((l,u)=>{const d=l.note||l.session?r.get(n(l)):void 0;if(!d||iE(d)<2){i.push({i:u});return}o.has(d)||(o.add(d),i.push({run:d,i:u}))}),i}function QP(e){const{filters:n,authors:r,onChange:i}=e,o=(y,v)=>i({...n,[y]:v||void 0}),[l,u]=S.useState(n?.q??""),d=S.useRef(!1);S.useEffect(()=>{d.current||u(n?.q??"")},[n?.q]),S.useEffect(()=>{if(!d.current)return;const y=setTimeout(()=>{d.current=!1,l!==(n?.q??"")&&o("q",l)},250);return()=>clearTimeout(y)},[l]);const m=n?.user&&!r.includes(n.user)?[n.user,...r]:r,p=Zp(n);return f.jsxs("div",{className:"hfilters",children:[f.jsxs("label",{className:"hf-search",children:[f.jsx(ut,{name:"search"}),f.jsx(du,{type:"search",value:l,placeholder:"path contains…","aria-label":"Filter by path",onChange:y=>{d.current=!0,u(y.target.value)}})]}),f.jsxs("select",{className:"hf-user",value:n?.user??"","aria-label":"Filter by author",onChange:y=>o("user",y.target.value),children:[f.jsx("option",{value:"",children:"Anyone"}),m.map(y=>f.jsx("option",{value:y,children:y},y))]}),f.jsxs("span",{className:"hf-dates",children:[f.jsx("span",{className:"hf-lbl",children:"UTC"}),f.jsx(du,{type:"date",className:"hf-date",value:n?.since??"","aria-label":"From date (UTC)",onChange:y=>o("since",y.target.value)}),f.jsx("span",{className:"hf-dash",children:"–"}),f.jsx(du,{type:"date",className:"hf-date",value:n?.until??"","aria-label":"To date (UTC)",onChange:y=>o("until",y.target.value)})]}),p&&f.jsx("button",{type:"button",className:"hf-clear",onClick:()=>i({}),children:"Clear"})]})}function XP(e){const n=new Set;for(const r of e)r.user&&n.add(r.user);return[...n].sort()}function JP(e){const{apiBase:n,target:r,isFolder:i,onMeta:o,onRendered:l,restore:u,remove:d,filters:m}=e,p=r?i(r)?{prefix:r+"/"}:{path:r}:{prefix:""},y=("path"in p&&p.path!==void 0?"path="+encodeURIComponent(p.path):"prefix="+encodeURIComponent(p.prefix??""))+N_(m).replace("?","&"),{data:v,error:b,fetchNextPage:x,hasNextPage:w,isFetchingNextPage:_}=mj({queryKey:["history",n,y],queryFn:({pageParam:$})=>Bt(n+"history?"+y+"&n=100"+($?"&cursor="+encodeURIComponent($):"")),initialPageParam:"",getNextPageParam:$=>$.next_cursor,staleTime:15e3}),E=S.useRef(new Set);S.useEffect(()=>{b&&o("History unavailable: "+b.message)},[b,o]),S.useEffect(()=>{v&&l?.()},[v,l]);const R=v?v.pages.flatMap($=>$.entries||[]):[];for(const $ of XP(R))E.current.add($);const T=e.onFilters&&f.jsx(QP,{filters:m,authors:[...E.current].sort(),onChange:e.onFilters});if(!v)return T?f.jsx("div",{className:"history",children:T}):null;const O=$=>{for(let F=$+1;F{const F=R[$].kind==="delete"?O($):R[$].blob;return F&&F===N.get(R[$].path)?void 0:F},U=$=>N.get(R[$].path)==="";return f.jsxs("div",{className:"history",children:[T,R.length===0&&(Zp(m)?f.jsxs("div",{className:"empty",children:["No changes match these filters.",f.jsx("br",{}),f.jsx("button",{type:"button",className:"btn hf-clear-empty",onClick:()=>e.onFilters?.({}),children:"Clear filters"})]}):f.jsx("div",{className:"empty",children:"No history yet."})),YP(R).map(($,F)=>$.run?f.jsx(WP,{run:$.run,onOpen:e.onOpen,apiBase:n,prevBlob:O,restoreSha:z,recreates:U,restore:u,remove:d},"g"+F):f.jsx(pg,{entry:R[$.i],apiBase:n,onOpen:e.onOpen,diff:{apiBase:n,prev:O($.i)},restore:u,restoreSha:z($.i),recreates:U($.i)},"r"+$.i)),w&&f.jsx("button",{type:"button",className:"btn hmore",onClick:()=>x(),disabled:_,children:_?"Loading…":"Load more"})]})}function WP({run:e,onOpen:n,apiBase:r,prevBlob:i,restoreSha:o,recreates:l,restore:u,remove:d}){const[m,p]=S.useState(!0),y=e.entries[0],v=dd(y),b=[y.device.name||y.device.id,y.device.os].filter(Boolean).join(" · "),x=y.session,w=y.device?.id,{data:_}=Pt({queryKey:["session-reads",r,x,w],queryFn:()=>Bt(r+"heat?session="+encodeURIComponent(x)+"&device="+encodeURIComponent(w)),enabled:!!x&&!!w,staleTime:3e4}),E=new Set(_?.paths??[]),R=new Set(e.entries.map(U=>U.path)),T=[...E].filter(U=>!R.has(U)).sort(),O=e.entries.map(U=>new Date(U.time).getTime()),N=eF(Math.min(...O),Math.max(...O)),z=iE(e);return f.jsxs("div",{className:"hrun"+(m?" open":""),children:[f.jsxs("div",{className:"hrun-head",children:[f.jsx("button",{type:"button",className:"hrun-toggle","aria-expanded":m,title:m?"Collapse this run":"Expand this run",onClick:()=>p(!m),children:f.jsx(ut,{name:m?"chevd":"chev"})}),f.jsx("span",{className:"hrun-note",children:f.jsx(KC,{text:e.note})}),f.jsxs("span",{className:"hrun-meta",children:[E.size>0?`read ${E.size} · changed ${z}`:`${z} file${z===1?"":"s"}`," ·"," ",v,b?" · "+b:""]}),f.jsx("span",{className:"hrun-time",children:N})]}),m&&f.jsxs("div",{className:"hrun-body",children:[e.entries.map((U,$)=>f.jsx(pg,{entry:U,apiBase:r,onOpen:n,diff:{apiBase:r,prev:i(e.idx[$])},restore:u,remove:d,restoreSha:o(e.idx[$]),recreates:l(e.idx[$]),inRun:!0,read:E.has(U.path)},$)),T.length>0&&f.jsxs("div",{className:"hrun-reads",children:[f.jsx("div",{className:"hrun-reads-head",children:"Read, not changed"}),T.map(U=>f.jsxs("button",{type:"button",className:"hrun-read",onClick:()=>n(U),children:[f.jsx("span",{className:"hkind",children:"read"}),f.jsx("span",{className:"hpath",children:U})]},U))]}),x&&f.jsx("div",{className:"hrun-foot",children:"Reads shown only for files the project still has."})]})]})}function eF(e,n){const r=new Date(e),i=new Date(n),o=u=>u.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});if(r.toDateString()!==i.toDateString())return r.toLocaleString()+" – "+i.toLocaleString();const l=i.toLocaleDateString();return e===n?l+" "+o(i):l+" "+o(r)+" – "+o(i)}function tF(e,n){return e?n(e)?e+"/ (folder)":e:"all changes"}function nF(e){const{apiBase:n,path:r,version:i}=e,o="path="+encodeURIComponent(r),{data:l}=Pt({queryKey:["history",n,o,200],queryFn:()=>Bt(n+"history?"+o+"&n=200"),staleTime:15e3}),u=l?.entries?.find(y=>y.blob===i),d=u?dd(u):"",m=u?.time?new Date(u.time).toLocaleString():"",p=n+"blob?sha="+i+"&name="+encodeURIComponent(r.split("/").pop()||r)+"&download=1";return f.jsxs("div",{className:"vbanner",role:"status",children:[f.jsx("span",{className:"vb-icon",children:f.jsx(ut,{name:"clock"})}),f.jsxs("div",{className:"vb-text",children:[f.jsx("b",{children:[m&&"Version from "+m,d&&"by "+d].filter(Boolean).join(" ")||"Earlier version"}),f.jsx("span",{children:"This is not the current file."})]}),f.jsxs("div",{className:"vb-actions",children:[f.jsx("button",{className:"ai-btn",onClick:e.onViewCurrent,children:"View current"}),f.jsx("a",{className:"ai-btn",download:!0,href:p,children:"Download this version"})]})]})}const rF={aws_access_key_id:"an AWS access key",openai_api_key:"an OpenAI API key",github_pat:"a GitHub token",slack_token:"a Slack token",private_key:"a private key",gitlab_pat:"a GitLab token"};function aF(e=[]){const n=e.map(i=>`${rF[i.rule]??i.rule} (line ${i.line})`);return`BearDrive found ${n.length>1?n.slice(0,-1).join(", ")+" and "+n[n.length-1]:n[0]||"something credential-shaped"} in this file. The check covers the file at the moment you share it — a link always serves the file's latest content, so later changes are never checked. Share anyway?`}function sE(e){const{config:n,apiBase:r,route:i,hub:o,project:l}=e,u=Yp(),d=Mi(),{tree:m,flatFiles:p,dirIndex:y,loaded:v}=hI(r,!o||!!l),b=mI(r,o&&!!l&&!!n.reads?.enabled),x=o&&!!l&&!i.path&&!i.view,w=i.view==="dashboard"||x,_=PP(r,w);S.useEffect(()=>{w&&d.invalidateQueries({queryKey:["heat",r]})},[w,r,d]);const E=i.path,R=i.view?void 0:i.version,T=E||(i.view==="dashboard"||i.view==="history")&&i.viewTarget||"",O=!!E&&y.has(E),N=!!E&&v&&!O&&p.some(Z=>Z.path===E),z=!!E&&v&&!O&&!N,U=O&&!i.view,{data:$}=Pt({queryKey:["resolve",r,E],queryFn:()=>Bt(r+"resolve?path="+encodeURIComponent(E)),enabled:z,retry:!1,staleTime:6e4}),[F,ve]=S.useState(null);S.useEffect(()=>{!z||!$?.to||(ve({from:E,to:$.to}),Kt(fl($.to,l?.id),{replace:!0}))},[z,$,E,l?.id]);const[ye,me]=S.useState(()=>new Set),de=S.useRef(!0);S.useEffect(()=>{if(!m||!de.current)return;de.current=!1;const Z=(m.children||[]).filter(J=>J.dir);Z.length===1&&me(J=>new Set(J).add(Z[0].path))},[m]),S.useEffect(()=>{!T||!v||me(Z=>{const J=new Set(Z);for(const fe of kI(T))J.add(fe);return y.has(T)&&J.add(T),J})},[T,v,y]);const le=S.useCallback(Z=>{me(J=>{const fe=new Set(J);return fe.has(Z)?fe.delete(Z):fe.add(Z),fe})},[]),te=S.useRef(null),ge=S.useRef(new Map),L=S.useRef({key:"",want:0,attempts:0});S.useEffect(()=>{L.current={key:u,want:z3()==="POP"?ge.current.get(u)??0:0,attempts:0}},[u]);const K=S.useCallback(()=>{const Z=te.current,J=L.current;!Z||J.key!==u||J.attempts>=3||(J.attempts++,Z.scrollTo({top:J.want,behavior:"instant"}))},[u]),re=S.useCallback(()=>{te.current&&ge.current.set(u,te.current.scrollTop)},[u]),W=S.useCallback((Z,J)=>{Kt(fl(Z,l?.id,J)),mr()},[l?.id]),ne=S.useCallback(Z=>Kt(Pn("history",l?.id,Z)),[l?.id]),[D,M]=S.useState(""),[B,X]=S.useState(null),[Y,ce]=S.useState(!1),[ae,be]=S.useState(!1);S.useEffect(()=>HD(()=>be(!0)),[]);const xe=S.useRef(null),Oe=e.panel??null,Ie=!Oe&&o&&!!l&&N&&Si(l.perm,"write"),{data:Ve}=j_(l?.id,o&&!!l),it=S.useCallback(()=>{d.invalidateQueries({queryKey:["shares",l?.id]})},[d,l?.id]),Qe=N?(Ve||[]).filter(Z=>Z.path===E):[],fn=!Oe&&o&&!!l,hn=!Oe&&N,Qt=!Oe&&(N||o&&!!l&&O),br=R?r+"blob?sha="+R+"&name="+encodeURIComponent(E)+"&download=1":r+"download?path="+encodeURIComponent(E),jt=S.useCallback(async()=>{const Z=J=>fetch(r+"shares",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(J?{path:E,confirm:!0}:{path:E})});try{let J=await Z(!1);if(J.status===409){const{findings:_e}=await J.json();if(!await wi("This file may contain credentials",aF(_e),"Share anyway",!0))return;J=await Z(!0)}if(!J.ok)throw new Error(await J.text());const fe=await J.json();zw("share_created");const we=await qs(fe.url);X({url:fe.url,copied:we}),it()}catch(J){Ke("Share failed: "+J.message,!0)}},[r,E,it]),[rr,xr]=S.useState(""),Tt=o&&!!l&&Si(l?.perm,"write"),Vn=S.useCallback(async(Z,J,fe)=>{if(await wi("Restore this version of "+Z+"?","It syncs to every device as a new change. "+(fe?"The file comes back on every device. Removing it again isn't available from History yet.":"You can restore any other version afterwards."),"Restore")){xr(Z+J);try{await _i(r+"restore",{path:Z,sha:J}),d.invalidateQueries({queryKey:["history",r]}),d.invalidateQueries({queryKey:["tree",r]}),d.invalidateQueries({queryKey:["render",r,Z]}),d.invalidateQueries({queryKey:["text"]}),Ke("Restored "+Z+" — it syncs to every device like any other change.")}catch(we){Ke("Restore failed: "+we.message,!0)}finally{xr("")}}},[r,d]),[Dt,kr]=S.useState(""),ar=S.useCallback(async Z=>{if(await wi("Remove "+Z+"?","It disappears from every synced device. History keeps it — you can restore it from the DELETED row afterwards.","Remove file",!0)){kr(Z);try{await _i(r+"remove",{path:Z}),d.invalidateQueries({queryKey:["history",r]}),d.invalidateQueries({queryKey:["tree",r]}),d.invalidateQueries({queryKey:["render",r,Z]}),d.invalidateQueries({queryKey:["text"]}),Ke("Removed "+Z+" — it syncs to every device like any other change.")}catch(J){Ke("Remove failed: "+J.message,!0)}finally{kr("")}}},[r,d]),ir=S.useCallback(()=>{if(!E)return ne("");ne(O?E+"/":E)},[E,O,ne]);S.useEffect(()=>{const Z=J=>{(J.metaKey||J.ctrlKey)&&J.key.toLowerCase()==="k"&&(J.preventDefault(),be(fe=>!fe))};return window.addEventListener("keydown",Z),()=>window.removeEventListener("keydown",Z)},[]);const wr=S.useCallback(()=>{const Z=[],J=(fe,we,_e,Xe)=>Z.push({icon:fe,label:we,kind:_e,run:Xe});if(o&&l){const fe=l.id,we=_e=>()=>{e.onClosePanel?.(),Kt(_e)};J("folder","Go to project root","action",we("/"+fe)),J("dashboard","Dashboard","action",we(Pn("dashboard",fe))),J("terminal","Installation","action",we(Pn("install",fe))),J("gear","Settings","action",we(Pn("settings",fe)))}if(o&&l&&E&&(N&&J("share","Share: "+E,"action",jt),J("hist","History: "+E,"action",ir),N&&J("download","Download: "+E,"action",()=>xe.current?.click())),o&&l&&J("hist","History: whole project","action",()=>ne("")),o)for(const fe of e.projects||[])(!l||fe.id!==l.id)&&J("folder","Switch to project: "+fe.name,"project",()=>Kt("/"+fe.id));n.auth?.enabled&&J("power","Sign out","action",()=>window.location.href="/auth/logout");for(const fe of y.keys())J("folder",fe,"folder",()=>W(fe));for(const fe of p)J("doc",fe.path,"file",()=>W(fe.path));return Z},[o,l,E,N,n.auth?.enabled,y,p,e.projects,e.onClosePanel,jt,ir,ne,W]);S.useEffect(()=>{if(!Y)return;const Z=()=>ce(!1);return document.addEventListener("click",Z),()=>document.removeEventListener("click",Z)},[Y]);const sr=S.useCallback(Z=>y.has(Z),[y]);let mn="app",A,P;Oe?P=Oe.body:i.view==="dashboard"?P=f.jsx(gw,{flatFiles:p,heatMap:b,devices:_,scope:i.viewTarget||"",loading:!v,installHref:l?Pn("install",l.id):void 0,onOpenFile:W,onOpenFolder:W,onOpenHistory:ne,isFolder:sr}):i.view==="history"?P=f.jsx(JP,{apiBase:r,target:i.viewTarget||"",isFolder:sr,onOpen:W,onMeta:M,onRendered:K,restore:Tt?{onRestore:Vn,busy:rr}:void 0,remove:Tt?{onRemove:ar,busy:Dt}:void 0,filters:i.filters,onFilters:Z=>Kt(Pn("history",l?.id,i.viewTarget||"",Z))}):E?v?z?P=f.jsxs("div",{className:"notfound",children:[f.jsx("h1",{children:"Couldn't find that"}),f.jsxs("p",{children:[f.jsx("code",{children:E})," isn't in this project right now."]}),f.jsx("p",{className:"nf-sub",children:"If it was just created, it may still be uploading or syncing from a teammate's device — this page checks again automatically every few seconds, so refresh or come back in a moment."}),f.jsx("button",{className:"pbtn",onClick:()=>d.invalidateQueries({queryKey:["tree",r]}),children:"Check again"})]}):O?P=f.jsx(ZI,{node:y.get(E),heatMap:b,hub:o&&!!l,apiBase:r,onOpen:W,onFullHistory:ne,onRendered:K}):(mn=OC.test(E)||AC.test(E)?"wide":"read",A="markdown",P=f.jsxs(f.Fragment,{children:[R&&f.jsx(nF,{apiBase:r,path:E,version:R,onViewCurrent:()=>W(E)}),f.jsx(QI,{apiBase:r,path:E,version:R,heatMap:b,flatFiles:p,onOpenFile:W,onMeta:M,onRendered:K})]})):P=f.jsx("div",{className:"empty",children:"Loading…"}):x?P=f.jsxs(f.Fragment,{children:[f.jsx(HC,{project:l,existing:i.connect==="existing"}),f.jsx("div",{className:"home-insights",children:f.jsx(gw,{flatFiles:p,heatMap:b,devices:_,loading:!v,onOpenFile:W,onOpenFolder:W,onOpenHistory:ne,isFolder:sr})})]}):P=f.jsx("div",{className:"empty",children:"Select a file to read it."}),F&&F.to===E&&(P=f.jsxs(f.Fragment,{children:[f.jsxs("div",{className:"vbanner",role:"status",children:[f.jsx("span",{className:"vb-icon",children:f.jsx(ut,{name:"link"})}),f.jsxs("div",{className:"vb-text",children:[f.jsxs("b",{children:["Moved from ",F.from]}),f.jsx("span",{children:"The URL has been updated."})]})]}),P]}));const V=Oe?Oe.crumb:E?f.jsx(LI,{path:E,onOpenFolder:W}):i.view==="dashboard"?"Dashboard — "+(i.viewTarget||l?.name||""):i.view==="history"?"History — "+tF(i.viewTarget||"",sr):x?l.name:null,ue=f.jsx(dl,{crumb:V,meta:D,actions:f.jsxs(f.Fragment,{children:[Ie&&f.jsx(vt,{id:"share-btn",variant:"toolbar",className:"icon-only",title:"Share","aria-label":"Share",onClick:jt,children:f.jsx(ut,{name:"share"})}),fn&&!E&&!i.view&&f.jsxs(vt,{id:"history-btn",variant:"toolbar",onClick:ir,children:[f.jsx(ut,{name:"hist"})," ",f.jsx("span",{className:"lbl",children:"History"})]}),hn&&f.jsx("a",{id:"download",hidden:!0,download:!0,href:br,ref:xe,children:"Download"}),Qt&&f.jsx(vt,{id:"more-btn",variant:"toolbar",className:"icon-only",title:"More actions","aria-label":"More actions",onClick:Z=>{Z.stopPropagation(),ce(!Y)},children:f.jsx(ut,{name:"dots"})}),Y&&f.jsxs("div",{id:"more-menu",role:"menu",children:[fn&&f.jsx("button",{className:"more-item",onClick:ir,children:"History"}),hn&&f.jsx("button",{className:"more-item",onClick:()=>xe.current?.click(),children:"Download"}),o&&!!l&&f.jsx("button",{className:"more-item",onClick:()=>{e.onClosePanel?.(),Kt(Pn("dashboard",l?.id,E))},children:"Dashboard"})]})]})});return f.jsxs(f.Fragment,{children:[f.jsx(ul,{vault:e.sidebar.vault,projectsNav:e.sidebar.projectsNav,orgBar:e.sidebar.orgBar,tree:f.jsx(zI,{root:m,expanded:ye,onToggle:le,currentPath:T,listingShowing:U,onOpen:W}),topbar:ue,contentRef:te,onContentScroll:re,children:f.jsxs(Su,{width:mn,className:A,children:[!Oe&&N&&f.jsx(oP,{shares:Qe,canRevoke:!!l&&Si(l.perm,"write"),onChanged:it}),P]})}),B&&f.jsx(sP,{url:B.url,copied:B.copied,onClose:()=>{X(null),it()}}),f.jsx(IP,{open:ae,onClose:()=>be(!1),candidates:wr})]})}function iF({config:e}){const n=Yp(),r=O_(),[i,o]=S.useState(null),[l,u]=S.useState(null);S.useEffect(()=>u(null),[n]);const d=S.useMemo(()=>{const ge=n.split("?")[0].match(/^\/join\/([0-9a-f]+)\/?$/);return ge?ge[1]:null},[n]),{data:m}=j3(!d),{data:p}=T3(!d),y=!!e.auth.admin,{data:v}=T_(y),b=S.useMemo(()=>D_(n,"hub"),[n]),[x,w]=S.useState(!1),_=e.upload.enabled,E=async(ge,L)=>{const K=L===BC;try{const re=await _i("/api/projects",{name:ge,template:K?"":L});w(!1),await r(),Kt("/"+re.project.id+(K?"?connect=existing":"")),Ke(`Created “${re.project.name}”.`)}catch(re){Ke("Could not create the project: "+re.message,!0)}},R=x?f.jsx(nI,{templates:e.templates??[],onCreate:E,onClose:()=>w(!1)}):null,T=S.useMemo(()=>m&&(m.find(ge=>ge.id===b.project)||i&&m.find(ge=>ge.org===i)||m.find(ge=>ge.id===E$())||m[0])||null,[m,b.project,i]);if(S.useEffect(()=>{document.title=T?T.name+" — BearDrive":e.brand||"BearDrive",T&&R$(T.id)},[T,e]),d)return f.jsx(sF,{token:d,onDone:async ge=>{o(ge),await r(),Kt("/",{replace:!0})}});const O=e.brand||"BearDrive",N=T&&p?.find(ge=>ge.id===T.org)||null,z=f.jsx(Xu,{name:O,onHome:()=>Kt("/"),search:!!T}),U=e.me?f.jsx(Z$,{me:e.me,org:N,orgActive:!!b.org,billing:e.billing,admin:y?{pending:v?.length||0,onClick:()=>{u({kind:"hub"}),mr()}}:void 0}):void 0;if(!m||!p)return f.jsx(ul,{vault:z,topbar:f.jsx(dl,{}),children:f.jsx(Su,{children:f.jsx("div",{className:"empty",children:"Loading…"})})});if(!T)return f.jsxs(ul,{vault:z,projectsNav:f.jsx(aw,{projects:m,onNew:()=>w(!0)}),orgBar:U,topbar:f.jsx(dl,{}),children:[f.jsx(Su,{children:f.jsx(tI,{onNew:()=>w(!0),canCreate:_})}),R]});const $=l?.kind==="hub"?{crumb:"Signup & access",body:f.jsx($$,{})}:null,F=b.org?p.find(ge=>ge.id===b.org):null,ye=b.org&&!F?{crumb:"Organization",body:f.jsxs("div",{className:"empty",children:[f.jsx("h3",{children:"Organization not found"}),f.jsx("p",{children:"This organization doesn't exist, or you're no longer a member."}),f.jsx("p",{children:f.jsxs("a",{...Bs("/"+T.id),children:["Back to ",T.name]})})]})}:F?{crumb:"Organization",body:f.jsx(z$,{org:F,projects:m,myEmail:e.me?.email||""})}:null,me=!!b.project&&!m.some(ge=>ge.id===b.project),de=me?{crumb:"Project",body:f.jsxs("div",{className:"empty",children:[f.jsx("h3",{children:"Project not found"}),f.jsx("p",{children:"This project doesn't exist, or you're no longer a member."}),f.jsx("p",{children:f.jsxs("a",{...Bs("/"+T.id),children:["Back to ",T.name]})})]})}:null,le=b.billing?{crumb:"Billing",body:e.billing?f.jsx(K$,{url:e.billing.url}):f.jsxs("div",{className:"empty",children:[f.jsx("h3",{children:"No billing on this hub"}),f.jsx("p",{children:"This BearDrive hub doesn't have a billing surface."})]})}:null,te=b.view==="settings"?{crumb:"Project settings",body:f.jsx(X$,{project:T,org:N,onDeleted:async()=>{await r(),Kt("/")}})}:b.view==="install"?{crumb:"Installation",body:f.jsx(HC,{project:T,existing:b.connect==="existing"})}:null;if(!me){if(!b.org&&!b.billing&&b.project!==T.id)return f.jsx(Qo,{to:"/"+T.id});if(b.legacyView&&b.view)return f.jsx(Qo,{to:Pn(b.view,T.id,b.viewTarget,b.filters)});if(b.queryTarget&&b.view)return f.jsx(Qo,{to:Pn(b.view,T.id,b.viewTarget,b.filters)});if(b.trailingSlash&&b.path)return f.jsx(Qo,{to:fl(b.path,T.id,b.version)})}return f.jsxs(f.Fragment,{children:[f.jsx(sE,{config:e,apiBase:"/api/p/"+T.id+"/",route:b,hub:!0,project:T,projects:m,sidebar:{vault:z,projectsNav:f.jsx(aw,{projects:m,currentId:T.id,onNew:()=>w(!0),menu:{active:l?null:b.view==="dashboard"&&!b.viewTarget?"dashboard":b.view==="install"?"install":b.view==="history"&&!b.viewTarget?"history":b.view==="settings"?"settings":null,onDashboard:()=>{u(null),Kt(Pn("dashboard",T.id)),mr()},onInstall:()=>{u(null),Kt(Pn("install",T.id)),mr()},onHistory:()=>{u(null),Kt(Pn("history",T.id)),mr()},onSettings:()=>{u(null),Kt(Pn("settings",T.id)),mr()}}}),orgBar:U},panel:$||ye||de||le||te,onClosePanel:()=>u(null)},T.id),R]})}function sF({token:e,onDone:n}){return S.useEffect(()=>{let r=!1;return _i("/api/invites/"+e).then(i=>{r||(Ke(`Welcome — you joined the “${i.org.name}” team. Opening its projects…`),n(i.org.id))}).catch(i=>{r||String(i.message).includes("signing in")||(Ke("Could not accept the invite: "+i.message,!0),n(null))}),()=>{r=!0}},[e]),f.jsx(ul,{vault:f.jsx(Xu,{name:"BearDrive"}),topbar:f.jsx(dl,{}),children:f.jsx(Su,{children:f.jsx("div",{className:"empty",children:"Joining…"})})})}function oF({config:e}){const n=Yp(),r=e.volume||"BearDrive";S.useEffect(()=>{document.title=e.brand||r},[e,r]);const i=S.useMemo(()=>D_(n,"volume"),[n]);return i.trailingSlash&&i.path?f.jsx(Qo,{to:fl(i.path)}):f.jsx(sE,{config:e,apiBase:"/api/",route:i,hub:!1,sidebar:{vault:f.jsx(Xu,{name:r,showSignout:e.auth.enabled,search:!0})}})}function lF(){const{data:e}=bj();return f.jsxs(PD,{delayDuration:150,children:[e?e.mode==="hub"?f.jsx(iF,{config:e}):f.jsx(oF,{config:e}):f.jsx(ul,{vault:f.jsx(Xu,{name:"…",showSignout:!1}),topbar:f.jsx(dl,{}),children:f.jsx("div",{className:"empty",children:"Loading…"})}),f.jsx(b3,{}),f.jsx(C3,{})]})}class cF extends S.Component{state={error:null};static getDerivedStateFromError(n){return{error:n}}componentDidCatch(n,r){console.error("BearDrive: unhandled render error",n,r.componentStack)}render(){return this.state.error?f.jsxs("div",{className:"mx-auto max-w-lg p-8 text-sm",children:[f.jsx("h1",{className:"mb-2 text-lg font-semibold",children:"This page didn’t load"}),f.jsx("p",{className:"mb-4 opacity-80",children:"Something went wrong rendering this view. The rest of BearDrive is fine."}),f.jsx("p",{className:"mb-4",children:f.jsx("a",{className:"underline",href:"/",children:"Go to the project list"})}),f.jsx("pre",{className:"overflow-x-auto rounded bg-black/5 p-3 text-xs dark:bg-white/10",children:String(this.state.error)})]}):this.props.children}}const uF=new nj({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1}}});O2.createRoot(document.getElementById("root")).render(f.jsx(S.StrictMode,{children:f.jsx(cF,{children:f.jsx(rj,{client:uF,children:f.jsx(lF,{})})})})); +`)continue;l+=y}}return u||((l!==""||o.length)&&m(),!i.length)||i[0].length<2?null:{rows:i,truncated:d}}function QI(e){const{apiBase:n,path:r,version:i,onMeta:o}=e,l=i?n+"blob?sha="+i+"&name="+encodeURIComponent(r):n+"file?path="+encodeURIComponent(r);return S.useEffect(()=>()=>o(""),[r,o]),w$.test(r)?f.jsx(WI,{...e}):OC.test(r)?f.jsx("iframe",{className:"htmlview",sandbox:"allow-scripts",src:l,title:r,onLoad:e.onRendered}):AC.test(r)?f.jsx("iframe",{className:"pdfview",src:l,title:r,onLoad:e.onRendered}):S$.test(r)?f.jsx(nP,{src:l,alt:r,version:i,onRendered:e.onRendered}):_$.test(r)?f.jsx(dw,{...e,fileURL:l,delim:/\.tsv$/i.test(r)?" ":","}):C$.test(r)?f.jsx(dw,{...e,fileURL:l}):f.jsx(XI,{...e,fileURL:l})}function XI(e){const{apiBase:n,path:r,version:i,fileURL:o,onRendered:l}=e,{data:u,error:d}=ZC(o,["text",o],!0,!!i);return S.useEffect(()=>{u&&l?.()},[u,l]),d?f.jsx(fd,{version:i,err:d}):u?u.kind==="text"?f.jsx("pre",{className:"plain",children:u.text},r):f.jsx(JI,{apiBase:n,path:r,version:i,fileURL:o,children:u.kind==="too-large"?`Too large to preview (${mg(u.size)}).`:"No preview for this file type."}):null}function JI(e){const{apiBase:n,path:r,version:i,fileURL:o}=e;return f.jsxs("div",{className:"filecard",children:[f.jsx("div",{className:"name",children:r.split("/").pop()}),f.jsx("p",{children:e.children}),f.jsx("a",{className:"btn",download:!0,href:i?o+"&download=1":n+"download?path="+encodeURIComponent(r),children:"Download"})]})}function WI(e){const{apiBase:n,path:r,version:i,heatMap:o,flatFiles:l,onOpenFile:u,onMeta:d,onRendered:m}=e,{data:p,error:y}=Pt({queryKey:["render",n,r,i||""],queryFn:()=>Bt(n+"render?path="+encodeURIComponent(r)+(i?"&sha="+i:"")),retry:i?!1:void 0}),v=S.useMemo(()=>p?tP(p.html,r,n):"",[p,r,n]),[b,x]=S.useState(null);return S.useEffect(()=>{if(x(null),!y2(v))return;let w=!1;return b2(v).then(_=>{w||x(_)}),()=>{w=!0}},[v]),S.useEffect(()=>{if(!p)return;const w=[];(p.user_name||p.user||p.author)&&w.push(dd(p)+(p.device?" on "+p.device:"")),p.time&&w.push(new Date(p.time).toLocaleString());const _=i?null:o&&o[p.path];_&&ka(_)&&w.push(Jo(_)+" / 30d"),d(w.join(" · ")),m?.()},[p,i,o,d,m]),y?f.jsx(fd,{version:i,err:y}):p?f.jsx("div",{dangerouslySetInnerHTML:{__html:b??v},onClick:w=>eP(w,r,l,u)}):null}function eP(e,n,r,i){const o=e.target.closest("a");if(!o||!e.currentTarget.contains(o))return;const l=o.getAttribute("href")||"",u=n.includes("/")?n.slice(0,n.lastIndexOf("/")):"";l.startsWith("wiki:")?(e.preventDefault(),aP(decodeURIComponent(l.slice(5)),r,i)):/^([a-z]+:|\/|#)/i.test(l)||(e.preventDefault(),i(MC(u,decodeURIComponent(l))))}function tP(e,n,r){const i=n.includes("/")?n.slice(0,n.lastIndexOf("/")):"",o=u=>r+"file?path="+encodeURIComponent(u),l=new DOMParser().parseFromString(e,"text/html");for(const u of l.querySelectorAll("img")){const d=u.getAttribute("src")||"";/^\s*data:image\/svg/i.test(d)?u.removeAttribute("src"):/^([a-z]+:|\/)/i.test(d)||u.setAttribute("src",o(MC(i,d)))}for(const u of l.querySelectorAll("a")){const d=u.getAttribute("href")||"";/^\s*data:/i.test(d)?u.removeAttribute("href"):/^https?:/i.test(d)&&(u.setAttribute("target","_blank"),u.setAttribute("rel","noopener"))}return l.body.innerHTML}function nP(e){const[n,r]=S.useState(!1);return n?f.jsx(fd,{version:e.version,err:new Error("could not be loaded")}):f.jsx("img",{src:e.src,alt:e.alt,onLoad:e.onRendered,onError:()=>r(!0)})}function fd({version:e,err:n}){return f.jsx("div",{className:"empty",children:e?"That version isn't available.":"Could not load file: "+n.message})}function dw(e){const{path:n,version:r,fileURL:i,delim:o,onRendered:l}=e,{data:u,error:d}=Pt({queryKey:["text",i],queryFn:async()=>{const p=await fetch(i);if(!p.ok)throw new Error(await p.text());return p.text()},retry:r?!1:void 0});S.useEffect(()=>{u!=null&&l?.()},[u,l]);const m=S.useMemo(()=>o&&u!=null?YI(u,o,YC):null,[u,o]);return d?f.jsx(fd,{version:r,err:d}):u==null?null:m?f.jsx(rP,{csv:m},n):f.jsx("pre",{className:"plain",children:u},n)}function rP({csv:e}){const[n,...r]=e.rows,i=e.rows.reduce((l,u)=>Math.max(l,u.length),0),o=Array.from({length:i},(l,u)=>u);return f.jsxs(f.Fragment,{children:[f.jsx("div",{className:"csvbox",children:f.jsxs("table",{className:"csvview",children:[f.jsx("thead",{children:f.jsx("tr",{children:o.map(l=>f.jsx("th",{children:n[l]??""},l))})}),f.jsx("tbody",{children:r.map((l,u)=>f.jsx("tr",{children:o.map(d=>f.jsx("td",{children:l[d]??""},d))},u))})]})}),e.truncated>0&&f.jsxs("p",{className:"csvnote",children:["showing ",e.rows.length.toLocaleString()," of"," ",(e.rows.length+e.truncated).toLocaleString()," rows — Download for the rest"]})]})}function aP(e,n,r){const i=e.toLowerCase(),o=n.find(l=>l.path.toLowerCase()===i||l.path.toLowerCase()===i+".md")||n.find(l=>{const u=l.name.toLowerCase();return u===i||u===i+".md"});o&&r(o.path)}const iP=[{value:"",label:"Never"},{value:"24h",label:"In 24 hours"},{value:"168h",label:"In 7 days"},{value:"720h",label:"In 30 days"}];function sP({url:e,copied:n,onClose:r}){const i=e.split("/s/")[1],[o,l]=S.useState(""),[u,d]=S.useState(),[m,p]=S.useState(!1),y=S.useRef(null);async function v(b){const x=o;l(b),p(!0);try{const w=await Wn("PATCH","/api/shares/"+i,{expires_in:b});d(w.expires)}catch(w){Ke(w.message,!0),l(x)}finally{p(!1)}}return f.jsx(Ju,{open:!0,onOpenChange:b=>!b&&r(),children:f.jsxs(Wu,{className:"modal",showCloseButton:!1,onOpenAutoFocus:b=>{b.preventDefault(),y.current?.focus()},children:[f.jsx(_l,{asChild:!0,children:f.jsx("h3",{children:"Public link"})}),f.jsxs("p",{children:[f.jsx("b",{children:"Anyone with this link can view this file"})," — no account needed. It always shows the latest version until it expires or you revoke it."]}),f.jsx("div",{className:"modal-url",children:e}),f.jsxs("div",{className:"modal-expiry",children:[f.jsx("label",{htmlFor:"share-expiry",children:"Expires"}),f.jsx("select",{id:"share-expiry",value:o,disabled:m,onChange:b=>v(b.target.value),children:iP.map(b=>f.jsx("option",{value:b.value,children:b.label},b.value))}),f.jsx("span",{className:"modal-expiry-note",children:zC(u)})]}),f.jsxs("div",{className:"modal-actions",children:[f.jsx(vt,{ref:y,variant:"primary",onClick:()=>qs(e).then(b=>Ke(b?"Copied.":"Select and copy the link above.")),children:n?"Copied ✓":"Copy link"}),f.jsx(vt,{variant:"subtle",onClick:()=>window.open(e,"_blank"),children:"Open"}),f.jsx(vt,{variant:"subtle",onClick:r,children:"Done"})]})]})})}function oP({shares:e,canRevoke:n,onChanged:r}){return e.length===0?null:f.jsxs("div",{className:"share-banner",role:"status",children:[f.jsxs("div",{className:"sb-head",children:[f.jsx(ut,{name:"share"}),f.jsx("b",{children:"Publicly shared"}),f.jsxs("span",{className:"sb-count",children:[e.length," active link",e.length>1?"s":""]})]}),f.jsxs("p",{className:"sb-note",children:[f.jsx("b",{children:"Anyone with this link can view this file"})," — no account needed. It always shows the latest version until you revoke it.",e.some(i=>i.opens!==void 0)&&f.jsxs(f.Fragment,{children:[" ",LC]})]}),e.map(i=>f.jsxs("div",{className:"sb-link",children:[f.jsx("span",{className:"sb-url mono",title:i.url,children:i.url}),f.jsx("span",{className:"sb-meta",children:kC(i,!1)}),f.jsxs("span",{className:"sb-actions",children:[f.jsx(vt,{variant:"subtle",onClick:()=>qs(i.url).then(o=>Ke(o?"Copied.":"Select and copy the link.")),children:"Copy link"}),f.jsx(vt,{variant:"subtle",onClick:()=>window.open(i.url,"_blank"),children:"Open"}),n&&f.jsx("button",{className:"ai-del","aria-label":`Revoke the share of ${i.path}`,onClick:()=>IC(i,r),children:"Revoke"})]})]},i.token))]})}var fw=1,lP=.9,cP=.8,uP=.17,sm=.1,om=.999,dP=.9999,fP=.99,hP=/[\\\/_+.#"@\[\(\{&]/,mP=/[\\\/_+.#"@\[\(\{&]/g,pP=/[\s-]/,QC=/[\s-]/g;function Wm(e,n,r,i,o,l,u){if(l===n.length)return o===e.length?fw:fP;var d=`${o},${l}`;if(u[d]!==void 0)return u[d];for(var m=i.charAt(l),p=r.indexOf(m,o),y=0,v,b,x,w;p>=0;)v=Wm(e,n,r,i,p+1,l+1,u),v>y&&(p===o?v*=fw:hP.test(e.charAt(p-1))?(v*=cP,x=e.slice(o,p-1).match(mP),x&&o>0&&(v*=Math.pow(om,x.length))):pP.test(e.charAt(p-1))?(v*=lP,w=e.slice(o,p-1).match(QC),w&&o>0&&(v*=Math.pow(om,w.length))):(v*=uP,o>0&&(v*=Math.pow(om,p-o))),e.charAt(p)!==n.charAt(l)&&(v*=dP)),(vv&&(v=b*sm)),v>y&&(y=v),p=r.indexOf(m,p+1);return u[d]=y,y}function hw(e){return e.toLowerCase().replace(QC," ")}function gP(e,n,r){return e=r&&r.length>0?`${e+" "+r.join(" ")}`:e,Wm(e,n,hw(e),hw(n),0,0,{})}var Zo='[cmdk-group=""]',lm='[cmdk-group-items=""]',vP='[cmdk-group-heading=""]',XC='[cmdk-item=""]',mw=`${XC}:not([aria-disabled="true"])`,ep="cmdk-item-select",As="data-value",yP=(e,n,r)=>gP(e,n,r),JC=S.createContext(void 0),jl=()=>S.useContext(JC),WC=S.createContext(void 0),gg=()=>S.useContext(WC),eE=S.createContext(void 0),tE=S.forwardRef((e,n)=>{let r=Ms(()=>{var M,B;return{search:"",value:(B=(M=e.value)!=null?M:e.defaultValue)!=null?B:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),i=Ms(()=>new Set),o=Ms(()=>new Map),l=Ms(()=>new Map),u=Ms(()=>new Set),d=nE(e),{label:m,children:p,value:y,onValueChange:v,filter:b,shouldFilter:x,loop:w,disablePointerSelection:_=!1,vimBindings:E=!0,...R}=e,T=dn(),O=dn(),N=dn(),z=S.useRef(null),U=OP();Ai(()=>{if(y!==void 0){let M=y.trim();r.current.value=M,$.emit()}},[y]),Ai(()=>{U(6,le)},[]);let $=S.useMemo(()=>({subscribe:M=>(u.current.add(M),()=>u.current.delete(M)),snapshot:()=>r.current,setState:(M,B,X)=>{var Y,ce,ae,be;if(!Object.is(r.current[M],B)){if(r.current[M]=B,M==="search")de(),ye(),U(1,me);else if(M==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let xe=document.getElementById(N);xe?xe.focus():(Y=document.getElementById(T))==null||Y.focus()}if(U(7,()=>{var xe;r.current.selectedItemId=(xe=te())==null?void 0:xe.id,$.emit()}),X||U(5,le),((ce=d.current)==null?void 0:ce.value)!==void 0){let xe=B??"";(be=(ae=d.current).onValueChange)==null||be.call(ae,xe);return}}$.emit()}},emit:()=>{u.current.forEach(M=>M())}}),[]),F=S.useMemo(()=>({value:(M,B,X)=>{var Y;B!==((Y=l.current.get(M))==null?void 0:Y.value)&&(l.current.set(M,{value:B,keywords:X}),r.current.filtered.items.set(M,ve(B,X)),U(2,()=>{ye(),$.emit()}))},item:(M,B)=>(i.current.add(M),B&&(o.current.has(B)?o.current.get(B).add(M):o.current.set(B,new Set([M]))),U(3,()=>{de(),ye(),r.current.value||me(),$.emit()}),()=>{l.current.delete(M),i.current.delete(M),r.current.filtered.items.delete(M);let X=te();U(4,()=>{de(),X?.getAttribute("id")===M&&me(),$.emit()})}),group:M=>(o.current.has(M)||o.current.set(M,new Set),()=>{l.current.delete(M),o.current.delete(M)}),filter:()=>d.current.shouldFilter,label:m||e["aria-label"],getDisablePointerSelection:()=>d.current.disablePointerSelection,listId:T,inputId:N,labelId:O,listInnerRef:z}),[]);function ve(M,B){var X,Y;let ce=(Y=(X=d.current)==null?void 0:X.filter)!=null?Y:yP;return M?ce(M,r.current.search,B):0}function ye(){if(!r.current.search||d.current.shouldFilter===!1)return;let M=r.current.filtered.items,B=[];r.current.filtered.groups.forEach(Y=>{let ce=o.current.get(Y),ae=0;ce.forEach(be=>{let xe=M.get(be);ae=Math.max(xe,ae)}),B.push([Y,ae])});let X=z.current;ge().sort((Y,ce)=>{var ae,be;let xe=Y.getAttribute("id"),Oe=ce.getAttribute("id");return((ae=M.get(Oe))!=null?ae:0)-((be=M.get(xe))!=null?be:0)}).forEach(Y=>{let ce=Y.closest(lm);ce?ce.appendChild(Y.parentElement===ce?Y:Y.closest(`${lm} > *`)):X.appendChild(Y.parentElement===X?Y:Y.closest(`${lm} > *`))}),B.sort((Y,ce)=>ce[1]-Y[1]).forEach(Y=>{var ce;let ae=(ce=z.current)==null?void 0:ce.querySelector(`${Zo}[${As}="${encodeURIComponent(Y[0])}"]`);ae?.parentElement.appendChild(ae)})}function me(){let M=ge().find(X=>X.getAttribute("aria-disabled")!=="true"),B=M?.getAttribute(As);$.setState("value",B||void 0)}function de(){var M,B,X,Y;if(!r.current.search||d.current.shouldFilter===!1){r.current.filtered.count=i.current.size;return}r.current.filtered.groups=new Set;let ce=0;for(let ae of i.current){let be=(B=(M=l.current.get(ae))==null?void 0:M.value)!=null?B:"",xe=(Y=(X=l.current.get(ae))==null?void 0:X.keywords)!=null?Y:[],Oe=ve(be,xe);r.current.filtered.items.set(ae,Oe),Oe>0&&ce++}for(let[ae,be]of o.current)for(let xe of be)if(r.current.filtered.items.get(xe)>0){r.current.filtered.groups.add(ae);break}r.current.filtered.count=ce}function le(){var M,B,X;let Y=te();Y&&(((M=Y.parentElement)==null?void 0:M.firstChild)===Y&&((X=(B=Y.closest(Zo))==null?void 0:B.querySelector(vP))==null||X.scrollIntoView({block:"nearest"})),Y.scrollIntoView({block:"nearest"}))}function te(){var M;return(M=z.current)==null?void 0:M.querySelector(`${XC}[aria-selected="true"]`)}function ge(){var M;return Array.from(((M=z.current)==null?void 0:M.querySelectorAll(mw))||[])}function L(M){let B=ge()[M];B&&$.setState("value",B.getAttribute(As))}function K(M){var B;let X=te(),Y=ge(),ce=Y.findIndex(be=>be===X),ae=Y[ce+M];(B=d.current)!=null&&B.loop&&(ae=ce+M<0?Y[Y.length-1]:ce+M===Y.length?Y[0]:Y[ce+M]),ae&&$.setState("value",ae.getAttribute(As))}function re(M){let B=te(),X=B?.closest(Zo),Y;for(;X&&!Y;)X=M>0?jP(X,Zo):TP(X,Zo),Y=X?.querySelector(mw);Y?$.setState("value",Y.getAttribute(As)):K(M)}let W=()=>L(ge().length-1),ne=M=>{M.preventDefault(),M.metaKey?W():M.altKey?re(1):K(1)},D=M=>{M.preventDefault(),M.metaKey?L(0):M.altKey?re(-1):K(-1)};return S.createElement($e.div,{ref:n,tabIndex:-1,...R,"cmdk-root":"",onKeyDown:M=>{var B;(B=R.onKeyDown)==null||B.call(R,M);let X=M.nativeEvent.isComposing||M.keyCode===229;if(!(M.defaultPrevented||X))switch(M.key){case"n":case"j":{E&&M.ctrlKey&&ne(M);break}case"ArrowDown":{ne(M);break}case"p":case"k":{E&&M.ctrlKey&&D(M);break}case"ArrowUp":{D(M);break}case"Home":{M.preventDefault(),L(0);break}case"End":{M.preventDefault(),W();break}case"Enter":{M.preventDefault();let Y=te();if(Y){let ce=new Event(ep);Y.dispatchEvent(ce)}}}}},S.createElement("label",{"cmdk-label":"",htmlFor:F.inputId,id:F.labelId,style:MP},m),md(e,M=>S.createElement(WC.Provider,{value:$},S.createElement(JC.Provider,{value:F},M))))}),bP=S.forwardRef((e,n)=>{var r,i;let o=dn(),l=S.useRef(null),u=S.useContext(eE),d=jl(),m=nE(e),p=(i=(r=m.current)==null?void 0:r.forceMount)!=null?i:u?.forceMount;Ai(()=>{if(!p)return d.item(o,u?.id)},[p]);let y=rE(o,l,[e.value,e.children,l],e.keywords),v=gg(),b=qa(U=>U.value&&U.value===y.current),x=qa(U=>p||d.filter()===!1?!0:U.search?U.filtered.items.get(o)>0:!0);S.useEffect(()=>{let U=l.current;if(!(!U||e.disabled))return U.addEventListener(ep,w),()=>U.removeEventListener(ep,w)},[x,e.onSelect,e.disabled]);function w(){var U,$;_(),($=(U=m.current).onSelect)==null||$.call(U,y.current)}function _(){v.setState("value",y.current,!0)}if(!x)return null;let{disabled:E,value:R,onSelect:T,forceMount:O,keywords:N,...z}=e;return S.createElement($e.div,{ref:Fs(l,n),...z,id:o,"cmdk-item":"",role:"option","aria-disabled":!!E,"aria-selected":!!b,"data-disabled":!!E,"data-selected":!!b,onPointerMove:E||d.getDisablePointerSelection()?void 0:_,onClick:E?void 0:w},e.children)}),xP=S.forwardRef((e,n)=>{let{heading:r,children:i,forceMount:o,...l}=e,u=dn(),d=S.useRef(null),m=S.useRef(null),p=dn(),y=jl(),v=qa(x=>o||y.filter()===!1?!0:x.search?x.filtered.groups.has(u):!0);Ai(()=>y.group(u),[]),rE(u,d,[e.value,e.heading,m]);let b=S.useMemo(()=>({id:u,forceMount:o}),[o]);return S.createElement($e.div,{ref:Fs(d,n),...l,"cmdk-group":"",role:"presentation",hidden:v?void 0:!0},r&&S.createElement("div",{ref:m,"cmdk-group-heading":"","aria-hidden":!0,id:p},r),md(e,x=>S.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":r?p:void 0},S.createElement(eE.Provider,{value:b},x))))}),wP=S.forwardRef((e,n)=>{let{alwaysRender:r,...i}=e,o=S.useRef(null),l=qa(u=>!u.search);return!r&&!l?null:S.createElement($e.div,{ref:Fs(o,n),...i,"cmdk-separator":"",role:"separator"})}),SP=S.forwardRef((e,n)=>{let{onValueChange:r,...i}=e,o=e.value!=null,l=gg(),u=qa(p=>p.search),d=qa(p=>p.selectedItemId),m=jl();return S.useEffect(()=>{e.value!=null&&l.setState("search",e.value)},[e.value]),S.createElement($e.input,{ref:n,...i,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":m.listId,"aria-labelledby":m.labelId,"aria-activedescendant":d,id:m.inputId,type:"text",value:o?e.value:u,onChange:p=>{o||l.setState("search",p.target.value),r?.(p.target.value)}})}),_P=S.forwardRef((e,n)=>{let{children:r,label:i="Suggestions",...o}=e,l=S.useRef(null),u=S.useRef(null),d=qa(p=>p.selectedItemId),m=jl();return S.useEffect(()=>{if(u.current&&l.current){let p=u.current,y=l.current,v,b=new ResizeObserver(()=>{v=requestAnimationFrame(()=>{let x=p.offsetHeight;y.style.setProperty("--cmdk-list-height",x.toFixed(1)+"px")})});return b.observe(p),()=>{cancelAnimationFrame(v),b.unobserve(p)}}},[]),S.createElement($e.div,{ref:Fs(l,n),...o,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":d,"aria-label":i,id:m.listId},md(e,p=>S.createElement("div",{ref:Fs(u,m.listInnerRef),"cmdk-list-sizer":""},p)))}),CP=S.forwardRef((e,n)=>{let{open:r,onOpenChange:i,overlayClassName:o,contentClassName:l,container:u,...d}=e;return S.createElement(hp,{open:r,onOpenChange:i},S.createElement(pp,{container:u},S.createElement(gp,{"cmdk-overlay":"",className:o}),S.createElement(vp,{"aria-label":e.label,"cmdk-dialog":"",className:l},S.createElement(tE,{ref:n,...d}))))}),EP=S.forwardRef((e,n)=>qa(r=>r.filtered.count===0)?S.createElement($e.div,{ref:n,...e,"cmdk-empty":"",role:"presentation"}):null),RP=S.forwardRef((e,n)=>{let{progress:r,children:i,label:o="Loading...",...l}=e;return S.createElement($e.div,{ref:n,...l,"cmdk-loading":"",role:"progressbar","aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":o},md(e,u=>S.createElement("div",{"aria-hidden":!0},u)))}),hd=Object.assign(tE,{List:_P,Item:bP,Input:SP,Group:xP,Separator:wP,Dialog:CP,Empty:EP,Loading:RP});function jP(e,n){let r=e.nextElementSibling;for(;r;){if(r.matches(n))return r;r=r.nextElementSibling}}function TP(e,n){let r=e.previousElementSibling;for(;r;){if(r.matches(n))return r;r=r.previousElementSibling}}function nE(e){let n=S.useRef(e);return Ai(()=>{n.current=e}),n}var Ai=typeof window>"u"?S.useEffect:S.useLayoutEffect;function Ms(e){let n=S.useRef();return n.current===void 0&&(n.current=e()),n}function qa(e){let n=gg(),r=()=>e(n.snapshot());return S.useSyncExternalStore(n.subscribe,r,r)}function rE(e,n,r,i=[]){let o=S.useRef(),l=jl();return Ai(()=>{var u;let d=(()=>{var p;for(let y of r){if(typeof y=="string")return y.trim();if(typeof y=="object"&&"current"in y)return y.current?(p=y.current.textContent)==null?void 0:p.trim():o.current}})(),m=i.map(p=>p.trim());l.value(e,d,m),(u=n.current)==null||u.setAttribute(As,d),o.current=d}),o}var OP=()=>{let[e,n]=S.useState(),r=Ms(()=>new Map);return Ai(()=>{r.current.forEach(i=>i()),r.current=new Map},[e]),(i,o)=>{r.current.set(i,o),n({})}};function AP(e){let n=e.type;return typeof n=="function"?n(e.props):"render"in n?n.render(e.props):e}function md({asChild:e,children:n},r){return e&&S.isValidElement(n)?S.cloneElement(AP(n),{ref:n.ref},r(n.props.children)):r(n)}var MP={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};function NP({className:e,...n}){return f.jsx(hd,{"data-slot":"command",className:Je("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...n})}function DP({className:e,...n}){return f.jsxs("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[f.jsx(b_,{className:"size-4 shrink-0 opacity-50"}),f.jsx(hd.Input,{"data-slot":"command-input",className:Je("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...n})]})}function zP({className:e,...n}){return f.jsx(hd.List,{"data-slot":"command-list",className:Je("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",e),...n})}function kP({className:e,...n}){return f.jsx(hd.Item,{"data-slot":"command-item",className:Je("relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",e),...n})}function pw(e,n){if(!e)return{score:0,hits:[]};const r=e.toLowerCase(),i=n.toLowerCase();let o=0,l=0,u=0;const d=[];for(let m=0;m3&&i.endsWith("ies")?o=i.slice(0,-3)+"y":i.length>3&&i.endsWith("es")?o=i.slice(0,-2):i.length>2&&i.endsWith("s")&&(o=i.slice(0,-1)),o?pw(o,n):null}function $P({text:e,hits:n}){const r=[];let i=0;return n.forEach((o,l)=>{o>i&&r.push(e.slice(i,o)),r.push(f.jsx("b",{children:e[o]},l)),i=o+1}),r.push(e.slice(i)),f.jsx("span",{className:"plabel",children:r})}function IP({open:e,onClose:n,candidates:r}){const[i,o]=S.useState(""),l=S.useMemo(()=>{if(!e)return[];const d=[];for(const m of r()){const p=LP(i,m.label);p&&d.push({...m,score:p.score,hits:p.hits})}return d.sort((m,p)=>p.score-m.score),d.slice(0,40)},[e,i,r]);S.useEffect(()=>{e&&o("")},[e]);const u=d=>{n(),d.run()};return f.jsx(Ju,{open:e,onOpenChange:d=>!d&&n(),children:f.jsxs(Wu,{id:"palette",className:"palette",showCloseButton:!1,"aria-describedby":void 0,children:[f.jsx(_l,{className:"sr-only",children:"Search and quick actions"}),f.jsxs(NP,{shouldFilter:!1,loop:!0,children:[f.jsxs("div",{id:"palette-inputwrap",children:[f.jsx(ut,{name:"search"}),f.jsx(DP,{placeholder:"Search file names, projects, actions…",autoComplete:"off",spellCheck:!1,value:i,onValueChange:o})]}),f.jsx(zP,{children:l.length===0?f.jsx("div",{className:"pempty",children:"No matches — search covers file names, projects, and actions"}):l.map(d=>f.jsxs(kP,{value:d.kind+":"+d.label,onSelect:()=>u(d),children:[f.jsx("span",{className:"picon",children:f.jsx(ut,{name:d.icon})}),f.jsx($P,{text:d.label,hits:d.hits}),f.jsx("span",{className:"pkind",children:d.kind})]},d.kind+":"+d.label))}),f.jsx("footer",{id:"palette-hint",children:"↑↓ navigate · ⏎ select · esc close"})]})]})})}const Wo=3,Ns=30;function PP(e,n){return Pt({queryKey:["heatDevices",e],queryFn:()=>Bt(e+"heat?by=device&days=30"),enabled:n,retry:!1,staleTime:6e4}).data?.devices??null}const FP=["all","human","agent","share"],VP={all:"All reads",human:"Human reads",agent:"Agent reads",share:"Shared reads"},UP={agent:{agent:1,human:0,share:0},human:{agent:0,human:1,share:0},share:{agent:0,human:0,share:1}};function gw(e){const[n,r]=S.useState("all"),{flatFiles:i,heatMap:o,devices:l,scope:u}=e,d=w=>!u||w===u||w.startsWith(u+"/"),m=u?i.filter(w=>d(w.path)):i;if(!e.loading&&!m.length)return f.jsxs("div",{className:"insights",children:[f.jsxs("h1",{className:"in-title",children:["Knowledge insights",u?f.jsxs("span",{className:"in-scope",children:[" · ",u]}):null]}),f.jsxs("div",{className:"dl-empty in-blank",children:[f.jsx("p",{children:u?`Nothing in ${u} to chart yet.`:"Nothing to chart yet."}),f.jsx("p",{children:u?`No files under ${u} are syncing here yet.`:"This project has no files. Once a device syncs files here, the map, the reads × freshness plot and the hot path fill in on their own."}),e.installHref&&f.jsx("a",{className:"pbtn",...Bs(e.installHref),children:"Set up a device →"})]})]});const p=l&&u?l.map(w=>{const _=Object.create(null);for(const[E,R]of Object.entries(w.folders||{}))d(E)&&(_[E]=R);return{...w,folders:_}}).filter(w=>Object.keys(w.folders).length>0):l,y=Date.now(),v=m.map(w=>{const _=o&&o[w.path]||{},E=w.time?Math.max(0,(y-new Date(w.time).getTime())/864e5):0,R=n==="all"?ka(_):_[n]||0;return{path:w.path,reads:R,agent:_.agent||0,human:_.human||0,share:_.share||0,total:ka(_),days:E,danger:R>=Wo&&E>=Ns}}),b=iI(o,new Set(i.map(w=>w.path))).filter(d).map(w=>{const _=o[w];return{path:w,reads:n==="all"?ka(_):_[n]||0,agent:_.agent||0,human:_.human||0,share:_.share||0,total:ka(_),days:0,danger:!1,orphan:!0}}).filter(w=>w.reads>0),x=b.length>0?f.jsxs("p",{className:"in-legend in-orphan-note",children:[tp(b.length,"file")," with reads ",b.length===1?"is":"are"," no longer in the project — see Hot path."]}):null;return f.jsxs("div",{className:"insights",children:[f.jsxs("h1",{className:"in-title",children:["Knowledge insights",u?f.jsxs("span",{className:"in-scope",children:[" · ",u]}):null]}),f.jsx("p",{className:"dl-sub",children:u?`Reads over the last 30 days × freshness, for ${u} and everything in it.`:"Reads over the last 30 days × how long since each file changed. Hot but stale knowledge — read a lot, maintained by nobody — is the danger zone."}),f.jsx("div",{className:"in-lens",children:FP.map(w=>f.jsx("button",{className:"in-lens-btn"+(w===n?" active":""),onClick:()=>r(w),children:VP[w]},w))}),f.jsx("h3",{className:"dl-h3",children:"Map — cell size = reads, color = freshness (scale below)"}),f.jsx(BP,{pts:v,onOpenFile:e.onOpenFile,onOpenFolder:e.onOpenFolder,isFolder:e.isFolder}),x,f.jsxs("h3",{className:"dl-h3 in-h3-row",children:["Reads × freshness",f.jsx("span",{className:"in-cap",children:"dot size = agent share of reads"})]}),f.jsx(GP,{pts:v,onOpenFile:e.onOpenFile}),x,f.jsx("h3",{className:"dl-h3",children:"Hot path — top files by reads"}),f.jsx(ZP,{pts:[...v,...b],lens:n,onOpenFile:e.onOpenFile,onOpenHistory:e.onOpenHistory}),p&&p.length>0&&f.jsxs(f.Fragment,{children:[f.jsx("h3",{className:"dl-h3",children:"Agent coverage — which agents read which areas"}),f.jsx(KP,{devices:p})]})]})}const HP="rgb(150,156,164)";function aE(e){const n=[[76,195,138],[232,196,84],[224,93,93]],r=Math.min(1,Math.max(0,e/300))*(n.length-1),i=Math.min(n.length-2,Math.floor(r)),o=r-i,l=n[i].map((u,d)=>Math.round(u+(n[i+1][d]-u)*o));return`rgb(${l[0]},${l[1]},${l[2]})`}function vw(e,n,r,i,o){const l=e.reduce((p,y)=>p+y.value,0);if(!l||i<=0||o<=0)return[];const u=e.slice().sort((p,y)=>y.value-p.value).map(p=>({it:p,a:p.value/l*i*o})),d=(p,y)=>{const b=p.reduce((w,_)=>w+_.a,0)/y;let x=0;for(const w of p){const _=w.a/b;x=Math.max(x,_/b,b/_)}return x},m=[];for(;u.length;){const p=i>=o,y=p?o:i,v=[u.shift()];for(;u.length&&d(v.concat(u[0]),y)<=d(v,y);)v.push(u.shift());const b=v.reduce((w,_)=>w+_.a,0)/y;let x=0;for(const w of v){const _=w.a/b;p?m.push({item:w.it,x:n,y:r+x,w:b,h:_}):m.push({item:w.it,x:n+x,y:r,w:_,h:b}),x+=_}p?(n+=b,i-=b):(r+=b,o-=b)}return m}const cm=15;function yw(e,n,r){const i=Math.floor((r-8)/6),o=`${e} · ${n}`;return o.length<=i?{label:o,fit:i}:{label:e.length>i?e.slice(0,Math.max(1,i-1))+"…":e,fit:i}}const tp=(e,n)=>`${e} ${n}${e===1?"":"s"}`;function BP({pts:e,onOpenFile:n,onOpenFolder:r,isFolder:i}){const u=oI(e.map(y=>y.days)),d=!!u&&lI(u.min,u.max),m=new Map;for(const y of e){const v=y.path.includes("/")?y.path.split("/")[0]:"/";let b=m.get(v);b||m.set(v,b={name:v,files:[],value:0,reads:0}),b.files.push(y),b.value+=y.reads+1,b.reads+=y.reads}const p=[];for(const y of vw([...m.values()],0,0,720,480)){const v=y.item,b=v.name==="/"?"":v.name,x=v.name==="/"?"(root)":v.name;if(p.push(f.jsx("rect",{x:y.x+1,y:y.y+1,width:Math.max(0,y.w-2),height:Math.max(0,y.h-2),rx:3,className:"in-tm-group","data-dir":b,children:f.jsx("title",{children:`${v.name==="/"?"(root)":v.name+"/"} — ${tp(v.reads,"read")}/30d · ${tp(v.files.length,"file")}`})},"g"+v.name)),y.w>46&&y.h>cm+10){const{label:_}=yw(x,v.reads,y.w);p.push(f.jsx("text",{x:y.x+5,y:y.y+12,className:"in-tm-glabel","data-dir":b,children:_},"gl"+v.name))}const w=vw(v.files.map(_=>({..._,name:_.path.split("/").pop(),value:_.reads+1})),y.x+2,y.y+cm,Math.max(0,y.w-4),Math.max(0,y.h-cm-2));for(const _ of w)if(p.push(f.jsx("rect",{x:_.x+.6,y:_.y+.6,width:Math.max(.4,_.w-1.2),height:Math.max(.4,_.h-1.2),rx:1.5,fill:d?HP:aE(_.item.days),className:"in-tm-cell","data-path":_.item.path,children:f.jsx("title",{children:`${_.item.path} — ${_.item.reads} read${_.item.reads===1?"":"s"}/30d · changed ${Math.round(_.item.days)}d ago`})},_.item.path)),_.w>54&&_.h>16){const{label:E,fit:R}=yw((_.item.danger?"⚠ ":"")+_.item.name,_.item.reads,_.w);R>=5&&p.push(f.jsx("text",{x:_.x+4.5,y:_.y+12.5,className:"in-tm-label","data-path":_.item.path,children:E},"l"+_.item.path))}}return f.jsxs(f.Fragment,{children:[f.jsx("svg",{viewBox:"0 0 720 480",className:"in-chart in-treemap",onClick:y=>{const v=y.target.closest("[data-path], [data-dir]");if(!v)return;const b=v.getAttribute("data-path");if(b)return n(b);const x=v.getAttribute("data-dir");x&&i(x)&&r(x)},children:p}),f.jsx(qP,{range:u,flat:d})]})}function qP({range:e,flat:n}){if(!e)return null;const r=cI(e.min,e.max);return f.jsxs("p",{className:"in-legend in-tm-legend",children:["freshness 0d",f.jsx("span",{className:"in-sw in-sw-age"+(n?" in-sw-flat":""),style:{background:`linear-gradient(to right, ${[0,60,150,300].map(aE).join(", ")})`}}),"300d+",f.jsx("span",{className:"in-tm-range",children:n?`all files here: ${r} old — colour off, not enough range to rank`:`observed: ${r} old`})]})}function GP({pts:e,onOpenFile:n}){const o={l:44,r:16,t:20,b:34},l=Math.max(Ns*2,...e.map(w=>w.days)),u=Math.max(Wo*2,...e.map(w=>w.reads)),d=w=>Math.log10(w+1)/Math.log10(l+1),m=w=>Math.log10(w+1)/Math.log10(u+1),p=w=>3+4*w,y=p(1),v=w=>o.l+y+d(w)*(720-o.l-o.r-2*y),b=w=>360-o.b-y-m(w)*(360-o.t-o.b-2*y),x=fI(e.filter(w=>w.danger).map(w=>({path:w.path,reads:w.reads,cx:v(w.days),cy:b(w.reads),r:p(w.total?(w.agent||0)/w.total:0)})),{right:720-o.r,top:o.t+8,bottom:360-o.b-4});return f.jsxs("svg",{viewBox:"0 0 720 360",className:"in-chart",children:[f.jsx("rect",{x:v(Ns),y:o.t,width:720-o.r-v(Ns),height:b(Wo)-o.t,className:"in-danger-zone"}),f.jsx("line",{x1:v(Ns),y1:o.t,x2:v(Ns),y2:360-o.b,className:"in-threshold"}),f.jsx("line",{x1:o.l,y1:b(Wo),x2:720-o.r,y2:b(Wo),className:"in-threshold"}),f.jsx("line",{x1:o.l,y1:360-o.b,x2:720-o.r,y2:360-o.b,className:"in-axis"}),f.jsx("line",{x1:o.l,y1:o.t,x2:o.l,y2:360-o.b,className:"in-axis"}),f.jsx("text",{x:(o.l+720-o.r)/2,y:352,className:"in-label",children:"days since last change →"}),f.jsx("text",{x:12,y:(o.t+360-o.b)/2,className:"in-label",transform:`rotate(-90 12 ${(o.t+360-o.b)/2})`,children:"reads / 30d →"}),f.jsx("text",{x:720-o.r-6,y:o.t+14,className:"in-quad in-quad-danger",textAnchor:"end",children:"hot + stale"}),f.jsx("text",{x:o.l+6,y:o.t+14,className:"in-quad",children:"hot + fresh"}),f.jsx("text",{x:720-o.r-6,y:360-o.b-8,className:"in-quad",textAnchor:"end",children:"cold + stale"}),f.jsx("text",{x:o.l+6,y:360-o.b-8,className:"in-quad",children:"cold + fresh"}),e.map(w=>{const _=w.total?(w.agent||0)/w.total:0;return f.jsx("circle",{cx:Number(v(w.days).toFixed(1)),cy:Number(b(w.reads).toFixed(1)),r:Number(p(_).toFixed(1)),className:"in-pt"+(w.danger?" danger":w.reads?"":" cold"),onClick:()=>n(w.path),children:f.jsx("title",{children:`${w.path} — ${w.reads} read${w.reads===1?"":"s"} / 30d · changed ${Math.round(w.days)}d ago`})},w.path)}),x.map(w=>f.jsx("text",{x:Number(w.x.toFixed(1)),y:Number(w.y.toFixed(1)),textAnchor:w.anchor,className:"in-pt-label",children:w.name},w.path))]})}function ZP({pts:e,lens:n,onOpenFile:r,onOpenHistory:i}){const o=e.filter(d=>d.reads>0).sort((d,m)=>m.reads-d.reads||m.days-d.days).slice(0,20);if(!o.length)return f.jsx("div",{className:"dl-empty",children:"No reads in the window yet."});const l=o[0].reads,u=o.some(d=>d.share>0);return f.jsxs(f.Fragment,{children:[f.jsx("div",{className:"in-hotpath",children:o.map(d=>{const m=UP[n]??aI(d),p=d.reads/l*100,y=()=>d.orphan?i(d.path):r(d.path);return f.jsxs("div",{className:"in-hp-row",tabIndex:0,role:"button",title:d.orphan?`${d.reads} read${d.reads===1?"":"s"}/30d · no longer in the project — open its history`:d.danger?`${d.reads} read${d.reads===1?"":"s"}/30d · unchanged ${Math.round(d.days)}d — review this file`:d.path,onClick:y,onKeyDown:v=>{(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),y())},children:[f.jsx("span",{className:"in-hp-name"+(d.danger?" danger":""),children:d.path+(d.danger?" ⚠":"")}),d.orphan&&f.jsx("span",{className:"in-hp-gone",children:"· no longer in the project"}),f.jsxs("span",{className:"in-hp-bar",children:[f.jsx("span",{className:"in-hp-agent",style:{width:(p*m.agent).toFixed(1)+"%"}}),f.jsx("span",{className:"in-hp-human",style:{width:(p*m.human).toFixed(1)+"%"}}),f.jsx("span",{className:"in-hp-share",style:{width:(p*m.share).toFixed(1)+"%"}})]}),f.jsx("span",{className:"in-hp-count",children:d.reads})]},d.path)})}),f.jsxs("p",{className:"in-legend",children:[f.jsx("span",{className:"in-sw agent"})," agent reads ",f.jsx("span",{className:"in-sw human"})," human reads",u&&f.jsxs(f.Fragment,{children:[" ",f.jsx("span",{className:"in-sw share"})," shared reads"]})]})]})}function KP({devices:e}){const n=new Map;for(const b of e)for(const[x,w]of Object.entries(b.folders||{}))n.set(x,(n.get(x)||0)+w);const r=[...n.entries()].sort((b,x)=>x[1]-b[1]).slice(0,12).map(b=>b[0]),i=e.slice(0,12),o=140,l=6,u=Math.min(76,Math.max(34,(720-o-8)/r.length)),d=26,m=720,p=l+i.length*d+58,y=Math.max(1,...i.flatMap(b=>r.map(x=>(b.folders||{})[x]||0))),v=b=>{const x=[23,25,31],w=[245,166,35],_=x.map((E,R)=>Math.round(E+(w[R]-E)*b));return`rgb(${_[0]},${_[1]},${_[2]})`};return f.jsxs("svg",{viewBox:`0 0 ${m} ${p}`,className:"in-chart in-matrix",children:[i.map((b,x)=>{let w=b.name||b.id||"";return w.length>20&&(w=w.slice(0,19)+"…"),f.jsxs("g",{children:[f.jsx("text",{x:o-8,y:l+x*d+17,textAnchor:"end",className:"in-label",children:w}),r.map((_,E)=>{const R=(b.folders||{})[_]||0;return f.jsx("rect",{x:o+E*u,y:l+x*d,width:u-4,height:d-4,rx:3,fill:v(Math.sqrt(R/y)),children:f.jsx("title",{children:`${b.name||b.id} × ${_||"(root)"}: ${R} read${R===1?"":"s"}/30d`})},_)})]},b.id||x)}),r.map((b,x)=>{const w=o+x*u+(u-4)/2,_=l+i.length*d+14;return f.jsx("text",{x:w,y:_,className:"in-label",textAnchor:"end",transform:`rotate(-28 ${w} ${_})`,children:b||"(root)"},b)})]})}function iE(e){return new Set(e.entries.map(n=>n.path)).size}function YP(e){const n=l=>(l.session?"s\0"+l.session:"n\0"+l.note)+"\0"+(l.device?.id??""),r=new Map;e.forEach((l,u)=>{if(!l.note&&!l.session)return;const d=r.get(n(l));if(d){d.entries.push(l),d.idx.push(u);return}r.set(n(l),{note:l.note??"",session:l.session,entries:[l],idx:[u]})});const i=[],o=new Set;return e.forEach((l,u)=>{const d=l.note||l.session?r.get(n(l)):void 0;if(!d||iE(d)<2){i.push({i:u});return}o.has(d)||(o.add(d),i.push({run:d,i:u}))}),i}function QP(e){const{filters:n,authors:r,onChange:i}=e,o=(y,v)=>i({...n,[y]:v||void 0}),[l,u]=S.useState(n?.q??""),d=S.useRef(!1);S.useEffect(()=>{d.current||u(n?.q??"")},[n?.q]),S.useEffect(()=>{if(!d.current)return;const y=setTimeout(()=>{d.current=!1,l!==(n?.q??"")&&o("q",l)},250);return()=>clearTimeout(y)},[l]);const m=n?.user&&!r.includes(n.user)?[n.user,...r]:r,p=Zp(n);return f.jsxs("div",{className:"hfilters",children:[f.jsxs("label",{className:"hf-search",children:[f.jsx(ut,{name:"search"}),f.jsx(du,{type:"search",value:l,placeholder:"path contains…","aria-label":"Filter by path",onChange:y=>{d.current=!0,u(y.target.value)}})]}),f.jsxs("select",{className:"hf-user",value:n?.user??"","aria-label":"Filter by author",onChange:y=>o("user",y.target.value),children:[f.jsx("option",{value:"",children:"Anyone"}),m.map(y=>f.jsx("option",{value:y,children:y},y))]}),f.jsxs("span",{className:"hf-dates",children:[f.jsx("span",{className:"hf-lbl",children:"UTC"}),f.jsx(du,{type:"date",className:"hf-date",value:n?.since??"","aria-label":"From date (UTC)",onChange:y=>o("since",y.target.value)}),f.jsx("span",{className:"hf-dash",children:"–"}),f.jsx(du,{type:"date",className:"hf-date",value:n?.until??"","aria-label":"To date (UTC)",onChange:y=>o("until",y.target.value)})]}),p&&f.jsx("button",{type:"button",className:"hf-clear",onClick:()=>i({}),children:"Clear"})]})}function XP(e){const n=new Set;for(const r of e)r.user&&n.add(r.user);return[...n].sort()}function JP(e){const{apiBase:n,target:r,isFolder:i,onMeta:o,onRendered:l,restore:u,remove:d,filters:m}=e,p=r?i(r)?{prefix:r+"/"}:{path:r}:{prefix:""},y=("path"in p&&p.path!==void 0?"path="+encodeURIComponent(p.path):"prefix="+encodeURIComponent(p.prefix??""))+N_(m).replace("?","&"),{data:v,error:b,fetchNextPage:x,hasNextPage:w,isFetchingNextPage:_}=mj({queryKey:["history",n,y],queryFn:({pageParam:$})=>Bt(n+"history?"+y+"&n=100"+($?"&cursor="+encodeURIComponent($):"")),initialPageParam:"",getNextPageParam:$=>$.next_cursor,staleTime:15e3}),E=S.useRef(new Set);S.useEffect(()=>{b&&o("History unavailable: "+b.message)},[b,o]),S.useEffect(()=>{v&&l?.()},[v,l]);const R=v?v.pages.flatMap($=>$.entries||[]):[];for(const $ of XP(R))E.current.add($);const T=e.onFilters&&f.jsx(QP,{filters:m,authors:[...E.current].sort(),onChange:e.onFilters});if(!v)return T?f.jsx("div",{className:"history",children:T}):null;const O=$=>{for(let F=$+1;F{const F=R[$].kind==="delete"?O($):R[$].blob;return F&&F===N.get(R[$].path)?void 0:F},U=$=>N.get(R[$].path)==="";return f.jsxs("div",{className:"history",children:[T,R.length===0&&(Zp(m)?f.jsxs("div",{className:"empty",children:["No changes match these filters.",f.jsx("br",{}),f.jsx("button",{type:"button",className:"btn hf-clear-empty",onClick:()=>e.onFilters?.({}),children:"Clear filters"})]}):f.jsx("div",{className:"empty",children:"No history yet."})),YP(R).map(($,F)=>$.run?f.jsx(WP,{run:$.run,onOpen:e.onOpen,apiBase:n,prevBlob:O,restoreSha:z,recreates:U,restore:u,remove:d},"g"+F):f.jsx(pg,{entry:R[$.i],apiBase:n,onOpen:e.onOpen,diff:{apiBase:n,prev:O($.i)},restore:u,restoreSha:z($.i),recreates:U($.i)},"r"+$.i)),w&&f.jsx("button",{type:"button",className:"btn hmore",onClick:()=>x(),disabled:_,children:_?"Loading…":"Load more"})]})}function WP({run:e,onOpen:n,apiBase:r,prevBlob:i,restoreSha:o,recreates:l,restore:u,remove:d}){const[m,p]=S.useState(!0),y=e.entries[0],v=dd(y),b=[y.device.name||y.device.id,y.device.os].filter(Boolean).join(" · "),x=y.session,w=y.device?.id,{data:_}=Pt({queryKey:["session-reads",r,x,w],queryFn:()=>Bt(r+"heat?session="+encodeURIComponent(x)+"&device="+encodeURIComponent(w)),enabled:!!x&&!!w,staleTime:3e4}),E=new Set(_?.paths??[]),R=new Set(e.entries.map(U=>U.path)),T=[...E].filter(U=>!R.has(U)).sort(),O=e.entries.map(U=>new Date(U.time).getTime()),N=eF(Math.min(...O),Math.max(...O)),z=iE(e);return f.jsxs("div",{className:"hrun"+(m?" open":""),children:[f.jsxs("div",{className:"hrun-head",children:[f.jsx("button",{type:"button",className:"hrun-toggle","aria-expanded":m,title:m?"Collapse this run":"Expand this run",onClick:()=>p(!m),children:f.jsx(ut,{name:m?"chevd":"chev"})}),f.jsx("span",{className:"hrun-note",children:f.jsx(KC,{text:e.note})}),f.jsxs("span",{className:"hrun-meta",children:[E.size>0?`read ${E.size} · changed ${z}`:`${z} file${z===1?"":"s"}`," ·"," ",v,b?" · "+b:""]}),f.jsx("span",{className:"hrun-time",children:N})]}),m&&f.jsxs("div",{className:"hrun-body",children:[e.entries.map((U,$)=>f.jsx(pg,{entry:U,apiBase:r,onOpen:n,diff:{apiBase:r,prev:i(e.idx[$])},restore:u,remove:d,restoreSha:o(e.idx[$]),recreates:l(e.idx[$]),inRun:!0,read:E.has(U.path)},$)),T.length>0&&f.jsxs("div",{className:"hrun-reads",children:[f.jsx("div",{className:"hrun-reads-head",children:"Read, not changed"}),T.map(U=>f.jsxs("button",{type:"button",className:"hrun-read",onClick:()=>n(U),children:[f.jsx("span",{className:"hkind",children:"read"}),f.jsx("span",{className:"hpath",children:U})]},U))]}),x&&f.jsx("div",{className:"hrun-foot",children:"Reads shown only for files the project still has."})]})]})}function eF(e,n){const r=new Date(e),i=new Date(n),o=u=>u.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});if(r.toDateString()!==i.toDateString())return r.toLocaleString()+" – "+i.toLocaleString();const l=i.toLocaleDateString();return e===n?l+" "+o(i):l+" "+o(r)+" – "+o(i)}function tF(e,n){return e?n(e)?e+"/ (folder)":e:"all changes"}function nF(e){const{apiBase:n,path:r,version:i}=e,o="path="+encodeURIComponent(r),{data:l}=Pt({queryKey:["history",n,o,200],queryFn:()=>Bt(n+"history?"+o+"&n=200"),staleTime:15e3}),u=l?.entries?.find(y=>y.blob===i),d=u?dd(u):"",m=u?.time?new Date(u.time).toLocaleString():"",p=n+"blob?sha="+i+"&name="+encodeURIComponent(r.split("/").pop()||r)+"&download=1";return f.jsxs("div",{className:"vbanner",role:"status",children:[f.jsx("span",{className:"vb-icon",children:f.jsx(ut,{name:"clock"})}),f.jsxs("div",{className:"vb-text",children:[f.jsx("b",{children:[m&&"Version from "+m,d&&"by "+d].filter(Boolean).join(" ")||"Earlier version"}),f.jsx("span",{children:"This is not the current file."})]}),f.jsxs("div",{className:"vb-actions",children:[f.jsx("button",{className:"ai-btn",onClick:e.onViewCurrent,children:"View current"}),f.jsx("a",{className:"ai-btn",download:!0,href:p,children:"Download this version"})]})]})}const rF={aws_access_key_id:"an AWS access key",openai_api_key:"an OpenAI API key",github_pat:"a GitHub token",slack_token:"a Slack token",private_key:"a private key",gitlab_pat:"a GitLab token"};function aF(e=[]){const n=e.map(i=>`${rF[i.rule]??i.rule} (line ${i.line})`);return`BearDrive found ${n.length>1?n.slice(0,-1).join(", ")+" and "+n[n.length-1]:n[0]||"something credential-shaped"} in this file. The check covers the file at the moment you share it — a link always serves the file's latest content, so later changes are never checked. Share anyway?`}function sE(e){const{config:n,apiBase:r,route:i,hub:o,project:l}=e,u=Yp(),d=Mi(),{tree:m,flatFiles:p,dirIndex:y,loaded:v}=hI(r,!o||!!l),b=mI(r,o&&!!l&&!!n.reads?.enabled),x=o&&!!l&&!i.path&&!i.view,w=i.view==="dashboard"||x,_=PP(r,w);S.useEffect(()=>{w&&d.invalidateQueries({queryKey:["heat",r]})},[w,r,d]);const E=i.path,R=i.view?void 0:i.version,T=E||(i.view==="dashboard"||i.view==="history")&&i.viewTarget||"",O=!!E&&y.has(E),N=!!E&&v&&!O&&p.some(Z=>Z.path===E),z=!!E&&v&&!O&&!N,U=O&&!i.view,{data:$}=Pt({queryKey:["resolve",r,E],queryFn:()=>Bt(r+"resolve?path="+encodeURIComponent(E)),enabled:z,retry:!1,staleTime:6e4}),[F,ve]=S.useState(null);S.useEffect(()=>{!z||!$?.to||(ve({from:E,to:$.to}),Kt(fl($.to,l?.id),{replace:!0}))},[z,$,E,l?.id]);const[ye,me]=S.useState(()=>new Set),de=S.useRef(!0);S.useEffect(()=>{if(!m||!de.current)return;de.current=!1;const Z=(m.children||[]).filter(J=>J.dir);Z.length===1&&me(J=>new Set(J).add(Z[0].path))},[m]),S.useEffect(()=>{!T||!v||me(Z=>{const J=new Set(Z);for(const fe of kI(T))J.add(fe);return y.has(T)&&J.add(T),J})},[T,v,y]);const le=S.useCallback(Z=>{me(J=>{const fe=new Set(J);return fe.has(Z)?fe.delete(Z):fe.add(Z),fe})},[]),te=S.useRef(null),ge=S.useRef(new Map),L=S.useRef({key:"",want:0,attempts:0});S.useEffect(()=>{L.current={key:u,want:z3()==="POP"?ge.current.get(u)??0:0,attempts:0}},[u]);const K=S.useCallback(()=>{const Z=te.current,J=L.current;!Z||J.key!==u||J.attempts>=3||(J.attempts++,Z.scrollTo({top:J.want,behavior:"instant"}))},[u]),re=S.useCallback(()=>{te.current&&ge.current.set(u,te.current.scrollTop)},[u]),W=S.useCallback((Z,J)=>{Kt(fl(Z,l?.id,J)),mr()},[l?.id]),ne=S.useCallback(Z=>Kt(Pn("history",l?.id,Z)),[l?.id]),[D,M]=S.useState(""),[B,X]=S.useState(null),[Y,ce]=S.useState(!1),[ae,be]=S.useState(!1);S.useEffect(()=>HD(()=>be(!0)),[]);const xe=S.useRef(null),Oe=e.panel??null,Ie=!Oe&&o&&!!l&&N&&Si(l.perm,"write"),{data:Ve}=j_(l?.id,o&&!!l),it=S.useCallback(()=>{d.invalidateQueries({queryKey:["shares",l?.id]})},[d,l?.id]),Qe=N?(Ve||[]).filter(Z=>Z.path===E):[],fn=!Oe&&o&&!!l,hn=!Oe&&N,Qt=!Oe&&(N||o&&!!l&&O),br=R?r+"blob?sha="+R+"&name="+encodeURIComponent(E)+"&download=1":r+"download?path="+encodeURIComponent(E),jt=S.useCallback(async()=>{const Z=J=>fetch(r+"shares",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(J?{path:E,confirm:!0}:{path:E})});try{let J=await Z(!1);if(J.status===409){const{findings:_e}=await J.json();if(!await wi("This file may contain credentials",aF(_e),"Share anyway",!0))return;J=await Z(!0)}if(!J.ok)throw new Error(await J.text());const fe=await J.json();zw("share_created");const we=await qs(fe.url);X({url:fe.url,copied:we}),it()}catch(J){Ke("Share failed: "+J.message,!0)}},[r,E,it]),[rr,xr]=S.useState(""),Tt=o&&!!l&&Si(l?.perm,"write"),Vn=S.useCallback(async(Z,J,fe)=>{if(await wi("Restore this version of "+Z+"?","It syncs to every device as a new change. "+(fe?"The file comes back on every device. Removing it again isn't available from History yet.":"You can restore any other version afterwards."),"Restore")){xr(Z+J);try{await _i(r+"restore",{path:Z,sha:J}),d.invalidateQueries({queryKey:["history",r]}),d.invalidateQueries({queryKey:["tree",r]}),d.invalidateQueries({queryKey:["render",r,Z]}),d.invalidateQueries({queryKey:["text"]}),Ke("Restored "+Z+" — it syncs to every device like any other change.")}catch(we){Ke("Restore failed: "+we.message,!0)}finally{xr("")}}},[r,d]),[Dt,kr]=S.useState(""),ar=S.useCallback(async Z=>{if(await wi("Remove "+Z+"?","It disappears from every synced device. History keeps it — you can restore it from the DELETED row afterwards.","Remove file",!0)){kr(Z);try{await _i(r+"remove",{path:Z}),d.invalidateQueries({queryKey:["history",r]}),d.invalidateQueries({queryKey:["tree",r]}),d.invalidateQueries({queryKey:["render",r,Z]}),d.invalidateQueries({queryKey:["text"]}),Ke("Removed "+Z+" — it syncs to every device like any other change.")}catch(J){Ke("Remove failed: "+J.message,!0)}finally{kr("")}}},[r,d]),ir=S.useCallback(()=>{if(!E)return ne("");ne(O?E+"/":E)},[E,O,ne]);S.useEffect(()=>{const Z=J=>{(J.metaKey||J.ctrlKey)&&J.key.toLowerCase()==="k"&&(J.preventDefault(),be(fe=>!fe))};return window.addEventListener("keydown",Z),()=>window.removeEventListener("keydown",Z)},[]);const wr=S.useCallback(()=>{const Z=[],J=(fe,we,_e,Xe)=>Z.push({icon:fe,label:we,kind:_e,run:Xe});if(o&&l){const fe=l.id,we=_e=>()=>{e.onClosePanel?.(),Kt(_e)};J("folder","Go to project root","action",we("/"+fe)),J("dashboard","Dashboard","action",we(Pn("dashboard",fe))),J("terminal","Installation","action",we(Pn("install",fe))),J("gear","Settings","action",we(Pn("settings",fe)))}if(o&&l&&E&&(N&&J("share","Share: "+E,"action",jt),J("hist","History: "+E,"action",ir),N&&J("download","Download: "+E,"action",()=>xe.current?.click())),o&&l&&J("hist","History: whole project","action",()=>ne("")),o)for(const fe of e.projects||[])(!l||fe.id!==l.id)&&J("folder","Switch to project: "+fe.name,"project",()=>Kt("/"+fe.id));n.auth?.enabled&&J("power","Sign out","action",()=>window.location.href="/auth/logout");for(const fe of y.keys())J("folder",fe,"folder",()=>W(fe));for(const fe of p)J("doc",fe.path,"file",()=>W(fe.path));return Z},[o,l,E,N,n.auth?.enabled,y,p,e.projects,e.onClosePanel,jt,ir,ne,W]);S.useEffect(()=>{if(!Y)return;const Z=()=>ce(!1);return document.addEventListener("click",Z),()=>document.removeEventListener("click",Z)},[Y]);const sr=S.useCallback(Z=>y.has(Z),[y]);let mn="app",A,P;Oe?P=Oe.body:i.view==="dashboard"?P=f.jsx(gw,{flatFiles:p,heatMap:b,devices:_,scope:i.viewTarget||"",loading:!v,installHref:l?Pn("install",l.id):void 0,onOpenFile:W,onOpenFolder:W,onOpenHistory:ne,isFolder:sr}):i.view==="history"?P=f.jsx(JP,{apiBase:r,target:i.viewTarget||"",isFolder:sr,onOpen:W,onMeta:M,onRendered:K,restore:Tt?{onRestore:Vn,busy:rr}:void 0,remove:Tt?{onRemove:ar,busy:Dt}:void 0,filters:i.filters,onFilters:Z=>Kt(Pn("history",l?.id,i.viewTarget||"",Z))}):E?v?z?P=f.jsxs("div",{className:"notfound",children:[f.jsx("h1",{children:"Couldn't find that"}),f.jsxs("p",{children:[f.jsx("code",{children:E})," isn't in this project right now."]}),f.jsx("p",{className:"nf-sub",children:"If it was just created, it may still be uploading or syncing from a teammate's device — this page checks again automatically every few seconds, so refresh or come back in a moment."}),f.jsx("button",{className:"pbtn",onClick:()=>d.invalidateQueries({queryKey:["tree",r]}),children:"Check again"})]}):O?P=f.jsx(ZI,{node:y.get(E),heatMap:b,hub:o&&!!l,apiBase:r,onOpen:W,onFullHistory:ne,onRendered:K}):(mn=OC.test(E)||AC.test(E)?"wide":"read",A="markdown",P=f.jsxs(f.Fragment,{children:[R&&f.jsx(nF,{apiBase:r,path:E,version:R,onViewCurrent:()=>W(E)}),f.jsx(QI,{apiBase:r,path:E,version:R,heatMap:b,flatFiles:p,onOpenFile:W,onMeta:M,onRendered:K})]})):P=f.jsx("div",{className:"empty",children:"Loading…"}):x?P=f.jsxs(f.Fragment,{children:[f.jsx(HC,{project:l,existing:i.connect==="existing"}),f.jsx("div",{className:"home-insights",children:f.jsx(gw,{flatFiles:p,heatMap:b,devices:_,loading:!v,onOpenFile:W,onOpenFolder:W,onOpenHistory:ne,isFolder:sr})})]}):P=f.jsx("div",{className:"empty",children:"Select a file to read it."}),F&&F.to===E&&(P=f.jsxs(f.Fragment,{children:[f.jsxs("div",{className:"vbanner",role:"status",children:[f.jsx("span",{className:"vb-icon",children:f.jsx(ut,{name:"link"})}),f.jsxs("div",{className:"vb-text",children:[f.jsxs("b",{children:["Moved from ",F.from]}),f.jsx("span",{children:"The URL has been updated."})]})]}),P]}));const V=Oe?Oe.crumb:E?f.jsx(LI,{path:E,onOpenFolder:W}):i.view==="dashboard"?"Dashboard — "+(i.viewTarget||l?.name||""):i.view==="history"?"History — "+tF(i.viewTarget||"",sr):x?l.name:null,ue=f.jsx(dl,{crumb:V,meta:D,actions:f.jsxs(f.Fragment,{children:[Ie&&f.jsx(vt,{id:"share-btn",variant:"toolbar",className:"icon-only",title:"Share","aria-label":"Share",onClick:jt,children:f.jsx(ut,{name:"share"})}),fn&&!E&&!i.view&&f.jsxs(vt,{id:"history-btn",variant:"toolbar",onClick:ir,children:[f.jsx(ut,{name:"hist"})," ",f.jsx("span",{className:"lbl",children:"History"})]}),hn&&f.jsx("a",{id:"download",hidden:!0,download:!0,href:br,ref:xe,children:"Download"}),Qt&&f.jsx(vt,{id:"more-btn",variant:"toolbar",className:"icon-only",title:"More actions","aria-label":"More actions",onClick:Z=>{Z.stopPropagation(),ce(!Y)},children:f.jsx(ut,{name:"dots"})}),Y&&f.jsxs("div",{id:"more-menu",role:"menu",children:[fn&&f.jsx("button",{className:"more-item",onClick:ir,children:"History"}),hn&&f.jsx("button",{className:"more-item",onClick:()=>xe.current?.click(),children:"Download"}),o&&!!l&&f.jsx("button",{className:"more-item",onClick:()=>{e.onClosePanel?.(),Kt(Pn("dashboard",l?.id,E))},children:"Dashboard"})]})]})});return f.jsxs(f.Fragment,{children:[f.jsx(ul,{vault:e.sidebar.vault,projectsNav:e.sidebar.projectsNav,orgBar:e.sidebar.orgBar,tree:f.jsx(zI,{root:m,expanded:ye,onToggle:le,currentPath:T,listingShowing:U,onOpen:W}),topbar:ue,contentRef:te,onContentScroll:re,children:f.jsxs(Su,{width:mn,className:A,children:[!Oe&&N&&f.jsx(oP,{shares:Qe,canRevoke:!!l&&Si(l.perm,"write"),onChanged:it}),P]})}),B&&f.jsx(sP,{url:B.url,copied:B.copied,onClose:()=>{X(null),it()}}),f.jsx(IP,{open:ae,onClose:()=>be(!1),candidates:wr})]})}function iF({config:e}){const n=Yp(),r=O_(),[i,o]=S.useState(null),[l,u]=S.useState(null);S.useEffect(()=>u(null),[n]);const d=S.useMemo(()=>{const ge=n.split("?")[0].match(/^\/join\/([0-9a-f]+)\/?$/);return ge?ge[1]:null},[n]),{data:m}=j3(!d),{data:p}=T3(!d),y=!!e.auth.admin,{data:v}=T_(y),b=S.useMemo(()=>D_(n,"hub"),[n]),[x,w]=S.useState(!1),_=e.upload.enabled,E=async(ge,L)=>{const K=L===BC;try{const re=await _i("/api/projects",{name:ge,template:K?"":L});w(!1),await r(),Kt("/"+re.project.id+(K?"?connect=existing":"")),Ke(`Created “${re.project.name}”.`)}catch(re){Ke("Could not create the project: "+re.message,!0)}},R=x?f.jsx(nI,{templates:e.templates??[],onCreate:E,onClose:()=>w(!1)}):null,T=S.useMemo(()=>m&&(m.find(ge=>ge.id===b.project)||i&&m.find(ge=>ge.org===i)||m.find(ge=>ge.id===E$())||m[0])||null,[m,b.project,i]);if(S.useEffect(()=>{document.title=T?T.name+" — BearDrive":e.brand||"BearDrive",T&&R$(T.id)},[T,e]),d)return f.jsx(sF,{token:d,onDone:async ge=>{o(ge),await r(),Kt("/",{replace:!0})}});const O=e.brand||"BearDrive",N=T&&p?.find(ge=>ge.id===T.org)||null,z=f.jsx(Xu,{name:O,onHome:()=>Kt("/"),search:!!T,beta:O==="BearDrive"}),U=e.me?f.jsx(Z$,{me:e.me,org:N,orgActive:!!b.org,billing:e.billing,admin:y?{pending:v?.length||0,onClick:()=>{u({kind:"hub"}),mr()}}:void 0}):void 0;if(!m||!p)return f.jsx(ul,{vault:z,topbar:f.jsx(dl,{}),children:f.jsx(Su,{children:f.jsx("div",{className:"empty",children:"Loading…"})})});if(!T)return f.jsxs(ul,{vault:z,projectsNav:f.jsx(aw,{projects:m,onNew:()=>w(!0)}),orgBar:U,topbar:f.jsx(dl,{}),children:[f.jsx(Su,{children:f.jsx(tI,{onNew:()=>w(!0),canCreate:_})}),R]});const $=l?.kind==="hub"?{crumb:"Signup & access",body:f.jsx($$,{})}:null,F=b.org?p.find(ge=>ge.id===b.org):null,ye=b.org&&!F?{crumb:"Organization",body:f.jsxs("div",{className:"empty",children:[f.jsx("h3",{children:"Organization not found"}),f.jsx("p",{children:"This organization doesn't exist, or you're no longer a member."}),f.jsx("p",{children:f.jsxs("a",{...Bs("/"+T.id),children:["Back to ",T.name]})})]})}:F?{crumb:"Organization",body:f.jsx(z$,{org:F,projects:m,myEmail:e.me?.email||""})}:null,me=!!b.project&&!m.some(ge=>ge.id===b.project),de=me?{crumb:"Project",body:f.jsxs("div",{className:"empty",children:[f.jsx("h3",{children:"Project not found"}),f.jsx("p",{children:"This project doesn't exist, or you're no longer a member."}),f.jsx("p",{children:f.jsxs("a",{...Bs("/"+T.id),children:["Back to ",T.name]})})]})}:null,le=b.billing?{crumb:"Billing",body:e.billing?f.jsx(K$,{url:e.billing.url}):f.jsxs("div",{className:"empty",children:[f.jsx("h3",{children:"No billing on this hub"}),f.jsx("p",{children:"This BearDrive hub doesn't have a billing surface."})]})}:null,te=b.view==="settings"?{crumb:"Project settings",body:f.jsx(X$,{project:T,org:N,onDeleted:async()=>{await r(),Kt("/")}})}:b.view==="install"?{crumb:"Installation",body:f.jsx(HC,{project:T,existing:b.connect==="existing"})}:null;if(!me){if(!b.org&&!b.billing&&b.project!==T.id)return f.jsx(Qo,{to:"/"+T.id});if(b.legacyView&&b.view)return f.jsx(Qo,{to:Pn(b.view,T.id,b.viewTarget,b.filters)});if(b.queryTarget&&b.view)return f.jsx(Qo,{to:Pn(b.view,T.id,b.viewTarget,b.filters)});if(b.trailingSlash&&b.path)return f.jsx(Qo,{to:fl(b.path,T.id,b.version)})}return f.jsxs(f.Fragment,{children:[f.jsx(sE,{config:e,apiBase:"/api/p/"+T.id+"/",route:b,hub:!0,project:T,projects:m,sidebar:{vault:z,projectsNav:f.jsx(aw,{projects:m,currentId:T.id,onNew:()=>w(!0),menu:{active:l?null:b.view==="dashboard"&&!b.viewTarget?"dashboard":b.view==="install"?"install":b.view==="history"&&!b.viewTarget?"history":b.view==="settings"?"settings":null,onDashboard:()=>{u(null),Kt(Pn("dashboard",T.id)),mr()},onInstall:()=>{u(null),Kt(Pn("install",T.id)),mr()},onHistory:()=>{u(null),Kt(Pn("history",T.id)),mr()},onSettings:()=>{u(null),Kt(Pn("settings",T.id)),mr()}}}),orgBar:U},panel:$||ye||de||le||te,onClosePanel:()=>u(null)},T.id),R]})}function sF({token:e,onDone:n}){return S.useEffect(()=>{let r=!1;return _i("/api/invites/"+e).then(i=>{r||(Ke(`Welcome — you joined the “${i.org.name}” team. Opening its projects…`),n(i.org.id))}).catch(i=>{r||String(i.message).includes("signing in")||(Ke("Could not accept the invite: "+i.message,!0),n(null))}),()=>{r=!0}},[e]),f.jsx(ul,{vault:f.jsx(Xu,{name:"BearDrive",beta:!0}),topbar:f.jsx(dl,{}),children:f.jsx(Su,{children:f.jsx("div",{className:"empty",children:"Joining…"})})})}function oF({config:e}){const n=Yp(),r=e.volume||"BearDrive";S.useEffect(()=>{document.title=e.brand||r},[e,r]);const i=S.useMemo(()=>D_(n,"volume"),[n]);return i.trailingSlash&&i.path?f.jsx(Qo,{to:fl(i.path)}):f.jsx(sE,{config:e,apiBase:"/api/",route:i,hub:!1,sidebar:{vault:f.jsx(Xu,{name:r,showSignout:e.auth.enabled,search:!0})}})}function lF(){const{data:e}=bj();return f.jsxs(PD,{delayDuration:150,children:[e?e.mode==="hub"?f.jsx(iF,{config:e}):f.jsx(oF,{config:e}):f.jsx(ul,{vault:f.jsx(Xu,{name:"…",showSignout:!1}),topbar:f.jsx(dl,{}),children:f.jsx("div",{className:"empty",children:"Loading…"})}),f.jsx(b3,{}),f.jsx(C3,{})]})}class cF extends S.Component{state={error:null};static getDerivedStateFromError(n){return{error:n}}componentDidCatch(n,r){console.error("BearDrive: unhandled render error",n,r.componentStack)}render(){return this.state.error?f.jsxs("div",{className:"mx-auto max-w-lg p-8 text-sm",children:[f.jsx("h1",{className:"mb-2 text-lg font-semibold",children:"This page didn’t load"}),f.jsx("p",{className:"mb-4 opacity-80",children:"Something went wrong rendering this view. The rest of BearDrive is fine."}),f.jsx("p",{className:"mb-4",children:f.jsx("a",{className:"underline",href:"/",children:"Go to the project list"})}),f.jsx("pre",{className:"overflow-x-auto rounded bg-black/5 p-3 text-xs dark:bg-white/10",children:String(this.state.error)})]}):this.props.children}}const uF=new nj({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1}}});O2.createRoot(document.getElementById("root")).render(f.jsx(S.StrictMode,{children:f.jsx(cF,{children:f.jsx(rj,{client:uF,children:f.jsx(lF,{})})})})); diff --git a/internal/webapp/static/assets/index-aFlVpSeL.css b/internal/webapp/static/assets/index-aFlVpSeL.css new file mode 100644 index 0000000..286065e --- /dev/null +++ b/internal/webapp/static/assets/index-aFlVpSeL.css @@ -0,0 +1 @@ +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--tracking-widest:.1em;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--color-background:#0a0b0d;--color-foreground:#eef0f3;--color-card:#15171b;--color-card-foreground:#eef0f3;--color-popover:#15171b;--color-popover-foreground:#eef0f3;--color-primary:#f5a623;--color-primary-foreground:#1a1204;--color-secondary:#ffffff08;--color-secondary-foreground:#eef0f3;--color-muted:#ffffff0f;--color-muted-foreground:#9aa0a9;--color-accent:#ffffff0f;--color-accent-foreground:#eef0f3;--color-destructive:#f26d6d;--color-border:#ffffff12;--color-input:#ffffff1c;--color-ring:#f5a623;--radius-ctl:7px}}@layer base,components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.top-4{top:calc(var(--spacing) * 4)}.top-20{top:calc(var(--spacing) * 20)}.top-\[50\%\]{top:50%}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.left-2{left:calc(var(--spacing) * 2)}.left-\[50\%\]{left:50%}.isolate{isolation:isolate}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-auto{margin-inline:auto}.my-1{margin-block:var(--spacing)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.field-sizing-content{field-sizing:content}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-\[300px\]{max-height:300px}.min-h-16{min-height:calc(var(--spacing) * 16)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-lg{max-width:var(--container-lg)}.min-w-0{min-width:0}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.resize{resize:both}.scroll-my-1{scroll-margin-block:var(--spacing)}.scroll-py-1{scroll-padding-block:var(--spacing)}.auto-rows-min{grid-auto-rows:min-content}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-input{border-color:var(--color-input)}.bg-background{background-color:var(--color-background)}.bg-black\/5{background-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.bg-black\/5{background-color:color-mix(in oklab,var(--color-black) 5%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-border{background-color:var(--color-border)}.bg-card{background-color:var(--color-card)}.bg-destructive{background-color:var(--color-destructive)}.bg-foreground{background-color:var(--color-foreground)}.bg-muted\/50{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.bg-popover{background-color:var(--color-popover)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.bg-transparent{background-color:#0000}.fill-current{fill:currentColor}.fill-foreground{fill:var(--color-foreground)}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.text-background{color:var(--color-background)}.text-card-foreground{color:var(--color-card-foreground)}.text-destructive{color:var(--color-destructive)}.text-foreground{color:var(--color-foreground)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-popover-foreground{color:var(--color-popover-foreground)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:var(--color-background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,border-color\,color\]{transition-property:background-color,border-color,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.running{animation-play-state:running}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.selection\:bg-primary ::selection{background-color:var(--color-primary)}.selection\:bg-primary::selection{background-color:var(--color-primary)}.selection\:text-primary-foreground ::selection{color:var(--color-primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--color-primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--color-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-destructive\/90:hover{background-color:#f26d6de6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--color-destructive) 90%,transparent)}}.hover\:bg-muted\/50:hover{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.hover\:bg-primary\/90:hover{background-color:#f5a623e6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--color-primary) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:#ffffff06}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--color-secondary) 80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--color-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-accent:focus{background-color:var(--color-accent)}.focus\:text-accent-foreground:focus{color:var(--color-accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--color-ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:border-ring:focus-visible{border-color:var(--color-ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:#f26d6d33}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:#f5a62380}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-ring) 50%, transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--color-destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:#f26d6d33}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 20%, transparent)}}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[error\=true\]\:text-destructive[data-error=true]{color:var(--color-destructive)}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing) * 8)}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--color-muted-foreground)}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--color-accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--color-accent-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing) * 9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing) * 8)}:is(.\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--spacing) * 12)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing) * 2)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--color-accent)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--color-accent-foreground)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--color-muted-foreground)}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--color-muted)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--color-destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:#f26d6d1a}@supports (color:color-mix(in lab,red,red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--color-destructive) 10%,transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--color-destructive)}@media(min-width:40rem){.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}}@media(min-width:48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media(prefers-color-scheme:dark){.dark\:border-input{border-color:var(--color-input)}.dark\:bg-destructive\/60{background-color:#f26d6d99}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60{background-color:color-mix(in oklab,var(--color-destructive) 60%,transparent)}}.dark\:bg-input\/30{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30{background-color:color-mix(in oklab,var(--color-input) 30%,transparent)}}.dark\:bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.dark\:bg-white\/10{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}@media(hover:hover){.dark\:hover\:bg-accent\/50:hover{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,var(--color-accent) 50%,transparent)}}.dark\:hover\:bg-input\/50:hover{background-color:#ffffff0e}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:hover{background-color:color-mix(in oklab,var(--color-input) 50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:#f26d6d66}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:#f26d6d66}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 40%, transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:#f26d6d33}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--color-destructive) 20%,transparent)}}}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing) * 1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--color-muted-foreground)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing) * 12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing) * 3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing) * 5)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--color-muted-foreground)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing) * 6)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive\![data-variant=destructive]>*):is(svg){color:var(--color-destructive)!important}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}:root{color-scheme:dark;--bg: #0a0b0d;--bg-side: #0c0e10;--bg-raise: #15171b;--surface: rgba(255,255,255,.03);--hover: rgba(255,255,255,.06);--border: rgba(255,255,255,.07);--border-2: rgba(255,255,255,.11);--code-bg: #0d0f12;--text: #eef0f3;--text-dim: #9aa0a9;--text-faint: #868b93;--text-ghost: #666b74;--accent: #f5a623;--accent-bright: #ffcf85;--accent-dim: #d3861a;--accent-press: #e0951a;--glow: rgba(245,166,35,.13);--add: #4cc38a;--del: #f26d6d;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--ui: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI", Roboto, sans-serif;--r-ctl: 7px;--r-card: 10px;--r-over: 14px;--page-read: 768px;--page-app: 768px;--page-wide: 1200px;--hero-top: clamp(32px, 8vh, 88px)}@font-face{font-family:"Jersey 10";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jersey-10-COnnvJff.woff2) format("woff2")}@font-face{font-family:Logo Fallback;src:local("Helvetica Neue"),local("Arial"),local("Segoe UI"),local("Roboto");size-adjust:73%}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0}#root{display:contents}body{display:flex;background:var(--bg);color:var(--text);font:13px/1.5 var(--ui);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--glow);color:var(--accent-bright)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:5px}:focus-visible{outline-color:var(--accent)}.admin input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input[type=checkbox]{accent-color:var(--accent);width:20px;height:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.sprite{position:absolute}.ico{width:16px;height:16px;flex:none;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}button,input,a.btn{font-family:inherit}#sidebar{width:264px;min-width:210px;background:var(--bg-side);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}#vault{display:flex;align-items:center;gap:9px;height:52px;padding:0 12px 0 14px;border-bottom:1px solid var(--border);position:relative;z-index:45}#vault-badge{flex:none;display:grid;place-items:center;color:var(--accent)}#vault-name{font-family:"Jersey 10","Logo Fallback",var(--ui);font-size:18px;font-weight:400;font-synthesis:none;letter-spacing:.01em;line-height:1;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#vault-beta{flex:none;font-size:10px;font-weight:600;line-height:1;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-bright);background:color-mix(in srgb,var(--accent) 13%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:999px;padding:3px 6px}.vault-actions{display:flex;align-items:center;gap:4px}#vault #signout,.icon-btn2{width:28px;height:28px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-ghost);background:transparent;border:none;cursor:pointer;text-decoration:none}#vault #signout:hover,.icon-btn2:hover{color:var(--text);background:var(--hover)}#vault #signout .ico,.icon-btn2 .ico{width:16px;height:16px}#projects{flex:none;max-height:32%;overflow-y:auto;padding:10px 8px 8px;border-bottom:1px solid var(--border)}.nav-head{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint)}.nav-add{display:grid;place-items:center;width:18px;height:18px;border:none;background:transparent;color:var(--text-ghost);cursor:pointer;border-radius:5px}.nav-add .ico{width:14px;height:14px}.nav-add:hover{color:var(--text);background:var(--hover)}#projects ul{list-style:none;margin:0;padding:0}#projects .row{display:flex;align-items:center;gap:9px;height:31px;padding:0 8px;border-radius:7px;color:var(--text-dim);cursor:pointer;position:relative;white-space:nowrap;overflow:hidden}.proj-mark{width:17px;height:17px;border-radius:5px;flex:none;display:grid;place-items:center;font-size:10px;font-weight:700;color:#0a0b0d;letter-spacing:-.02em;text-transform:uppercase}.proj-mark svg{width:11px;height:11px}.proj-menu [data-slot=select-item]{display:flex;align-items:center;gap:8px}#projects .row .label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}#projects .row:hover{background:var(--hover);color:var(--text)}#projects .row.active{background:var(--glow);color:var(--accent-bright)}#projects .row.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;border-radius:2px;background:var(--accent)}#tree{flex:1;overflow-y:auto;padding:8px 8px 24px}.tguide{position:absolute;top:0;bottom:0;width:1px;background:var(--border);pointer-events:none}#tree .row{display:flex;align-items:center;gap:6px;height:28px;padding:0 8px;border-radius:7px;color:var(--text-dim);cursor:pointer;position:relative;white-space:nowrap;overflow:hidden}#tree .row:hover{background:var(--hover);color:var(--text)}#tree .row.active{background:var(--glow);color:var(--accent-bright)}#tree .row.active:before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:2px;border-radius:2px;background:var(--accent)}#tree .chev{width:14px;height:14px;flex:none;color:var(--text-ghost);transition:transform .12s;display:flex;align-items:center;justify-content:center}#tree .chev .ico{width:13px;height:13px}#tree .ticon{flex:none;display:flex;color:var(--text-ghost)}#tree .ticon .ico{width:15px;height:15px}#tree .row:hover .ticon,#tree .row:hover .chev{color:var(--text-faint)}#tree .row.active .ticon,#tree .row.active .chev{color:var(--accent)}#tree .label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}#tree .file .label{font-size:12.5px}#tree .file .chev{visibility:hidden}#tree .row.collapsed .chev{transform:rotate(-90deg)}.field-err{color:var(--del);font-size:12px;margin:6px 2px 0}.modal,#palette{translate:none}.admin-card-table{padding:0}.admin-table{width:100%;border-collapse:collapse;table-layout:fixed}.admin-table td .ai-main,.admin-table td a.ai-main,.admin-table td .ai-copy,.admin-table td .ai-tag{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-table th:last-child,.admin-table td:last-child{width:186px;text-align:right}.admin-table tr:last-child td{border-bottom:none}.admin-table th{text-align:left;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint);padding:0;border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none}.admin-table td{padding:0;border-bottom:1px solid var(--border);overflow:hidden;text-overflow:ellipsis}.admin-table tr.admin-item{display:table-row}.admin-table tr.admin-item td{padding:8px 10px}.admin-card-table{overflow-x:auto}.shares-table .admin-table th:last-child,.shares-table .admin-table td:last-child{width:110px}.shares-table .admin-table td .ai-tag{white-space:normal;overflow:visible;text-overflow:clip}.share-banner{margin:0 0 18px;padding:12px 14px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--r-ctl);background:var(--surface)}.share-banner .sb-head{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}.share-banner .sb-head .ico,.share-banner .sb-head svg{width:15px;height:15px;flex:none;color:var(--accent)}.share-banner .sb-count{color:var(--text-faint);font-size:12px}.share-banner .sb-note{margin:6px 0 10px;font-size:12.5px;line-height:1.55;color:var(--text-faint);max-width:64ch}.share-banner .sb-link{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--border)}.share-banner .sb-link+.sb-link{margin-top:8px}.share-banner .sb-url{flex:1 1 260px;min-width:0;font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-banner .sb-meta{font-size:11.5px;color:var(--text-faint)}.share-banner .sb-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.nav-menu{list-style:none;margin:6px 0 0;padding:0}.nav-menu .row .ico{width:15px;height:15px;flex:none;color:var(--text-ghost)}.nav-menu .row.active .ico{color:var(--accent-bright)}.proj-row{display:flex;align-items:center;gap:4px;padding:0 10px 4px 12px}#project-select{flex:1;min-width:0;height:30px;padding:0 9px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:var(--r-ctl);background:var(--surface);color:var(--text);font:inherit;font-size:12.5px;font-weight:500;cursor:pointer;white-space:nowrap;outline:none}#project-select>span:last-of-type{overflow:hidden;text-overflow:ellipsis}#project-select:hover{background:var(--hover);border-color:var(--border-2)}#project-select svg{color:var(--text-ghost)}.proj-menu{z-index:80;min-width:var(--radix-select-trigger-width, 200px);border:1px solid var(--border-2);border-radius:9px;padding:4px;background:var(--bg-raise);box-shadow:0 10px 32px #00000059}.proj-menu [role=option]{font-size:12.5px;color:var(--text-dim);border-radius:6px;outline:none}.proj-menu [role=option][data-highlighted]{background:var(--hover);color:var(--text)}#accountbar{position:relative;border-top:1px solid var(--border);padding:7px 10px}.gh-star{display:flex;align-items:center;gap:8px;padding:4px 8px;margin-bottom:2px;border-radius:7px;color:var(--text-faint);font-size:11px;text-decoration:none}.gh-star:hover{background:var(--hover);color:var(--text)}.gh-star .gh-mark{width:12px;height:12px;flex:none}.gh-star .ext{margin-left:auto;font-size:9px}#account-btn{width:100%;display:flex;align-items:center;gap:9px;text-align:left;padding:6px 8px;border:none;border-radius:7px;background:transparent;color:var(--text-dim);cursor:pointer;font:inherit}#account-btn:hover{background:var(--hover);color:var(--text)}#account-btn .avatar{width:26px;height:26px;flex:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700}#account-btn .acct{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}#account-btn .acct b{font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#account-btn .acct small{font-size:11px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#account-btn>.ico{width:14px;height:14px;color:var(--text-ghost)}#account-menu{min-width:var(--radix-dropdown-menu-trigger-width, 220px);padding:5px;border:1px solid var(--border-2);border-radius:9px;background:var(--bg-raise);box-shadow:0 10px 32px #00000059;display:flex;flex-direction:column;z-index:80;outline:none}#account-menu [role=menuitem]{outline:none}#account-menu [role=menuitem][data-highlighted]{background:var(--hover);color:var(--text)}#account-menu .menu-sec{padding:7px 9px 3px;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint)}#account-menu [role=menuitem]{display:flex;align-items:center;gap:8px;padding:7px 9px;border:none;border-radius:6px;background:transparent;text-align:left;color:var(--text-dim);font:inherit;font-size:12.5px;cursor:pointer;text-decoration:none}#account-menu [role=menuitem]:hover{background:var(--hover);color:var(--text)}#account-menu [role=menuitem] b{font-weight:600}#account-menu [role=menuitem] .ico{width:15px;height:15px}#account-menu .plan-chip{margin-left:auto;color:var(--accent);border-color:var(--border-2)}#account-menu #signout{color:var(--del)}#account-menu #signout:hover{color:var(--del);background:var(--hover)}#billing-view .plan-chip{color:var(--accent)}.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:700px){.plan-grid{grid-template-columns:1fr}}.usage-bar{background:var(--surface);border:1px solid var(--border);border-radius:4px;height:6px;overflow:hidden}.usage-bar>div{background:var(--accent);height:100%}.plan-price{font-size:20px;font-weight:700;margin:0 0 10px}.plan-price small{font-size:12px;color:var(--text-dim);font-weight:500}.muted-note{color:var(--text-dim);font-size:13px}#main{flex:1;display:flex;flex-direction:column;min-width:0}#topbar{position:relative;display:flex;align-items:center;gap:9px;height:52px;padding:0 16px;border-bottom:1px solid var(--border)}.icon-btn{display:none;width:34px;height:34px;border:none;background:transparent;color:var(--text-dim);cursor:pointer;border-radius:7px;align-items:center;justify-content:center}.icon-btn:hover{color:var(--text);background:var(--hover)}#crumb{font-size:12.5px;color:var(--text);font-weight:500;letter-spacing:-.01em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#crumb .crumb-seg{color:var(--text-dim);cursor:pointer}#crumb .crumb-seg:hover{color:var(--accent-bright)}#crumb .crumb-sep{color:var(--text-ghost);margin:0 5px}#meta{flex:1;min-width:0;font-size:12px;color:var(--text-faint);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn{display:inline-flex;align-items:center;gap:6px;flex:none;height:30px;padding:0 11px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:12.5px;font-weight:500;cursor:pointer;text-decoration:none}.btn:hover{background:var(--hover);color:var(--text);border-color:var(--border-2)}.btn .ico{width:15px;height:15px}.btn.ghost{color:var(--text-dim)}.tipcard{display:flex;align-items:center;gap:7px;white-space:nowrap;padding:6px 9px;border-radius:8px;border:1px solid var(--border-2);background:var(--surface-solid, var(--bg-raise));color:var(--text);font-size:12.5px;font-weight:500;box-shadow:0 8px 24px #00000059;z-index:80}.tipcard kbd{font:11px var(--ui);color:var(--text-faint);background:var(--hover);border:1px solid var(--border-2);border-radius:5px;padding:1px 5px}#more-menu{position:absolute;right:12px;top:calc(100% - 4px);z-index:80;background:var(--bg-raise);border:1px solid var(--border-2);border-radius:var(--r-card);box-shadow:0 18px 44px -14px #000000bf;padding:6px;min-width:168px}.more-item{display:block;width:100%;text-align:left;min-height:40px;padding:0 12px;background:transparent;border:none;cursor:pointer;color:var(--text);font:inherit;font-size:13.5px;border-radius:var(--r-ctl)}.more-item:hover{background:var(--hover)}#content{flex:1;overflow-y:auto;padding:44px 40px 110px;scroll-behavior:smooth;scrollbar-gutter:stable}@media(pointer:fine){#content::-webkit-scrollbar{width:10px}#content::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:5px}#content::-webkit-scrollbar-track{background:transparent}@supports not selector(::-webkit-scrollbar){#content{scrollbar-width:thin;scrollbar-color:var(--border-2) transparent}}}.page{width:100%;max-width:var(--page-app);margin-inline:auto;min-width:0}.page.read{max-width:var(--page-read)}.page.wide{max-width:var(--page-wide)}.empty{color:var(--text-faint);text-align:center;margin-top:var(--hero-top)}.empty-hint{display:block;margin-top:6px;font-size:12px;color:var(--text-faint)}.onboard{max-width:560px;margin:var(--hero-top) auto 0}.onboard h1{font-size:25px;font-weight:640;letter-spacing:-.02em;margin:0 0 8px;color:#f4f6f9}.onboard>p{color:var(--text-dim);margin:0 0 28px;font-size:14px}.ob-card{background:var(--bg-side);border:1px solid var(--border);border-radius:var(--r-card);padding:20px 22px;margin-bottom:14px}.ob-card h3{margin:0 0 6px;font-size:14.5px;font-weight:600}.ob-card p{margin:0 0 14px;font-size:13px;color:var(--text-dim)}.ob-card.ob-start{border-color:var(--border-2);box-shadow:inset 2px 0 0 var(--accent)}.ob-card.ob-start .pbtn{margin-top:2px}.ob-alt{margin:12px 0 0}.ob-alt a{color:var(--text-faint);font-size:12.5px;font-weight:600;text-decoration:none}.ob-alt a:hover{color:var(--text)}.pbtn{display:inline-flex;align-items:center;gap:6px;flex:none;height:32px;padding:0 14px;border-radius:var(--r-ctl);border:none;background:var(--accent);color:#241704;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;text-decoration:none}.pbtn:hover{background:var(--accent-bright)}.pbtn .ico{width:15px;height:15px}.danger-btn{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:var(--r-ctl);border:none;background:#b3382e;color:#fff;font-size:13px;font-weight:600;cursor:pointer}.danger-btn:hover{background:#c94336}[data-slot=input],[data-slot=textarea]{font:inherit;color:var(--text)}[data-slot=input][aria-invalid=true]:focus-visible,[data-slot=textarea][aria-invalid=true]:focus-visible{border-color:var(--del)}[data-slot=card],[data-slot=dropdown-menu-content]{border-color:var(--border)}.project-settings{display:flex;flex-direction:column;gap:14px}.project-settings>h2{font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 4px;color:#f4f6f9}.ps-form{display:flex;flex-direction:column;gap:18px}.ps-field{display:flex;flex-direction:column;gap:7px}.ps-field label{font-size:12.5px;color:var(--text-dim)}.ps-opt{color:var(--text-ghost);font-weight:400}.ps-icon-row{display:flex;align-items:center;gap:10px}.ps-icon-row .proj-mark{width:26px;height:26px;border-radius:7px}.ps-icon-row .proj-mark svg{width:15px;height:15px}.ps-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.ps-meta .field-err{flex:0 1 auto;margin:0}.ps-count{font-size:11.5px;color:var(--text-faint);font-variant-numeric:tabular-nums}.ps-actions{display:flex;justify-content:flex-end}.ps-icon-grid{display:grid;grid-template-columns:repeat(6,30px);gap:4px;padding:8px}.ps-icon-cell{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;border:1px solid transparent;background:none;color:var(--text-dim);cursor:pointer}.ps-icon-cell svg{width:16px;height:16px}.ps-icon-cell:hover{background:var(--hover);color:var(--text)}.ps-icon-cell.active{border-color:var(--accent);color:var(--accent-bright)}.ps-danger [data-slot=card-title]{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:#d2695e;font-weight:600}.ps-chip{margin-left:10px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-faint);font-size:11px;font-weight:600;letter-spacing:.02em;vertical-align:middle}.ps-people h4{font-size:12.5px;font-weight:600;color:var(--text-dim);margin:0}.ps-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--text-dim);margin:0 0 10px}.ps-people select{height:28px;padding:0 8px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:12.5px}.ps-people select:disabled{opacity:.6;cursor:default}.ps-note{color:var(--text-faint);font-size:12.5px;margin:0 0 12px;max-width:56ch;line-height:1.55}.ps-people-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 8px}.ps-danger p{color:var(--text-dim);font-size:13px;margin:0 0 14px;max-width:52ch;line-height:1.55}.ps-facts{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;margin:0;font-size:13px}.ps-facts dt{color:var(--text-faint)}.ps-facts dd{margin:0;color:var(--text-dim)}.admin h1{font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 6px;color:#f4f6f9}.admin h3{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);font-weight:600;margin:30px 0 10px}.admin-lbl{flex:1 1 100%;margin:0 0 6px;font-size:12.5px;font-weight:600;color:var(--text-dim)}.admin-sub{color:var(--text-dim);font-size:13.5px;margin:-2px 0 16px;line-height:1.55}.admin-h{display:flex;align-items:center;justify-content:space-between;margin:30px 0 10px}.admin-h h3{margin:0}.admin-row{display:flex;gap:9px;margin-bottom:8px}.admin-row input{flex:1;height:34px;padding:0 12px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:13px;outline:none}.admin-row input:focus{border-color:var(--accent);background:var(--hover)}.admin-list{border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden;background:var(--bg-side)}.admin-list.admin-card-table{overflow-x:auto;overflow-y:hidden}.admin-item{display:flex;align-items:center;gap:11px;padding:11px 14px;border-bottom:1px solid var(--border);font-size:13.5px}.modal-actions .ai-btn{height:32px}.empty a{color:var(--accent);text-decoration:none;display:inline-block;padding:6px 10px}.empty a:hover{text-decoration:underline}.empty h3{margin:0 0 8px;font-size:16px;color:var(--text)}.ai-copy{text-align:left;background:none;border:0;padding:6px 0;cursor:pointer}.ai-copy:hover{color:var(--text)}a.ai-main{color:var(--text-dim);text-decoration:none;padding:6px 0}a.ai-main:hover{color:var(--accent)}.th-sort{display:block;width:100%;text-align:left;background:none;border:0;padding:6px 10px;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.th-sort:hover{color:var(--text-dim)}.proj-trigger>[data-slot=select-value]{display:block;flex:1 1 auto;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-cell{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;justify-items:start}.admin-table td .role-static{text-align:left}.role-chip-row{margin:-6px 0 12px}.role-chip{margin-left:0;padding:2px 8px;border:1px solid var(--border-2);border-radius:99px;vertical-align:middle}.ext{margin-left:4px;color:var(--text-faint);font-size:11px}.admin-item:last-child{border-bottom:none}.admin-item:hover{background:var(--hover)}.field-err{flex:1 1 100%;margin:6px 0 0}.admin-row{flex-wrap:wrap}.admin-row input[aria-invalid=true]{border-color:var(--del)}.ai-main{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.admin-item>.ai-main{flex:1 1 55%;min-width:22ch}.admin-item>.ai-tag{flex:0 0 auto;min-width:0;max-width:45%}@media(max-width:1000px){.admin-item{flex-wrap:wrap}.admin-item>.ai-tag{flex:1 1 100%;max-width:100%}}.admin-table td .ai-main{min-width:0}.ai-main.mono{font:12px var(--mono);color:var(--text-dim);cursor:pointer}.ai-tag{font-size:11.5px;color:var(--text-faint);flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-item select{height:28px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:0 8px;font:inherit;font-size:12.5px;cursor:pointer}.admin-item select:hover{border-color:var(--border-2)}.ai-btn,.ai-del{flex:none;height:27px;padding:0 11px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font:inherit;font-size:12px;font-weight:500;cursor:pointer}.ai-del{color:var(--del);border-color:#f26d6d47}.ai-del:hover{background:#f26d6d1f;border-color:var(--del);color:#ff8b8b}.ai-btn:hover{background:var(--hover);color:var(--text);border-color:var(--border-2)}.admin-empty{padding:14px;color:var(--text-faint);font-size:13px}.admin-item.toggle{cursor:pointer;align-items:flex-start}.admin-item.toggle .ai-main{white-space:normal}.tg-label{font-size:13.5px;font-weight:550;color:var(--text)}.tg-desc{font-size:12px;color:var(--text-faint);margin-top:3px;line-height:1.5}.admin-item.toggle input{margin-top:2px;flex:none}.dl-title{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 4px;color:#f4f6f9}.dl-title-icon{display:flex;color:var(--accent)}.dl-title-icon .ico{width:20px;height:20px}.dl-sub{color:var(--text-faint);font-size:12.5px;margin:0 0 18px}.dl-items{border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden;background:var(--bg-side)}.dl-row{display:flex;align-items:center;gap:11px;padding:10px 14px;border-bottom:1px solid var(--border);cursor:pointer}.dl-row:last-child{border-bottom:none}.dl-row:hover{background:var(--hover)}.dl-row .ticon{flex:none;display:flex;color:var(--text-ghost)}.dl-row .ticon .ico{width:16px;height:16px}.dl-row:hover .ticon{color:var(--text-faint)}.dl-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;color:var(--text)}.dl-name,#crumb,.hpath,.hnote,.hrun-note,.hdev,.ai-main{unicode-bidi:isolate-override;direction:ltr}.dl-meta{flex:none;font-size:12px;color:var(--text-faint);font-variant-numeric:tabular-nums}.heatdot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--accent)}.heatdot.lvl1{opacity:.3}.heatdot.lvl2{opacity:.55}.heatdot.lvl3{opacity:.8}.heatdot.lvl4{opacity:1;box-shadow:0 0 6px #f5a6238c}.dl-empty{padding:24px 14px;color:var(--text-faint);font-size:13px;border:1px dashed var(--border);border-radius:var(--r-card);text-align:center}.dl-h3{margin:28px 0 8px;font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);font-weight:600}.dl-hlist{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);overflow:hidden;max-width:none}.dl-hlist .hentry:last-child{border-bottom:none}.hentry.clickable{cursor:pointer}.hentry.clickable:hover{background:var(--hover)}.dl-more{margin-top:10px}#vault-name.vault-link{cursor:pointer}#vault-name.vault-link:hover{color:var(--accent-bright)}#account-btn.active{background:var(--glow)}#account-btn.active .acct b{color:var(--accent-bright)}.gd-body{margin-top:18px}.gd-desc{margin:2px 0 8px;color:var(--text-faint);font-size:13px;line-height:1.5}.gd-list{margin:4px 0 8px;padding-left:18px;display:grid;gap:6px}.gd-code{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;margin:6px 0 10px;padding:10px 12px;background:var(--bg-raise);border:1px solid var(--border);border-radius:var(--r-card);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.6;color:var(--text)}.gd-code>code{display:block;min-width:0;overflow-x:auto;white-space:pre}.gd-copy{align-self:start;font:inherit;font-family:inherit;font-size:11px;font-weight:600;padding:3px 9px;border-radius:6px;border:1px solid var(--border-2);background:var(--bg-raise);color:var(--text-faint);cursor:pointer}.gd-copy:hover{color:var(--accent-bright);border-color:var(--accent-dim)}.gd-manual{margin:10px 0 0}.gd-manual>summary{display:inline-block;font-size:12.5px;font-weight:600;color:var(--text-faint);cursor:pointer;padding:4px 0}.gd-manual>summary:before{content:"▸ ";color:var(--text-ghost)}.gd-manual[open]>summary:before{content:"▾ "}.gd-manual>summary:hover{color:var(--text)}.home-insights{margin-top:30px;padding-top:22px;border-top:1px solid var(--border)}.in-title{font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 4px;color:#f4f6f9}.in-title .in-scope{color:var(--text-ghost);font-weight:500;font-size:15px}.gd-head{display:flex;align-items:center;gap:9px}.gd-head .proj-mark{width:22px;height:22px;border-radius:6px}.gd-head .proj-mark svg{width:13px;height:13px}.in-desc{color:var(--text-dim);font-size:13.5px;line-height:1.55;margin:0 0 10px;max-width:62ch}.in-blank{display:grid;justify-items:center;gap:10px;padding:40px 18px;margin-top:14px;max-width:760px}.in-blank p{margin:0;max-width:52ch;line-height:1.55}.in-blank p:first-child{color:var(--text);font-size:14.5px;font-weight:600}.in-blank .pbtn{margin-top:6px}.in-lens{display:flex;gap:6px;margin:0 0 14px}.in-lens-btn{font:inherit;font-size:12px;padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:none;color:var(--text-faint);cursor:pointer}.in-lens-btn:hover{color:var(--text)}.in-lens-btn.active{color:var(--accent);border-color:var(--accent)}.in-chart{width:100%;max-width:760px;height:auto;border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);margin-bottom:6px}.in-axis{stroke:var(--border);stroke-width:1}.in-threshold{stroke:var(--border);stroke-width:1;stroke-dasharray:4 4}.in-danger-zone{fill:#f26d6d0d}.in-label{fill:var(--text-ghost);font-size:11px}.in-quad{fill:var(--text-ghost);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em}.in-quad-danger{fill:#e07070}.in-pt{fill:var(--accent);opacity:.5;cursor:pointer}.in-pt:hover{opacity:1}.in-pt.cold{fill:var(--text-ghost);opacity:.25}.in-pt.danger{fill:#e05d5d;opacity:.6}.in-pt-label{fill:var(--text-faint);font-size:11px;pointer-events:none}.in-h3-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;max-width:760px}.in-cap{font-size:11.5px;color:var(--text-faint);font-weight:400;text-transform:none;letter-spacing:0}.in-treemap{background:#0c0d10}.in-tm-group{fill:none;stroke:var(--border);stroke-width:1;cursor:pointer;pointer-events:all}.in-tm-glabel{fill:var(--text-faint);font-size:10px;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}.in-tm-cell{cursor:pointer}.in-tm-cell:hover{stroke:#fff;stroke-width:1}.in-tm-label{fill:#0c0d10;font-size:10.5px;font-weight:620;cursor:pointer;pointer-events:none}.in-hotpath{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);overflow:hidden}.in-hp-row{display:flex;align-items:center;gap:10px;padding:6px 12px;border-bottom:1px solid var(--border);cursor:pointer}.in-hp-row:last-child{border-bottom:none}.in-hp-row:hover{background:var(--hover)}.in-hp-name{flex:0 0 300px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--text)}.in-hp-name.danger{color:var(--accent)}.in-hp-bar{flex:1;display:flex;height:10px;border-radius:3px;overflow:hidden}.in-hp-agent{background:var(--accent)}.in-hp-human{background:#5b8def}.in-hp-share{background:#b478e8}.in-hp-gone{flex:none;font-size:11.5px;color:var(--text-ghost);white-space:nowrap}.in-hp-count{flex:none;width:40px;text-align:right;font-size:11.5px;color:var(--text-faint);font-variant-numeric:tabular-nums}.in-legend{margin:8px 2px 0;font-size:11.5px;color:var(--text-faint)}.in-sw{display:inline-block;width:10px;height:10px;border-radius:2px;vertical-align:-1px}.in-sw.agent{background:var(--accent)}.in-sw.human{background:#5b8def}.in-sw.share{background:#b478e8}.in-sw-age{width:84px;margin:0 5px}.in-sw-flat{filter:grayscale(1);opacity:.45}.in-tm-range{margin-left:14px;color:var(--text-ghost)}.in-matrix rect{transition:opacity .1s}.in-matrix rect:hover{opacity:.85}.hfilters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0 0 12px;border-bottom:1px solid var(--border);margin-bottom:4px}.hf-search{position:relative;display:flex;align-items:center;flex:1 1 200px;min-width:160px}.hf-search .ico{position:absolute;left:9px;width:14px;height:14px;color:var(--text-ghost);pointer-events:none}.hf-search input{height:30px;padding-left:29px;font-size:12.5px;border-radius:var(--r-ctl);background:var(--surface)}.hf-search input::-webkit-search-cancel-button{filter:invert(.6)}.hf-user{height:30px;max-width:190px;padding:0 8px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:12.5px;cursor:pointer}.hf-dates{display:flex;align-items:center;gap:6px}.hf-lbl{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-ghost)}.hf-date{width:140px;height:30px;font-size:12.5px;border-radius:var(--r-ctl);background:var(--surface)}.hf-date::-webkit-calendar-picker-indicator{filter:invert(.6);cursor:pointer}.hf-dash{color:var(--text-ghost)}.hf-clear{height:30px;padding:0 10px;border:none;border-radius:var(--r-ctl);background:none;color:var(--text-dim);font:inherit;font-size:12.5px;cursor:pointer}.hf-clear:hover{color:var(--text);background:var(--hover)}.hf-clear-empty{margin-top:12px}.hentry{padding:11px 12px;border-bottom:1px solid var(--border);--hindent: 72px}.hentry:hover{background:#ffffff04}.hline{display:flex;gap:10px;align-items:center}.hkind{flex:none;width:62px;white-space:nowrap;text-align:center;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;padding:2px 6px;border-radius:4px;color:var(--add);background:#4cc38a1f}.hentry.edit .hkind{color:var(--accent-bright);background:var(--glow)}.hentry.delete .hkind{color:#ff8b8b;background:#f26d6d1f}.hpath{font-weight:500;cursor:pointer;color:var(--text);font-size:13px}.hpath:hover{color:var(--accent-bright)}.htime{margin-left:auto;color:var(--text-faint);font-size:12px;font-variant-numeric:tabular-nums}.hmore{display:flex;margin:14px auto}.hmore:disabled{opacity:.6;cursor:default}.hmeta{display:flex;align-items:center;gap:14px;margin-top:4px;padding-left:var(--hindent);font-size:12px;color:var(--text-dim)}.hdev,.hsize{color:var(--text-faint)}.hsize{font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.hnote{margin-top:4px;padding-left:var(--hindent);font-size:12px;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.hnote:hover{color:var(--text)}.hnote.open{white-space:normal;overflow-wrap:anywhere}.hnote:before{content:"›";display:inline-block;margin-right:5px;color:var(--text-ghost);transition:transform .12s}.hnote.open:before{transform:rotate(90deg)}.hnote a{color:var(--accent-bright);text-decoration:none}.hnote a:hover{text-decoration:underline}.hrun{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);margin:10px 0;overflow:hidden}.hrun-head{display:flex;align-items:center;gap:9px;width:100%;padding:9px 12px;color:var(--text);font-size:12.5px}.hrun-toggle{display:flex;flex:none;padding:2px;border:none;border-radius:4px;background:none;color:var(--text-faint);cursor:pointer}.hrun-toggle:hover{color:var(--text);background:var(--hover)}.hrun-toggle .ico{width:13px;height:13px}.hrun-note{font-weight:560;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:46%}.hrun-note a{color:var(--accent-bright);text-decoration:none}.hrun-note a:hover{text-decoration:underline}.hrun-meta{color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hrun-time{margin-left:auto;flex:none;color:var(--text-faint);font-variant-numeric:tabular-nums}.hrun-body{border-top:1px solid var(--border)}.hrun-body .hentry:last-child{border-bottom:none}.hread{flex:none;padding:2px 6px;border-radius:4px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--text-dim);background:var(--hover)}.hrun-reads{border-top:1px solid var(--border);padding:4px 0 6px}.hrun-reads-head{padding:6px 14px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.hrun-read{display:flex;gap:10px;align-items:center;width:100%;padding:5px 14px;border:none;background:none;font:inherit;text-align:left;cursor:pointer}.hrun-read:hover{background:#ffffff04}.hrun-read .hkind{color:var(--text-dim);background:var(--hover)}.hrun-foot{padding:8px 14px 10px;border-top:1px solid var(--border);font-size:11.5px;color:var(--text-faint)}.hrestore-btn,.hremove-btn{display:inline-flex;align-items:center;gap:4px;margin-left:auto;padding:2px 8px 2px 5px;border:1px solid var(--border);border-radius:5px;background:none;color:var(--text-faint);font:inherit;font-size:12px;cursor:pointer}.hrestore-btn:hover{color:var(--accent-bright);border-color:var(--border-2);background:var(--hover)}.hremove-btn:hover{color:var(--del);border-color:#f26d6d61;background:var(--hover)}.hrestore-btn:disabled,.hremove-btn:disabled{opacity:.5;cursor:default}.hrestore-btn .ico,.hremove-btn .ico{width:12px;height:12px}.hactions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 0 23px}.hdiff-btn,.hver-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 7px 2px 4px;border:1px solid var(--border);border-radius:5px;background:none;color:var(--text-faint);font:inherit;font-size:12px;cursor:pointer;text-decoration:none}.hdiff-btn:hover,.hver-btn:hover{color:var(--text);border-color:var(--border-2);background:var(--hover)}.hdiff-btn .ico,.hver-btn .ico{width:12px;height:12px}.hdiff-none{flex-basis:100%;font-size:12px;color:var(--text-ghost)}.dv{margin:8px 0 2px 23px;border:1px solid var(--border);border-radius:6px;overflow:hidden}.dv-msg{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:9px 11px;font-size:12px;color:var(--text-faint)}.dv-dl{display:flex;gap:12px}.dv-msg a{color:var(--accent-bright);text-decoration:none}.dv-msg a:hover{text-decoration:underline}.dv-head{display:flex;align-items:center;gap:10px;padding:5px 11px;border-bottom:1px solid var(--border);font-size:11px;font-variant-numeric:tabular-nums}.dv-add{color:var(--add);font-weight:600}.dv-del{color:var(--del);font-weight:600}.dv-same{color:var(--text-ghost)}.dv-body{overflow-x:auto;padding:4px 0}.dv-line{display:flex;font-family:var(--mono);font-size:12px;line-height:1.55;white-space:pre}.dv-n{flex:none;width:34px;padding-right:8px;text-align:right;color:var(--text-ghost);-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums}.dv-mark{flex:none;width:16px;text-align:center;-webkit-user-select:none;user-select:none}.dv-text{padding-right:12px}.dv-ins{background:#4cc38a1a;color:var(--add)}.dv-rm{background:#f26d6d1a;color:#ff8b8b}.dv-ctx{color:var(--text-dim)}#palette{position:fixed;top:12vh;left:50%;transform:translate(-50%);z-index:151;display:block;width:min(560px,92vw);background:var(--bg-raise);border:1px solid var(--border-2);border-radius:var(--r-over);box-shadow:0 24px 70px -18px #000c;overflow:hidden;outline:none;padding:0}#palette-inputwrap{display:flex;align-items:center;gap:11px;padding:14px 16px;border-bottom:1px solid var(--border)}#palette-inputwrap [data-slot=command-input-wrapper]{flex:1;display:flex;border-bottom:0;padding:0;height:auto}#palette-inputwrap [data-slot=command-input-wrapper]>svg:not(.ico){display:none}#palette input,#palette input:focus{flex:1;width:100%;border:none;background:transparent;box-shadow:none;color:var(--text);font:inherit;font-size:15px;letter-spacing:-.01em;outline:none;padding:0}#palette input::placeholder{color:var(--text-ghost)}#palette-inputwrap .ico{width:17px;height:17px;color:var(--text-faint)}#palette [cmdk-list]{list-style:none;margin:0;padding:8px;max-height:46vh;overflow-y:auto}#palette [cmdk-item]{display:flex;align-items:center;gap:11px;height:38px;padding:0 10px;border-radius:9px;cursor:pointer;color:var(--text-dim);font-size:13.5px}#palette [cmdk-item][data-selected=true]{background:var(--glow)}#palette [cmdk-item][data-selected=true] .picon{color:var(--accent)}#palette [cmdk-item][data-selected=true] .plabel,#palette [cmdk-item][data-selected=true] .plabel b{color:var(--accent-bright)}#palette [cmdk-item] .picon{width:18px;flex:none;display:flex;justify-content:center;color:var(--text-faint)}#palette [cmdk-item] .picon .ico{width:15px;height:15px}#palette [cmdk-item] .plabel{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}#palette [cmdk-item] .plabel b{color:var(--accent-bright);font-weight:600}#palette [cmdk-item] .pkind{flex:none;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-ghost)}#palette [cmdk-list] .pempty{color:var(--text-faint);cursor:default;justify-content:center;height:auto;padding:14px}#palette-hint{padding:9px 16px;border-top:1px solid var(--border);font-size:11px;color:var(--text-ghost)}[data-slot=dialog-overlay]{position:fixed;inset:0;background:#06070999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:150}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:151;display:block;background:var(--bg-raise);border:1px solid var(--border-2);border-radius:var(--r-over);padding:22px 24px;width:min(460px,calc(100vw - 40px));box-shadow:0 24px 70px -18px #000c;outline:none}.modal h3{margin:0 0 10px;font-size:16px;font-weight:620;letter-spacing:-.01em}.modal p{margin:0 0 16px;font-size:13.5px;color:var(--text-dim);line-height:1.55}.modal p b{color:var(--text)}.modal-url{font:12px var(--mono);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-ctl);padding:9px 11px;color:var(--text-dim);word-break:break-all;margin-bottom:16px}.modal-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.modal-expiry{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-size:12.5px;color:var(--text-dim)}.modal-expiry select{height:28px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:0 8px;font:inherit;font-size:12.5px;cursor:pointer}.modal-expiry select:disabled{opacity:.6;cursor:default}.modal-expiry-note{margin-left:auto;color:var(--text-dim)}.modal-label{display:block;font-size:12.5px;color:var(--text-dim);margin:0 0 6px}.modal-msg{margin:0 0 16px;font-size:13.5px;color:var(--text-dim);line-height:1.55}.modal-input{width:100%;height:36px;padding:0 12px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:14px;margin-bottom:16px;outline:none}.modal-input:focus{border-color:var(--accent);background:var(--hover)}.start-points{border:0;margin:0 0 18px;padding:0}.start-points legend{padding:0}.start-point{display:flex;align-items:flex-start;gap:10px;padding:9px 11px;border:1px solid var(--border);border-radius:var(--r-ctl);background:var(--surface);cursor:pointer;margin-bottom:6px}.start-point:hover{background:var(--hover)}.start-point.on{border-color:var(--accent);background:var(--hover)}.start-point input{accent-color:var(--accent);margin:2px 0 0;flex:none}.sp-text{display:flex;flex-direction:column;gap:2px;min-width:0}.sp-title{font-size:13.5px;color:var(--text);display:flex;align-items:center;gap:8px}.sp-rec{font-size:10.5px;letter-spacing:.02em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:0 6px;line-height:15px}.sp-blurb{font-size:12px;color:var(--text-dim);overflow-wrap:anywhere}.start-point.sp-rule{margin-top:16px}.modal{max-height:calc(100vh - 32px);overflow-y:auto}.gd-note{margin:-4px 0 16px;font-size:13px;color:var(--text-dim);border-left:2px solid var(--accent);padding-left:11px;line-height:1.55}[data-sonner-toast]{background:var(--bg-raise)!important;color:var(--text)!important;border:1px solid var(--border-2)!important;border-radius:10px!important;font-size:13.5px!important;box-shadow:0 18px 44px -12px #000000b3!important}[data-sonner-toast][data-type=error]{border-color:#f26d6d80!important;color:#ffb0aa!important}#sb-backdrop{display:none}@media(max-width:900px){#sidebar{position:fixed;z-index:60;top:0;left:0;height:100%;transform:translate(-100%);transition:transform .2s ease;box-shadow:0 0 40px #0009}body.sb-open #sidebar{transform:translate(0)}body.sb-open #sb-backdrop{display:block;position:fixed;inset:0;background:#0000008c;z-index:50}.icon-btn,#search-btn{display:inline-flex;width:44px;height:44px}#content{padding:24px 18px 70px}#topbar{padding:0 8px;gap:4px}.btn .lbl{display:none}#topbar .btn{min-width:44px;min-height:44px;padding:0;justify-content:center;gap:0}#topbar .btn .ico{width:18px;height:18px}#more-btn:not([hidden]){display:inline-flex}#history-btn,#upload-btn,#download{display:none!important}#topbar{flex-wrap:wrap;height:auto;min-height:52px}#meta{order:1;flex:1 1 100%;text-align:left;white-space:normal;overflow:visible;padding:0 0 8px}#meta:empty{display:none}#crumb{flex:1}#vault{padding:0 8px 0 12px}.icon-btn2,#signout,#tree .row,#projects .row{height:44px}#account-btn,#project-select{min-height:44px}.nav-add{min-width:44px;min-height:44px}.markdown table,pre.plain{display:block;overflow-x:auto;max-width:100%}.admin-item{flex-wrap:wrap;row-gap:8px;padding:12px 14px}.admin-item select,.hf-search input,.hf-user,.hf-date,.hf-clear{height:44px}.hf-dates{flex:1 1 100%}.hf-date{flex:1;width:auto;min-width:0}.hrun-head{flex-wrap:wrap;row-gap:4px}.hrun-note{max-width:none;white-space:normal;overflow:visible}.hrun-meta{order:1;flex:1 1 100%;white-space:normal;overflow:visible}.ai-btn,.ai-del{height:auto;min-height:44px;padding:0 12px}.admin-table thead{display:none}.admin-table,.admin-table tbody,.admin-table td{display:block;width:auto}.admin-table tr.admin-item{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.admin-table tr.admin-item td{padding:0;border-bottom:none}.admin-table tr.admin-item td:first-child{flex:1 1 100%;width:auto}.admin-table tr.admin-item td:last-child{width:auto;text-align:left}[data-slot=dropdown-menu-item]{min-height:44px}#projects{flex:0 1 auto;max-height:none}.admin-row{flex-wrap:wrap}.admin-row input{flex:1 1 100%;min-height:44px}.admin-row button{flex:0 0 auto;align-self:flex-start;min-height:44px}.admin-item .ai-main{flex:1 1 100%;white-space:normal;overflow-wrap:anywhere}.admin-table td{white-space:normal}.admin-table td .ai-main,.admin-table td a.ai-main,.admin-table td .ai-copy,.admin-table td .ai-tag{white-space:normal;overflow-wrap:anywhere}.admin-item .ai-tag{flex:1 1 100%;max-width:100%;white-space:normal;overflow-wrap:anywhere}.ai-copy{min-height:44px;display:block;padding:12px 0;white-space:normal;overflow-wrap:anywhere;text-overflow:clip}a.ai-main{min-height:44px;display:flex;align-items:center}.gd-code{min-height:62px;padding-top:12px;padding-bottom:12px}.gd-copy{min-height:44px;padding:0 14px}.gd-tab{min-height:44px}.in-lens-btn{min-height:44px;padding:0 14px}.modal-input{height:44px}.modal-actions button{height:auto;min-height:44px}.modal-expiry select{height:44px}.pbtn,#palette [cmdk-item]{height:auto;min-height:44px}.more-item{min-height:44px}}.modal-actions .ai-del{margin-right:auto}@media(max-width:430px){.dl-row{flex-wrap:wrap;row-gap:2px}.dl-meta{flex:1 1 100%;padding-left:27px}.ai-tag{font-size:11px}.htime{white-space:nowrap;font-size:12px}.hline{flex-wrap:wrap}.hentry{--hindent: 0px}.modal-actions .ai-del{flex:0 0 100%;justify-content:center;text-align:center}}.markdown h1,.markdown h2,.markdown h3,.markdown h4{color:#f4f6f9;line-height:1.25;letter-spacing:-.018em;margin:1.5em 0 .5em;text-wrap:balance}.markdown h1:first-child{margin-top:0}.markdown h1{font-size:1.85em;font-weight:660;letter-spacing:-.024em}.markdown h2{font-size:1.32em;font-weight:620;margin-top:1.7em}.markdown h3{font-size:1.08em;font-weight:620}.markdown p,.markdown li{color:#c6cbd3;font-size:14.5px;line-height:1.72}.markdown p{margin:0 0 1em}.markdown strong{color:var(--text);font-weight:620}.markdown a{color:var(--accent-bright);text-decoration:none;border-bottom:1px solid rgba(245,166,35,.28)}.markdown a:hover{border-bottom-color:var(--accent)}.markdown ul,.markdown ol{margin:0 0 1em;padding-left:1.4em}.markdown li{margin-bottom:.4em}.markdown li::marker{color:var(--text-ghost)}.markdown code{background:var(--hover);border:1px solid var(--border);padding:.1em .4em;border-radius:5px;font:12.5px/1.5 var(--mono);color:#e4d9c4}.markdown pre{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--r-card);padding:14px 16px;overflow-x:auto;margin:1.3em 0}.markdown pre code{background:none;border:none;padding:0;color:#c6cbd3}.markdown blockquote{margin:1.3em 0;padding:.3em 1em;border-left:2px solid var(--accent);background:linear-gradient(90deg,var(--glow),transparent);border-radius:0 8px 8px 0;color:#d8cdb6}.markdown blockquote p{margin:.3em 0;color:#d8cdb6}.markdown table{border-collapse:collapse;margin:1.3em 0;font-size:13.5px}.markdown th,.markdown td{border-bottom:1px solid var(--border);padding:9px 13px;text-align:left}.markdown th{color:var(--text-faint);font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;border-bottom-color:var(--border-2)}.markdown tr:hover td{background:#ffffff05}.markdown img{max-width:100%;border-radius:8px;border:1px solid var(--border)}.markdown hr{border:none;border-top:1px solid var(--border);margin:2.2em 0}.markdown .mermaid-diagram{margin:1.3em 0;overflow-x:auto}.markdown .mermaid-diagram svg{max-width:100%;height:auto}.markdown .mermaid-err{margin:-.9em 0 1.3em;font-size:12px;color:var(--text-faint)}.markdown table.frontmatter{margin:0 0 1.8em;font-size:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;border-collapse:separate;border-spacing:0}.markdown table.frontmatter th{text-transform:none;letter-spacing:0;font-size:11.5px;color:var(--text-faint);font-weight:600;text-align:left;white-space:nowrap;vertical-align:top;padding:6px 14px 6px 12px;border-bottom:1px solid var(--border)}.markdown table.frontmatter td{color:var(--text-dim);padding:6px 12px 6px 0;border-bottom:1px solid var(--border)}.markdown table.frontmatter tr:last-child th,.markdown table.frontmatter tr:last-child td{border-bottom:none}.markdown table.frontmatter code{white-space:pre-wrap;font-size:11px}.markdown .admin input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.admin input[aria-invalid=true]:focus-visible{outline-color:var(--del)}[role=dialog] input[aria-invalid=true]{border-color:var(--del)}[role=dialog] input[aria-invalid=true]:focus-visible{outline-color:var(--del)}button:disabled,.btn:disabled{cursor:default}input[type=checkbox]{accent-color:var(--accent)}.htmlview,.pdfview{display:block;width:100%;height:calc(100vh - 150px);border:1px solid var(--border);border-radius:var(--r-card);background:#fff}.notfound{margin-top:var(--hero-top);text-align:center;color:var(--text-dim)}.notfound h1{color:var(--text);font-size:1.4em;margin-bottom:.5em}.notfound code{background:var(--hover);border:1px solid var(--border);padding:.15em .5em;border-radius:6px}.notfound .nf-sub{max-width:440px;margin:12px auto 20px;font-size:13px;color:var(--text-faint);line-height:1.6}.vbanner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 22px;padding:11px 14px;border:1px solid var(--accent-dim);border-radius:var(--r-card);background:var(--glow)}.vbanner .vb-icon{flex:none;display:flex;color:var(--accent-bright)}.vbanner .vb-text{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:12.5px;line-height:1.45}.vbanner .vb-text b{color:var(--accent-bright);font-weight:600}.vbanner .vb-text span{color:var(--text-dim)}.vbanner .vb-actions{flex:none;display:flex;gap:8px}.vbanner .vb-actions .ai-btn{display:inline-flex;align-items:center;text-decoration:none}pre.plain{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--r-card);padding:14px 16px;overflow-x:auto;font:12.5px/1.6 var(--mono);color:#c6cbd3;white-space:pre-wrap;overflow-wrap:anywhere}.csvbox{overflow-x:auto;width:fit-content;max-width:100%;border:1px solid var(--border);border-radius:var(--r-card);background:var(--code-bg)}.csvbox .csvview{display:table;max-width:none;overflow:visible;margin:0;border-collapse:collapse;font:12.5px/1.5 var(--mono);font-variant-numeric:tabular-nums}.csvbox .csvview th,.csvbox .csvview td{border-bottom:1px solid var(--border);padding:8px 14px;text-align:left;white-space:pre;vertical-align:top;color:#c6cbd3;font-size:12.5px}.csvbox .csvview th{background:var(--surface);color:var(--text-faint);font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;border-bottom-color:var(--border-2)}.csvbox .csvview tr:last-child td{border-bottom:none}.csvbox .csvview tbody tr:hover td{background:#ffffff05}.csvnote{color:var(--text-faint);font-size:12px;margin:10px 2px 0}.filecard{margin-top:var(--hero-top);text-align:center;color:var(--text-dim)}.filecard .name{font-size:1.2em;color:var(--text);margin-bottom:.3em}.filecard .btn{margin-top:14px} diff --git a/internal/webapp/static/index.html b/internal/webapp/static/index.html index 19c0aed..f5b3653 100644 --- a/internal/webapp/static/index.html +++ b/internal/webapp/static/index.html @@ -5,10 +5,10 @@ BearDrive - + - +