ponzu 1.68.1 → 1.68.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js
CHANGED
|
@@ -46863,7 +46863,7 @@ function remoteUpdater(endpoint, token) {
|
|
|
46863
46863
|
// apps/cli/package.json
|
|
46864
46864
|
var package_default = {
|
|
46865
46865
|
name: "ponzu",
|
|
46866
|
-
version: "1.68.
|
|
46866
|
+
version: "1.68.3",
|
|
46867
46867
|
description: "The open source canvas your agent draws on in HTML and CSS.",
|
|
46868
46868
|
type: "module",
|
|
46869
46869
|
license: "MIT",
|
package/package.json
CHANGED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
2
|
+
@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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-tracking:initial;--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-ease: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}}}:root,:host{--pz-color-black:#000;--pz-color-white:#fff;--pz-spacing:.25rem;--pz-font-weight-medium:500;--pz-font-weight-semibold:600;--pz-radius-md:.375rem;--pz-radius-lg:.5rem;--pz-radius-xl:.75rem;--pz-default-transition-duration:.15s;--pz-default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}.pz\:pointer-events-auto{pointer-events:auto}.pz\:pointer-events-none{pointer-events:none}.pz\:absolute{position:absolute}.pz\:fixed{position:fixed}.pz\:relative{position:relative}.pz\:inset-0{inset:0}.pz\:inset-x-2\.5{inset-inline:calc(var(--pz-spacing) * 2.5)}.pz\:-top-3{top:calc(var(--pz-spacing) * -3)}.pz\:top-0{top:0}.pz\:top-1\.5{top:calc(var(--pz-spacing) * 1.5)}.pz\:top-\[-22px\]{top:-22px}.pz\:right-0{right:0}.pz\:right-1\.5{right:calc(var(--pz-spacing) * 1.5)}.pz\:bottom-0{bottom:0}.pz\:bottom-2\.5{bottom:calc(var(--pz-spacing) * 2.5)}.pz\:left-0{left:0}.pz\:left-1\/2{left:50%}.pz\:left-5{left:calc(var(--pz-spacing) * 5)}.pz\:z-10{z-index:10}.pz\:z-50{z-index:50}.pz\:z-\[1\]{z-index:1}.pz\:z-\[2\]{z-index:2}.pz\:z-\[3\]{z-index:3}.pz\:z-\[2147483647\]{z-index:2147483647}.pz\:mx-1\.5{margin-inline:calc(var(--pz-spacing) * 1.5)}.pz\:mr-auto{margin-right:auto}.pz\:ml-auto{margin-left:auto}.pz\:flex{display:flex}.pz\:grid{display:grid}.pz\:inline-flex{display:inline-flex}.pz\:inline-grid{display:inline-grid}.pz\:field-sizing-content{field-sizing:content}.pz\:size-0{width:0;height:0}.pz\:size-6{width:calc(var(--pz-spacing) * 6);height:calc(var(--pz-spacing) * 6)}.pz\:size-7{width:calc(var(--pz-spacing) * 7);height:calc(var(--pz-spacing) * 7)}.pz\:size-\[2px\]{width:2px;height:2px}.pz\:size-\[26px\]{width:26px;height:26px}.pz\:h-0{height:0}.pz\:h-4{height:calc(var(--pz-spacing) * 4)}.pz\:h-6{height:calc(var(--pz-spacing) * 6)}.pz\:h-7{height:calc(var(--pz-spacing) * 7)}.pz\:h-\[26px\]{height:26px}.pz\:h-\[30px\]{height:30px}.pz\:max-h-40{max-height:calc(var(--pz-spacing) * 40)}.pz\:max-h-60{max-height:calc(var(--pz-spacing) * 60)}.pz\:max-h-80{max-height:calc(var(--pz-spacing) * 80)}.pz\:min-h-0{min-height:0}.pz\:min-h-7{min-height:calc(var(--pz-spacing) * 7)}.pz\:w-\[9em\]{width:9em}.pz\:w-\[30px\]{width:30px}.pz\:w-\[300px\]{width:300px}.pz\:w-full{width:100%}.pz\:w-px{width:1px}.pz\:max-w-full{max-width:100%}.pz\:min-w-0{min-width:0}.pz\:min-w-4{min-width:calc(var(--pz-spacing) * 4)}.pz\:min-w-9{min-width:calc(var(--pz-spacing) * 9)}.pz\:min-w-40{min-width:calc(var(--pz-spacing) * 40)}.pz\:flex-1{flex:1}.pz\:shrink{flex-shrink:1}.pz\:shrink-0{flex-shrink:0}.pz\:origin-top-left{transform-origin:0 0}.pz\:-translate-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.pz\:scale-112{--tw-scale-x:112%;--tw-scale-y:112%;--tw-scale-z:112%;scale:var(--tw-scale-x) var(--tw-scale-y)}.pz\:cursor-crosshair{cursor:crosshair}.pz\:cursor-default{cursor:default}.pz\:cursor-grab{cursor:grab}.pz\:cursor-grabbing{cursor:grabbing}.pz\:cursor-pointer{cursor:pointer}.pz\:touch-none{touch-action:none}.pz\:resize-none{resize:none}.pz\:\[scrollbar-width\:none\]{scrollbar-width:none}.pz\:flex-col{flex-direction:column}.pz\:place-items-center{place-items:center}.pz\:items-center{align-items:center}.pz\:items-end{align-items:flex-end}.pz\:justify-between{justify-content:space-between}.pz\:justify-center{justify-content:center}.pz\:justify-end{justify-content:flex-end}.pz\:gap-0\.5{gap:calc(var(--pz-spacing) * .5)}.pz\:gap-1{gap:var(--pz-spacing)}.pz\:gap-1\.5{gap:calc(var(--pz-spacing) * 1.5)}.pz\:gap-2{gap:calc(var(--pz-spacing) * 2)}.pz\:gap-2\.5{gap:calc(var(--pz-spacing) * 2.5)}.pz\:gap-3{gap:calc(var(--pz-spacing) * 3)}.pz\:gap-\[0\.5em\]{gap:.5em}.pz\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pz\:overflow-hidden{overflow:hidden}.pz\:overflow-scroll{overflow:scroll}.pz\:overflow-visible{overflow:visible}.pz\:overflow-x-auto{overflow-x:auto}.pz\:overflow-y-auto{overflow-y:auto}.pz\:overscroll-contain{overscroll-behavior:contain}.pz\:overscroll-none{overscroll-behavior:none}.pz\:scroll-smooth{scroll-behavior:smooth}.pz\:rounded{border-radius:.25rem}.pz\:rounded-\[3px\]{border-radius:3px}.pz\:rounded-\[7px\]{border-radius:7px}.pz\:rounded-\[9px\]{border-radius:9px}.pz\:rounded-\[10px\]{border-radius:10px}.pz\:rounded-full{border-radius:2147483647px}.pz\:rounded-lg{border-radius:var(--pz-radius-lg)}.pz\:rounded-md{border-radius:var(--pz-radius-md)}.pz\:rounded-xl{border-radius:var(--pz-radius-xl)}.pz\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.pz\:bg-\[\#1c1c1b\]{background-color:#1c1c1b}.pz\:bg-bar{background-color:var(--pz-bar)}.pz\:bg-card{background-color:var(--pz-surface)}.pz\:bg-comment{background-color:var(--pz-comment)}.pz\:bg-comment-soft{background-color:var(--pz-comment-soft)}.pz\:bg-foreground\/10{background-color:var(--pz-ink)}@supports (color:color-mix(in lab, red, red)){.pz\:bg-foreground\/10{background-color:color-mix(in oklab, var(--pz-ink) 10%, transparent)}}.pz\:bg-muted{background-color:var(--pz-chip)}.pz\:bg-primary{background-color:var(--pz-ink)}.pz\:bg-raised{background-color:var(--pz-raised)}.pz\:bg-select\/8{background-color:var(--pz-select)}@supports (color:color-mix(in lab, red, red)){.pz\:bg-select\/8{background-color:color-mix(in oklab, var(--pz-select) 8%, transparent)}}.pz\:bg-transparent{background-color:#0000}.pz\:bg-white\/15{background-color:var(--pz-color-white)}@supports (color:color-mix(in lab, red, red)){.pz\:bg-white\/15{background-color:color-mix(in oklab, var(--pz-color-white) 15%, transparent)}}.pz\:\[mask-image\:linear-gradient\(transparent_24px\,\#000_44px\)\]{-webkit-mask-image:linear-gradient(#0000 24px,#000 44px);mask-image:linear-gradient(#0000 24px,#000 44px)}.pz\:p-0{padding:0}.pz\:p-0\.5{padding:calc(var(--pz-spacing) * .5)}.pz\:p-1{padding:var(--pz-spacing)}.pz\:px-0\.5{padding-inline:calc(var(--pz-spacing) * .5)}.pz\:px-1{padding-inline:var(--pz-spacing)}.pz\:px-1\.5{padding-inline:calc(var(--pz-spacing) * 1.5)}.pz\:px-2{padding-inline:calc(var(--pz-spacing) * 2)}.pz\:px-2\.5{padding-inline:calc(var(--pz-spacing) * 2.5)}.pz\:px-\[0\.3em\]{padding-inline:.3em}.pz\:py-1{padding-block:var(--pz-spacing)}.pz\:py-1\.5{padding-block:calc(var(--pz-spacing) * 1.5)}.pz\:py-2{padding-block:calc(var(--pz-spacing) * 2)}.pz\:pt-1\.5{padding-top:calc(var(--pz-spacing) * 1.5)}.pz\:pr-1\.5{padding-right:calc(var(--pz-spacing) * 1.5)}.pz\:pr-2{padding-right:calc(var(--pz-spacing) * 2)}.pz\:pr-14{padding-right:calc(var(--pz-spacing) * 14)}.pz\:pb-2\.5{padding-bottom:calc(var(--pz-spacing) * 2.5)}.pz\:pl-3\.5{padding-left:calc(var(--pz-spacing) * 3.5)}.pz\:pl-\[9px\]{padding-left:9px}.pz\:text-center{text-align:center}.pz\:\[font-family\:inherit\]{font-family:inherit}.pz\:text-\[11\.5px\]{font-size:11.5px}.pz\:text-\[11px\]{font-size:11px}.pz\:text-\[12px\]{font-size:12px}.pz\:text-\[13\.5px\]{font-size:13.5px}.pz\:leading-4{--tw-leading:calc(var(--pz-spacing) * 4);line-height:calc(var(--pz-spacing) * 4)}.pz\:leading-\[1\.4\]{--tw-leading:1.4;line-height:1.4}.pz\:leading-\[1\.55\]{--tw-leading:1.55;line-height:1.55}.pz\:font-medium{--tw-font-weight:var(--pz-font-weight-medium);font-weight:var(--pz-font-weight-medium)}.pz\:font-semibold{--tw-font-weight:var(--pz-font-weight-semibold);font-weight:var(--pz-font-weight-semibold)}.pz\:\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.pz\:whitespace-nowrap{white-space:nowrap}.pz\:whitespace-pre-wrap{white-space:pre-wrap}.pz\:text-\[var\(--pz-rind\)\]{color:var(--pz-rind)}.pz\:text-comment-foreground{color:var(--pz-comment-ink)}.pz\:text-danger{color:var(--pz-danger)}.pz\:text-foreground{color:var(--pz-ink)}.pz\:text-muted-foreground{color:var(--pz-muted)}.pz\:text-primary-foreground{color:var(--pz-canvas)}.pz\:text-select{color:var(--pz-select)}.pz\:text-white,.pz\:text-white\/85{color:var(--pz-color-white)}@supports (color:color-mix(in lab, red, red)){.pz\:text-white\/85{color:color-mix(in oklab, var(--pz-color-white) 85%, transparent)}}.pz\:tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.pz\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.pz\:opacity-0{opacity:0}.pz\:opacity-\[0\.01\]{opacity:.01}.pz\:shadow-\[0_0_0_0\.5px_rgba\(255\,255\,255\,0\.1\)\,0_4px_14px_rgba\(0\,0\,0\,0\.18\)\]{--tw-shadow:0 0 0 .5px var(--tw-shadow-color,#ffffff1a), 0 4px 14px var(--tw-shadow-color,#0000002e);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.pz\:shadow-\[0_0_0_1px_rgba\(17\,17\,16\,0\.18\)\,0_1px_3px_rgba\(0\,0\,0\,0\.25\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#1111102e), 0 1px 3px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.pz\:shadow-\[0_0_0_1px_rgba\(17\,17\,16\,0\.18\)\,0_4px_12px_rgba\(0\,0\,0\,0\.25\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#1111102e), 0 4px 12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.pz\:shadow-bar{--tw-shadow:var(--pz-bar-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.pz\:shadow-board{--tw-shadow:var(--pz-board-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.pz\:shadow-pop{--tw-shadow:var(--pz-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.pz\:shadow-raised{--tw-shadow:var(--pz-raised-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.pz\:ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + 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)}.pz\:ring-\[1\.5px\]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1.5px + 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)}.pz\:ring-black\/5{--tw-ring-color:var(--pz-color-black)}@supports (color:color-mix(in lab, red, red)){.pz\:ring-black\/5{--tw-ring-color:color-mix(in oklab, var(--pz-color-black) 5%, transparent)}}.pz\:ring-select{--tw-ring-color:var(--pz-select)}.pz\:outline-0{outline-style:var(--tw-outline-style);outline-width:0}.pz\:outline-1{outline-style:var(--tw-outline-style);outline-width:1px}.pz\:outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.pz\:outline-\[1\.5px\]{outline-style:var(--tw-outline-style);outline-width:1.5px}.pz\:outline-offset-2{outline-offset:2px}.pz\:outline-comment{outline-color:var(--pz-comment)}.pz\:outline-select{outline-color:var(--pz-select)}.pz\:backdrop-blur-\[18px\]{--tw-backdrop-blur:blur(18px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.pz\:backdrop-saturate-\[1\.6\]{--tw-backdrop-saturate:saturate(1.6);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.pz\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--pz-default-transition-timing-function));transition-duration:var(--tw-duration,var(--pz-default-transition-duration))}.pz\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--pz-default-transition-timing-function));transition-duration:var(--tw-duration,var(--pz-default-transition-duration))}.pz\:duration-500{--tw-duration:.5s;transition-duration:.5s}.pz\:duration-\[120ms\]{--tw-duration:.12s;transition-duration:.12s}.pz\:outline-dashed{--tw-outline-style:dashed;outline-style:dashed}.pz\:outline-none{--tw-outline-style:none;outline-style:none}.pz\:select-none{-webkit-user-select:none;user-select:none}.pz\:select-text{-webkit-user-select:text;user-select:text}.pz\:\[overflow-anchor\:none\]{overflow-anchor:none}@media (hover:hover){.pz\:group-hover\:opacity-100:is(:where(.pz\:group):hover *){opacity:1}}.pz\:placeholder\:text-muted-foreground::placeholder{color:var(--pz-muted)}.pz\:only\:border-t-0:only-child{border-top-style:var(--tw-border-style);border-top-width:0}.pz\:focus-within\:opacity-100:focus-within{opacity:1}@media (hover:hover){.pz\:hover\:scale-112:hover{--tw-scale-x:112%;--tw-scale-y:112%;--tw-scale-z:112%;scale:var(--tw-scale-x) var(--tw-scale-y)}.pz\:hover\:bg-accent:hover{background-color:var(--pz-hover)}.pz\:hover\:bg-primary\/90:hover{background-color:var(--pz-ink)}@supports (color:color-mix(in lab, red, red)){.pz\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--pz-ink) 90%, transparent)}}.pz\:hover\:text-foreground:hover{color:var(--pz-ink)}}.pz\:focus-visible\:ring-2:focus-visible{--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)}.pz\:focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--pz-select)}@supports (color:color-mix(in lab, red, red)){.pz\:focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--pz-select) 50%, transparent)}}.pz\:active\:cursor-grabbing:active{cursor:grabbing}.pz\:disabled\:pointer-events-none:disabled{pointer-events:none}.pz\:disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.pz\:disabled\:opacity-30:disabled{opacity:.3}.pz\:disabled\:opacity-50:disabled{opacity:.5}.pz\:aria-checked\:bg-card[aria-checked=true]{background-color:var(--pz-surface)}.pz\:aria-checked\:bg-muted[aria-checked=true]{background-color:var(--pz-chip)}.pz\:aria-checked\:bg-raised[aria-checked=true]{background-color:var(--pz-raised)}.pz\:aria-checked\:text-foreground[aria-checked=true]{color:var(--pz-ink)}.pz\:aria-checked\:shadow-\[0_1px_2px_rgba\(0\,0\,0\,0\.08\)\][aria-checked=true]{--tw-shadow:0 1px 2px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.pz\:aria-checked\:shadow-raised[aria-checked=true]{--tw-shadow:var(--pz-raised-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.pz\:data-highlighted\:bg-accent[data-highlighted]{background-color:var(--pz-hover)}@media (prefers-reduced-motion:reduce){.pz\:motion-reduce\:scroll-auto{scroll-behavior:auto}}.pz\:dark\:ring-white\/10:where(.pz-dark,.pz-dark *){--tw-ring-color:var(--pz-color-white)}@supports (color:color-mix(in lab, red, red)){.pz\:dark\:ring-white\/10:where(.pz-dark,.pz-dark *){--tw-ring-color:color-mix(in oklab, var(--pz-color-white) 10%, transparent)}}.pz-root{--pz-canvas:#f4f3ef;--pz-ink:#111110;--pz-muted:#5e5b54;--pz-faint:#a9a59b;--pz-rule:#e8e6e0;--pz-chip:#e8e6e0;--pz-surface:#fff;--pz-hover:#1111100d;--pz-select:var(--pz-ink);--pz-comment:#ffc81e;--pz-rind:#ffc81e;--pz-comment-ink:#111110;--pz-comment-soft:#fff4d1;--pz-danger:#d93a2b;--pz-shadow:0 1px 2px #0000000f, 0 8px 28px #0000001a;--pz-board-shadow:0 0 0 1px #0000000f, 0 2px 10px #0000000d;--pz-bar:#fafaf9b8;--pz-bar-shadow:0 0 0 .5px #0000001a, 0 6px 20px #00000014, 0 1px 3px #0000000f;--pz-raised:#fff;--pz-raised-shadow:0 1px 2px #00000014;--pz-font:"Inter", system-ui, -apple-system, sans-serif;background:var(--pz-canvas);width:100%;height:100%;min-height:0;color:var(--pz-ink);font:13px / 1.5 var(--pz-font);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;flex-direction:column;display:flex;position:relative;overflow:hidden}.pz-root.pz-dark{--pz-canvas:#121211;--pz-ink:#f4f3ef;--pz-muted:#a9a59b;--pz-faint:#6b6862;--pz-rule:#262523;--pz-chip:#1f1f1e;--pz-surface:#1b1b1a;--pz-hover:#ffffff0f;--pz-comment:#ffc81e;--pz-rind:#ffc81e;--pz-comment-ink:#111110;--pz-comment-soft:#2e2a1c;--pz-danger:#ff6b5e;--pz-shadow:0 1px 2px #0006, 0 10px 30px #00000080;--pz-board-shadow:0 0 0 1px #ffffff0f;--pz-bar:#1c1c1cb8;--pz-bar-shadow:0 0 0 .5px #ffffff1a, 0 6px 20px #0006, 0 1px 3px #0000004d;--pz-raised:#3a3a3a;--pz-raised-shadow:0 0 0 .5px #ffffff0f, 0 1px 2px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:where(.pz-root) button{font:inherit;color:inherit;cursor:pointer;background:0 0;border-width:0;padding:0}:where(.pz-root) input,:where(.pz-root) textarea{font:inherit;color:inherit}:where(.pz-root) *,:where(.pz-root) :before,:where(.pz-root) :after{box-sizing:border-box;border:0 solid var(--pz-rule)}.pz-tip{font-family:var(--pz-font,"Inter", system-ui, -apple-system, sans-serif)}.pz-tip kbd{border:0;margin:0}@keyframes pz-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.pz-shimmer{background:linear-gradient(90deg,currentColor 40% 50%,currentColor 60%) 0 0/200% 100%}@supports (color:color-mix(in lab, red, red)){.pz-shimmer{background:linear-gradient(90deg, currentColor 40%, color-mix(in srgb, currentColor 30%, transparent) 50%, currentColor 60%) 0 0 / 200% 100%}}.pz-shimmer{-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:1.8s linear infinite pz-shimmer}@keyframes pz-trace{to{stroke-dashoffset:-100px}}.pz-trace{stroke-dasharray:10.67 6;animation:9.6s linear infinite pz-trace}@keyframes pz-ring-in{0%{opacity:0}}@keyframes pz-ring{to{opacity:0}}.pz-ring{animation:.4s ease-out both pz-ring-in;box-shadow:0 0 0 1px #ffc81e66,0 0 4px 1px #ffc81e2e}.pz-ring:after{content:"";border-radius:inherit;animation:1.5s ease-in-out infinite alternate both pz-ring;animation-delay:inherit;position:absolute;inset:0;box-shadow:0 0 0 2px #ffc81eb3,0 0 10px 3px #ffc81e47}@keyframes pz-fall{0%{transform:translateY(-66.667%)}}.pz-rain{--pz-rain-dot:radial-gradient(circle at .125em .125em, #000 .125em, transparent calc(.125em + .5px));height:1em;-webkit-mask:var(--pz-rain-dot) 0 .165em / .42em .42em repeat-x, var(--pz-rain-dot) 0 .585em / .42em .42em repeat-x;-webkit-mask:var(--pz-rain-dot) 0 .165em / .42em .42em repeat-x, var(--pz-rain-dot) 0 .585em / .42em .42em repeat-x;-webkit-mask:var(--pz-rain-dot) 0 .165em / .42em .42em repeat-x, var(--pz-rain-dot) 0 .585em / .42em .42em repeat-x;mask:var(--pz-rain-dot) 0 .165em / .42em .42em repeat-x, var(--pz-rain-dot) 0 .585em / .42em .42em repeat-x;gap:.17em}.pz-rain>span{width:.25em;height:.67em;animation:pz-appear .3s ease-out calc(var(--i) * 16ms) both;position:relative}.pz-rain>span:before{content:"";background:linear-gradient(to bottom, transparent 0%, var(--pz-rind,#ffc81e) 30%, var(--pz-rind,#ffc81e) 45%, transparent 66%);height:300%;position:absolute;top:0;left:-.08em;right:-.08em}@supports (color:color-mix(in lab, red, red)){.pz-rain>span:before{background:linear-gradient(to bottom, transparent 0%, var(--pz-rind,#ffc81e) 30%, color-mix(in srgb, var(--pz-rind,#ffc81e) 60%, transparent) 45%, transparent 66%)}}.pz-rain>span:before{animation:pz-fall var(--fall) linear var(--drift) infinite}.pz-rain-fit{max-width:calc(round(down,50% + .17em,.42em) - .17em);overflow:hidden}@keyframes pz-juice{0%{transform:rotate(0)}50%,to{transform:rotate(60deg)}}.pz-juice{animation:1.2s cubic-bezier(.65,0,.2,1) infinite pz-juice}.pz-juice-slow{animation-duration:2.4s}.pz-still .pz-shimmer,.pz-still .pz-trace,.pz-still .pz-ring,.pz-still .pz-ring:after,.pz-still .pz-rain>span,.pz-still .pz-rain>span:before,.pz-still .pz-juice{animation-play-state:paused}@keyframes pz-appear{0%{opacity:0}}.pz-appear{animation:.3s ease-out both pz-appear}.pz-hint{flex-shrink:0;place-items:center;display:inline-grid;position:relative}.pz-hint-icon{transition:opacity .12s ease-out,transform .12s ease-out;display:grid}.pz-hint-keys{background:currentColor;border-radius:4px;align-items:center;gap:1px;height:16px;margin-top:-8px;padding:0 3px;display:flex;position:absolute;top:50%;right:-2.5px}@supports (color:color-mix(in lab, red, red)){.pz-hint-keys{background:color-mix(in srgb, currentColor 8%, transparent)}}.pz-hint-keys{font:500 10.5px / 1 var(--pz-font,"Inter", system-ui, -apple-system, sans-serif);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity 90ms ease-in,transform 90ms ease-in;transform:translateY(2px)scale(.96)}.pz-hint-center .pz-hint-keys{right:50%;translate:50%}.pz-hint-label{color:currentColor;align-items:center;gap:1px;display:flex}@supports (color:color-mix(in lab, red, red)){.pz-hint-label{color:color-mix(in srgb, currentColor 50%, transparent)}}.pz-hint-mod{font-size:10px}.pz-hint[data-shown] .pz-hint-icon{opacity:0;transition-delay:calc(var(--i,0) * 18ms);transform:scale(.7)}.pz-hint[data-shown] .pz-hint-keys{opacity:1;transition:opacity .16s cubic-bezier(.2,.8,.2,1),transform .16s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i,0) * 18ms);transform:none}@media (prefers-reduced-motion:reduce){.pz-hint-icon,.pz-hint-keys,.pz-hint[data-shown] .pz-hint-icon,.pz-hint[data-shown] .pz-hint-keys{transition:none}.pz-shimmer{-webkit-text-fill-color:currentColor;animation:none}.pz-trace{stroke-dasharray:none;animation:none}.pz-ring,.pz-ring:after,.pz-rain>span,.pz-rain>span:before,.pz-juice,.pz-appear{animation:none}}@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-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@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-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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:"<percentage>";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:"<percentage>";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:"<length>";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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@layer theme{:root,:host{--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-normal:1.5;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Inter", system-ui, -apple-system, sans-serif;--default-mono-font-family:"IBM Plex Mono", ui-monospace, monospace}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html,body,#root{height:100%}body{background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:13px;overflow:hidden}*{border-color:var(--border)}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.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}.inset-0{inset:0}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.top-\[50\%\]{top:50%}.right-1{right:var(--spacing)}.right-4{right:calc(var(--spacing) * 4)}.bottom-6{bottom:calc(var(--spacing) * 6)}.left-1\/2,.left-\[50\%\]{left:50%}.z-50{z-index:50}.m-0{margin:0}.mx-1\.5{margin-inline:calc(var(--spacing) * 1.5)}.mx-5{margin-inline:calc(var(--spacing) * 5)}.mx-auto{margin-inline:auto}.my-1{margin-block:var(--spacing)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-6{margin-top:calc(var(--spacing) * 6)}.-mb-3\.5{margin-bottom:calc(var(--spacing) * -3.5)}.-ml-1\.5{margin-left:calc(var(--spacing) * -1.5)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.aspect-\[16\/11\]{aspect-ratio:16/11}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-\[11px\]{width:11px;height:11px}.size-\[18px\]{width:18px;height:18px}.size-\[22px\]{width:22px;height:22px}.size-\[176px\]{width:176px;height:176px}.size-full{width:100%;height:100%}.h-2{height:calc(var(--spacing) * 2)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-\[9px\]{height:9px}.h-\[11px\]{height:11px}.h-\[30px\]{height:30px}.h-\[34px\]{height:34px}.h-\[200px\]{height:200px}.h-full{height:100%}.h-px{height:1px}.max-h-\[160px\]{max-height:160px}.max-h-\[225px\]{max-height:225px}.max-h-\[min\(320px\,50vh\)\]{max-height:min(320px,50vh)}.min-h-0{min-height:0}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-\[22\%\]{width:22%}.w-\[30\%\]{width:30%}.w-\[46\%\]{width:46%}.w-\[248px\]{width:248px}.w-\[272px\]{width:272px}.w-\[320px\]{width:320px}.w-full{width:100%}.max-w-\[220px\]{max-width:220px}.max-w-\[240px\]{max-width:240px}.max-w-\[640px\]{max-width:640px}.max-w-\[1088px\]{max-width:1088px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-56{min-width:calc(var(--spacing) * 56)}.min-w-\[200px\]{min-width:200px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.shrink-\[2\]{flex-shrink:2}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);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)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.resize{resize:both}.\[scrollbar-width\:none\]{scrollbar-width:none}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[56px_minmax\(0\,1fr\)\]{grid-template-columns:56px minmax(0,1fr)}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-\[5px\]{gap:5px}.gap-\[7px\]{gap:7px}.gap-\[9px\]{gap:9px}.gap-\[18px\]{gap:18px}.gap-\[22px\]{gap:22px}.gap-x-2\.5{column-gap:calc(var(--spacing) * 2.5)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.gap-y-7{row-gap:calc(var(--spacing) * 7)}.self-center{align-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[3px\]{border-radius:3px}.rounded-\[5px\]{border-radius:5px}.rounded-\[7px\]{border-radius:7px}.rounded-\[9px\]{border-radius:9px}.rounded-\[10px\]{border-radius:10px}.rounded-\[11px\]{border-radius:11px}.rounded-\[14px\]{border-radius:14px}.rounded-\[18px\]{border-radius:18px}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-current{border-color:currentColor}.border-input{border-color:var(--border)}.border-r-transparent{border-right-color:#0000}.bg-\[var\(--hairline-strong\)\]{background-color:var(--hairline-strong)}.bg-background{background-color:var(--background)}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab, red, red)){.bg-black\/40{background-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.bg-canvas{background-color:var(--canvas)}.bg-card{background-color:var(--card)}.bg-flesh{background-color:var(--flesh)}.bg-foreground{background-color:var(--foreground)}.bg-hairline{background-color:var(--hairline)}.bg-highlight{background-color:var(--highlight)}.bg-home,.bg-home\/15{background-color:var(--home)}@supports (color:color-mix(in lab, red, red)){.bg-home\/15{background-color:color-mix(in oklab, var(--home) 15%, transparent)}}.bg-popover{background-color:var(--card)}.bg-preview{background-color:var(--canvas)}.bg-primary{background-color:var(--foreground)}.bg-secondary,.bg-secondary\/70{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.bg-secondary\/70{background-color:color-mix(in oklab, var(--secondary) 70%, transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.\[mask-image\:linear-gradient\(to_right\,transparent\,\#000_var\(--fade-start\,0px\)\,\#000_calc\(100\%_-_var\(--fade-end\,0px\)\)\,transparent\)\]{-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--fade-start,0px),#000 calc(100% - var(--fade-end,0px)),transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--fade-start,0px),#000 calc(100% - var(--fade-end,0px)),transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--fade-start,0px),#000 calc(100% - var(--fade-end,0px)),transparent);mask-image:linear-gradient(to right,transparent,#000 var(--fade-start,0px),#000 calc(100% - var(--fade-end,0px)),transparent)}.object-contain{object-fit:contain}.p-0{padding:0}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-\[5px\]{padding:5px}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-\[18px\]{padding-block:18px}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-12{padding-top:calc(var(--spacing) * 12)}.pr-1{padding-right:var(--spacing)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-\[calc\(100vw-env\(titlebar-area-x\,0px\)-env\(titlebar-area-width\,100vw\)\+8px\)\]{padding-right:calc(100vw - env(titlebar-area-x,0px) - env(titlebar-area-width,100vw) + 8px)}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.pl-1\.5{padding-left:calc(var(--spacing) * 1.5)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3\.5{padding-left:calc(var(--spacing) * 3.5)}.pl-\[9px\]{padding-left:9px}.pl-\[18px\]{padding-left:18px}.pl-\[88px\]{padding-left:88px}.text-center{text-align:center}.text-left{text-align:left}.font-display{font-family:Funnel Display,Inter,system-ui,sans-serif}.font-mono{font-family:IBM Plex Mono,ui-monospace,monospace}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--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))}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[17px\]{font-size:17px}.text-\[22px\]{font-size:22px}.text-\[30px\]{font-size:30px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-\[1\.15\]{--tw-leading:1.15;line-height:1.15}.leading-\[17px\]{--tw-leading:17px;line-height:17px}.leading-\[19px\]{--tw-leading:19px;line-height:19px}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.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-\[-0\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.whitespace-nowrap{white-space:nowrap}.text-\[\#0e0e0e\]{color:#0e0e0e}.text-background{color:var(--background)}.text-faint{color:var(--faint)}.text-foreground{color:var(--foreground)}.text-home{color:var(--home)}.text-inherit{color:inherit}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--foreground)}.text-primary-foreground{color:var(--canvas)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-55{opacity:.55}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow-\[0_0_0_0\.5px_var\(--hairline-strong\)\,0_1px_2px_rgba\(0\,0\,0\,0\.06\)\,0_8px_28px_rgba\(0\,0\,0\,0\.1\)\]{--tw-shadow:0 0 0 .5px var(--tw-shadow-color,var(--hairline-strong)), 0 1px 2px var(--tw-shadow-color,#0000000f), 0 8px 28px 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-\[0_0_0_1px_rgba\(0\,0\,0\,0\.06\)\,0_2px_6px_rgba\(0\,0\,0\,0\.06\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#0000000f), 0 2px 6px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_1px_rgba\(17\,17\,16\,0\.1\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#1111101a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_1px_var\(--hairline\)\,0_1px_2px_rgba\(0\,0\,0\,0\.03\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--hairline)), 0 1px 2px var(--tw-shadow-color,#00000008);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_1px_var\(--hairline\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--hairline));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_1px_var\(--hairline-strong\)\,0_1px_2px_rgba\(0\,0\,0\,0\.06\)\,0_8px_28px_rgba\(0\,0\,0\,0\.1\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--hairline-strong)), 0 1px 2px var(--tw-shadow-color,#0000000f), 0 8px 28px 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-\[0_1px_2px_rgba\(0\,0\,0\,0\.06\)\,0_8px_28px_rgba\(0\,0\,0\,0\.1\)\]{--tw-shadow:0 1px 2px var(--tw-shadow-color,#0000000f), 0 8px 28px 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-\[0_1px_2px_rgba\(0\,0\,0\,0\.06\)\,0_18px_50px_rgba\(0\,0\,0\,0\.2\)\,0_0_0_0\.5px_rgba\(0\,0\,0\,0\.12\)\]{--tw-shadow:0 1px 2px var(--tw-shadow-color,#0000000f), 0 18px 50px var(--tw-shadow-color,#0003), 0 0 0 .5px var(--tw-shadow-color,#0000001f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_0_0_0_1\.5px_var\(--hairline-strong\)\]{--tw-shadow:inset 0 0 0 1.5px var(--tw-shadow-color,var(--hairline-strong));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_0_0_0_1px_var\(--hairline\)\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--hairline));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.grayscale{--tw-grayscale:grayscale(100%);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,)}.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-\[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-\[filter\]{transition-property:filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;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))}.transition-shadow{transition-property:box-shadow;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}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[animation-duration\:2s\]{animation-duration:2s}.app-drag{-webkit-app-region:drag}.app-no-drag{-webkit-app-region:no-drag}@media (hover:hover){.group-hover\:\[mask-image\:linear-gradient\(to_left\,transparent_14px\,\#000_32px\)\]:is(:where(.group):hover *){-webkit-mask-image:linear-gradient(270deg,#0000 14px,#000 32px);mask-image:linear-gradient(270deg,#0000 14px,#000 32px)}.group-hover\:text-muted-foreground:is(:where(.group):hover *){color:var(--muted-foreground)}.group-hover\:opacity-60:is(:where(.group):hover *){opacity:.6}.group-hover\:shadow-\[0_0_0_1px_var\(--hairline-strong\)\,0_4px_14px_rgba\(0\,0\,0\,0\.06\)\]:is(:where(.group):hover *){--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--hairline-strong)), 0 4px 14px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.group-focus-visible\:\[mask-image\:linear-gradient\(to_left\,transparent_14px\,\#000_32px\)\]:is(:where(.group):focus-visible *){-webkit-mask-image:linear-gradient(270deg,#0000 14px,#000 32px);mask-image:linear-gradient(270deg,#0000 14px,#000 32px)}.group-focus-visible\:opacity-60:is(:where(.group):focus-visible *){opacity:.6}.group-focus-visible\:shadow-\[0_0_0_2px_var\(--ring\)\]:is(:where(.group):focus-visible *){--tw-shadow:0 0 0 2px var(--tw-shadow-color,var(--ring));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.marker\:text-muted-foreground ::marker{color:var(--muted-foreground)}.marker\:text-muted-foreground::marker{color:var(--muted-foreground)}.marker\:text-muted-foreground ::-webkit-details-marker{color:var(--muted-foreground)}.marker\:text-muted-foreground::-webkit-details-marker{color:var(--muted-foreground)}.selection\:bg-primary ::selection{background-color:var(--foreground)}.selection\:bg-primary::selection{background-color:var(--foreground)}.selection\:text-primary-foreground ::selection{color:var(--canvas)}.selection\:text-primary-foreground::selection{color:var(--canvas)}.placeholder\:text-faint::placeholder{color:var(--faint)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-home\/25:hover{background-color:var(--home)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-home\/25:hover{background-color:color-mix(in oklab, var(--home) 25%, transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--foreground) 90%, transparent)}}.hover\:bg-secondary:hover{background-color:var(--secondary)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:opacity-100\!:hover{opacity:1!important}.hover\:brightness-95:hover{--tw-brightness:brightness(95%);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,)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:shadow-\[0_0_0_2px_var\(--ring\)\]:focus-visible{--tw-shadow:0 0 0 2px var(--tw-shadow-color,var(--ring));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-\[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-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--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}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-40[data-disabled]{opacity:.4}.data-\[highlighted\]\:bg-accent[data-highlighted]{background-color:var(--accent)}.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(--accent)}.data-\[state\=open\]\:text-foreground[data-state=open]{color:var(--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}@media (prefers-reduced-motion:no-preference){.motion-safe\:animate-pulse{animation:var(--animate-pulse)}}@media (prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}}@media not all and (width>=1100px){.max-\[1100px\]\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media not all and (width>=820px){.max-\[820px\]\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=40rem){.sm\:max-w-\[520px\]{max-width:520px}.sm\:max-w-md{max-width:var(--container-md)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}}.dark\:shadow-\[0_0_0_1px_rgba\(255\,255\,255\,0\.08\)\]:where([data-theme=dark],[data-theme=dark] *){--tw-shadow:0 0 0 1px var(--tw-shadow-color,#ffffff14);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.\[\&_button\]\:app-no-drag button{-webkit-app-region:no-drag}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\]\:text-muted-foreground svg{color:var(--muted-foreground)}}@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}:root{--background:#e8e6e0;--foreground:#111110;--muted-foreground:#5e5b54;--secondary:#f4f3ef;--accent:#1111100d;--card:#fff;--border:#e8e6e0;--canvas:#f4f3ef;--ring:#1f6bff;--home:#faf9f6;--faint:#a9a59b;--hairline:#1111100f;--hairline-strong:#1111101f;--highlight:#ffe89a;--rind:#ffc81e;--flesh:#ffc81e}[data-theme=dark]{--background:#0e0e0d;--foreground:#f4f3ef;--muted-foreground:#8e8a82;--secondary:#1b1b1a;--accent:#ffffff0f;--card:#161615;--border:#262523;--canvas:#121211;--ring:#4c8dff;--home:#151514;--faint:#6b6862;--hairline:#ffffff1c;--hairline-strong:#fff3;--highlight:#ffc81e52;--rind:#ffc81e;--flesh:#ffc81e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.search{box-shadow:0 0 0 1px var(--hairline-strong), 0 1px 2px #0000000a}.search:focus-within{box-shadow:0 0 0 1px var(--rind), 0 0 0 4px var(--rind)}@supports (color:color-mix(in lab, red, red)){.search:focus-within{box-shadow:0 0 0 1px var(--rind), 0 0 0 4px color-mix(in srgb, var(--rind) 22%, transparent)}}.search input{caret-color:var(--rind)}.ghost{box-shadow:inset 0 0 0 1px var(--hairline);background:repeating-linear-gradient(135deg, var(--foreground) 0 8px, transparent 8px 16px)}@supports (color:color-mix(in lab, red, red)){.ghost{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--foreground) 2%, transparent) 0 8px, transparent 8px 16px)}}@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-tracking{syntax:"*";inherits:false}@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:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@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))}}
|
|
@@ -2357,5 +2357,5 @@ Zilla Slab Highlight;400,700
|
|
|
2357
2357
|
.allow-interactivity-${e} {pointer-events: all;}
|
|
2358
2358
|
`},Gd=0,Kd=[];function qd(e){var t=z.useRef([]),n=z.useRef([0,0]),r=z.useRef(),i=z.useState(Gd++)[0],a=z.useState(hd)[0],o=z.useRef(e);z.useEffect(function(){o.current=e},[e]),z.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=qu([e.lockRef.current],(e.shards||[]).map(Hd),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=z.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=Bd(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=Nd(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=Nd(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return zd(h,t,e,h===`h`?s:c,!0)},[]),c=z.useCallback(function(e){var n=e;if(Kd.length&&Kd[Kd.length-1]===a){var r=`deltaY`in n?Vd(n):Bd(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&Ud(e.delta,r)})[0];if(i&&i.should)n.cancelable&&n.preventDefault();else if(!i){var c=(o.current.shards||[]).map(Hd).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),l=z.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:Jd(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=z.useCallback(function(e){n.current=Bd(e),r.current=void 0},[]),d=z.useCallback(function(t){l(t.type,Vd(t),t.target,s(t,e.lockRef.current))},[]),f=z.useCallback(function(t){l(t.type,Bd(t),t.target,s(t,e.lockRef.current))},[]);z.useEffect(function(){return Kd.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener(`wheel`,c,Od),document.addEventListener(`touchmove`,c,Od),document.addEventListener(`touchstart`,u,Od),function(){Kd=Kd.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,Od),document.removeEventListener(`touchmove`,c,Od),document.removeEventListener(`touchstart`,u,Od)}},[]);var p=e.removeScrollBar,m=e.inert;return z.createElement(z.Fragment,null,m?z.createElement(a,{styles:Wd(i)}):null,p?z.createElement(Td,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Jd(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var Yd=ad(od,qd),Xd=z.forwardRef(function(e,t){return z.createElement(cd,Gu({},e,{ref:t,sideCar:Yd}))});Xd.classNames=cd.classNames;var Zd=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},Qd=new WeakMap,$d=new WeakMap,ef={},tf=0,nf=function(e){return e&&(e.host||nf(e.parentNode))},rf=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=nf(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},af=function(e,t,n,r){var i=rf(t,Array.isArray(e)?e:[e]);ef[n]||(ef[n]=new WeakMap);var a=ef[n],o=[],s=new Set,c=new Set(i),l=function(e){e&&!s.has(e)&&(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){e&&!c.has(e)&&Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(Qd.get(e)||0)+1,l=(a.get(e)||0)+1;Qd.set(e,c),a.set(e,l),o.push(e),c===1&&i&&$d.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),tf++,function(){o.forEach(function(e){var t=Qd.get(e)-1,i=a.get(e)-1;Qd.set(e,t),a.set(e,i),t||($d.has(e)||e.removeAttribute(r),$d.delete(e)),i||e.removeAttribute(n)}),tf--,tf||(Qd=new WeakMap,Qd=new WeakMap,$d=new WeakMap,ef={})}},of=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||Zd(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),af(r,i,n,`aria-hidden`)):function(){return null}},sf=Object.defineProperty,cf=(e,t)=>sf(e,`name`,{value:t,configurable:!0}),lf=`Dialog`,[uf,df]=Xc(lf),[ff,pf]=uf(lf),mf=cf(e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=z.useRef(null),c=z.useRef(null),{nodes:l,registry:u}=Cu(),[d,f]=Ol({prop:r,defaultProp:i??!1,onChange:a,caller:lf}),[p,m]=z.useState(0),[h,g]=z.useState(0);return(0,V.jsx)(ff,{scope:t,triggerRef:s,contentRef:c,contentId:Kl(),titleId:Kl(),descriptionId:Kl(),titlePresent:p>0,descriptionPresent:h>0,setTitleCount:m,setDescriptionCount:g,open:d,onOpenChange:f,onOpenToggle:z.useCallback(()=>f(e=>!e),[f]),modal:o,branchNodes:l,branchRegistry:u,children:n})},`Dialog`),hf=`DialogPortal`,[gf,_f]=uf(hf,{forceMount:void 0}),vf=cf(e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=pf(hf,t);return(0,V.jsx)(gf,{scope:t,forceMount:n,children:z.Children.map(r,e=>(0,V.jsx)(Il,{present:n||a.open,children:(0,V.jsx)(Lu,{asChild:!0,container:i,children:e})}))})},`DialogPortal`),yf=`DialogOverlay`,bf=z.forwardRef(cf(function(e,t){let n=_f(yf,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=pf(yf,e.__scopeDialog);return a.modal?(0,V.jsx)(Il,{present:r||a.open,children:(0,V.jsx)(Sf,{...i,ref:t})}):null},`DialogOverlay`)),xf=Sc(`DialogOverlay.RemoveScroll`),Sf=z.forwardRef(cf(function(e,t){let{__scopeDialog:n,...r}=e,i=pf(yf,n),a=yc(t,lu());return(0,V.jsx)(Xd,{as:xf,allowPinchZoom:!0,shards:z.useMemo(()=>[i.contentRef,...i.branchNodes.map(e=>({current:e}))],[i.contentRef,i.branchNodes]),children:(0,V.jsx)(Vc.div,{"data-state":Nf(i.open),...r,ref:a,style:{pointerEvents:`auto`,...r.style}})})},`DialogOverlayImpl`)),Cf=`DialogContent`,wf=z.forwardRef(cf(function(e,t){let n=_f(Cf,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=pf(Cf,e.__scopeDialog);return(0,V.jsx)(Il,{present:r||a.open,children:a.modal?(0,V.jsx)(Tf,{...i,ref:t}):(0,V.jsx)(Ef,{...i,ref:t})})},`DialogContent`)),Tf=z.forwardRef(cf(function(e,t){let n=pf(Cf,e.__scopeDialog),r=z.useRef(null),i=yc(t,n.contentRef,r);return z.useEffect(()=>{let e=r.current;if(e)return of(e)},[]),(0,V.jsx)(Df,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:G(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:G(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:G(e.onFocusOutside,e=>e.preventDefault())})},`DialogContentModal`)),Ef=z.forwardRef(cf(function(e,t){let n=pf(Cf,e.__scopeDialog),r=z.useRef(!1),i=z.useRef(!1);return(0,V.jsx)(Df,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})},`DialogContentNonModal`)),Df=z.forwardRef(cf(function(e,t){let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,"aria-describedby":o,children:s,...c}=e,l=pf(Cf,n);return Uu(),(0,V.jsx)(Su,{registry:l.branchRegistry,children:(0,V.jsx)(bu,{asChild:!0,loop:!0,trapped:r,branches:l.branchNodes,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,V.jsx)(cu,{role:`dialog`,id:l.contentId,"aria-labelledby":l.titlePresent?l.titleId:void 0,"aria-describedby":l.descriptionPresent?Mf(o,l.descriptionId):o,"data-state":Nf(l.open),...c,ref:t,deferPointerDownOutside:!0,onDismiss:()=>l.onOpenChange(!1),children:s})})})},`DialogContentImpl`)),Of=z.forwardRef(cf(function(e,t){let{__scopeDialog:n,...r}=e,i=pf(`DialogTitle`,n),{setTitleCount:a}=i;return Qc(()=>(a(e=>e+1),()=>a(e=>e-1)),[a]),(0,V.jsx)(Vc.h2,{id:i.titleId,...r,ref:t})},`DialogTitle`)),kf=z.forwardRef(cf(function(e,t){let{__scopeDialog:n,...r}=e,i=pf(`DialogDescription`,n),{setDescriptionCount:a}=i;return Qc(()=>(a(e=>e+1),()=>a(e=>e-1)),[a]),(0,V.jsx)(Vc.p,{id:i.descriptionId,...r,ref:t})},`DialogDescription`)),Af=`DialogClose`,jf=z.forwardRef(cf(function(e,t){let{__scopeDialog:n,...r}=e,i=pf(Af,n);return(0,V.jsx)(Vc.button,{type:`button`,...r,ref:t,onClick:G(e.onClick,()=>i.onOpenChange(!1))})},`DialogClose`));function Mf(...e){let t=new Set;for(let n of e)if(typeof n==`string`)for(let e of String(n).trim().split(/\s+/))e&&t.add(e);return t.size>0?Array.from(t).join(` `):void 0}cf(Mf,`concatAriaDescribedby`);function Nf(e){return e?`open`:`closed`}cf(Nf,`getState`);var Pf=Object.defineProperty,Ff=(e,t)=>Pf(e,`name`,{value:t,configurable:!0});function If(e){let[t,n]=z.useState(void 0);return Qc(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=0,r=new ResizeObserver(r=>{if(!Array.isArray(r)||!r.length)return;let i=r[0];window.cancelAnimationFrame(t),t=window.requestAnimationFrame(()=>{let t,r;if(`borderBoxSize`in i){let e=i.borderBoxSize,n=Array.isArray(e)?e[0]:e;t=n.inlineSize,r=n.blockSize}else t=e.offsetWidth,r=e.offsetHeight;n({width:t,height:r})})});return r.observe(e,{box:`border-box`}),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}n(void 0)},[e]),t}Ff(If,`useSize`);var Lf=[`top`,`right`,`bottom`,`left`],Rf=Math.min,zf=Math.max,Bf=Math.round,Vf=Math.floor,Hf=e=>({x:e,y:e}),Uf={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Wf(e,t,n){return zf(e,Rf(t,n))}function Y(e,t){return typeof e==`function`?e(t):e}function Gf(e){return e.split(`-`)[0]}function Kf(e){return e.split(`-`)[1]}function qf(e){return e===`x`?`y`:`x`}function Jf(e){return e===`y`?`height`:`width`}function Yf(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Xf(e){return qf(Yf(e))}function Zf(e,t,n){n===void 0&&(n=!1);let r=Kf(e),i=Xf(e),a=Jf(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=op(o)),[o,op(o)]}function Qf(e){let t=op(e);return[$f(e),t,$f(t)]}function $f(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var ep=[`left`,`right`],tp=[`right`,`left`],np=[`top`,`bottom`],rp=[`bottom`,`top`];function ip(e,t,n){switch(e){case`top`:case`bottom`:return n?t?tp:ep:t?ep:tp;case`left`:case`right`:return t?np:rp;default:return[]}}function ap(e,t,n,r){let i=Kf(e),a=ip(Gf(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map($f)))),a}function op(e){let t=Gf(e);return Uf[t]+e.slice(t.length)}function sp(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function cp(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:sp(e)}function lp(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function up(e,t,n){let{reference:r,floating:i}=e,a=Yf(t),o=Xf(t),s=Jf(o),c=Gf(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}let m=Kf(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function dp(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=Y(t,e),p=cp(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=lp(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=lp(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var fp=50,pp=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:dp},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=up(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<fp&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=up(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},mp=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=Y(e,t)||{};if(l==null)return{};let d=cp(u),f={x:n,y:r},p=Xf(i),m=Jf(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=Rf(d[_],T),D=Rf(d[v],T),O=C-h[m]-D,k=C/2-h[m]/2+w,A=Wf(E,k,O),j=!c.arrow&&Kf(i)!=null&&k!==A&&a.reference[m]/2-(k<E?E:D)-h[m]/2<0,M=j?k<E?k-E:k-O:0;return{[p]:f[p]+M,data:{[p]:A,centerOffset:k-A-M,...j&&{alignmentOffset:M}},reset:j}}}),hp=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=Y(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=Gf(r),_=Yf(o),v=Gf(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[op(o)]:Qf(o)),x=p!==`none`;!d&&x&&b.push(...ap(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=Zf(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(u!==`alignment`||_===Yf(t)||T.every(e=>Yf(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=Yf(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o}if(r!==n)return{reset:{placement:n}}}return{}}}};function gp(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function _p(e){return Lf.some(t=>e[t]>=0)}var vp=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=Y(e,t);switch(i){case`referenceHidden`:{let e=gp(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:_p(e)}}}case`escaped`:{let e=gp(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:_p(e)}}}default:return{}}}}},yp=new Set([`left`,`top`]);async function bp(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=Gf(n),s=Kf(n),c=Yf(n)===`y`,l=yp.has(o)?-1:1,u=a&&c?-1:1,d=Y(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var xp=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await bp(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Sp=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=Y(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=Yf(i),p=qf(f),m=u[p],h=u[f],g=(e,t)=>Wf(t+d[e===`y`?`top`:`left`],t,t-d[e===`y`?`bottom`:`right`]);o&&(m=g(p,m)),s&&(h=g(f,h));let _=c.fn({...t,[p]:m,[f]:h});return{..._,data:{x:_.x-n,y:_.y-r,enabled:{[p]:o,[f]:s}}}}}},Cp=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=Y(e,t),u={x:n,y:r},d=Yf(i),f=qf(d),p=u[f],m=u[d],h=Y(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:h.mainAxis??0,crossAxis:h.crossAxis??0};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=yp.has(Gf(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},wp=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){let{placement:n,rects:r,platform:i,elements:a}=t,{apply:o=()=>{},...s}=Y(e,t),c=await i.detectOverflow(t,s),l=Gf(n),u=Kf(n),d=Yf(n)===`y`,{width:f,height:p}=r.floating,m,h;l===`top`||l===`bottom`?(m=l,h=u===(await(i.isRTL==null?void 0:i.isRTL(a.floating))?`start`:`end`)?`left`:`right`):(h=l,m=u===`end`?`top`:`bottom`);let g=p-c.top-c.bottom,_=f-c.left-c.right,v=Rf(p-c[m],g),y=Rf(f-c[h],_),b=t.middlewareData.shift,x=!b,S=v,C=y;b!=null&&b.enabled.x&&(C=_),b!=null&&b.enabled.y&&(S=g),x&&!u&&(d?C=f-2*zf(c.left,c.right):S=p-2*zf(c.top,c.bottom)),await o({...t,availableWidth:C,availableHeight:S});let w=await i.getDimensions(a.floating);return f!==w.width||p!==w.height?{reset:{rects:!0}}:{}}}};function Tp(){return typeof window<`u`}function Ep(e){return kp(e)?(e.nodeName||``).toLowerCase():`#document`}function Dp(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Op(e){return((kp(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function kp(e){return Tp()?e instanceof Node||e instanceof Dp(e).Node:!1}function Ap(e){return Tp()?e instanceof Element||e instanceof Dp(e).Element:!1}function jp(e){return Tp()?e instanceof HTMLElement||e instanceof Dp(e).HTMLElement:!1}function Mp(e){return!Tp()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof Dp(e).ShadowRoot}function Np(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Wp(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Pp(e){return/^(table|td|th)$/.test(Ep(e))}function Fp(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Ip=/transform|translate|scale|rotate|perspective|filter/,Lp=/paint|layout|strict|content/,Rp=e=>!!e&&e!==`none`,zp;function Bp(e){let t=Ap(e)?Wp(e):e;return Rp(t.transform)||Rp(t.translate)||Rp(t.scale)||Rp(t.rotate)||Rp(t.perspective)||!Hp()&&(Rp(t.backdropFilter)||Rp(t.filter))||Ip.test(t.willChange||``)||Lp.test(t.contain||``)}function Vp(e){let t=Kp(e);for(;jp(t)&&!Up(t);){if(Bp(t))return t;if(Fp(t))return null;t=Kp(t)}return null}function Hp(){return zp??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),zp}function Up(e){return/^(html|body|#document)$/.test(Ep(e))}function Wp(e){return Dp(e).getComputedStyle(e)}function Gp(e){return Ap(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Kp(e){if(Ep(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Mp(e)&&e.host||Op(e);return Mp(t)?t.host:t}function qp(e){let t=Kp(e);return Up(t)?(e.ownerDocument||e).body:jp(t)&&Np(t)?t:qp(t)}function Jp(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=qp(e),i=r===e.ownerDocument?.body,a=Dp(r);if(i){let e=Yp(a);return t.concat(a,a.visualViewport||[],Np(r)?r:[],e&&n?Jp(e):[])}return t.concat(r,Jp(r,[],n))}function Yp(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Xp(e){let t=Wp(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=jp(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=Bf(n)!==a||Bf(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Zp(e){return Ap(e)?e:e.contextElement}function Qp(e){let t=Zp(e);if(!jp(t))return Hf(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Xp(t),o=(a?Bf(n.width):n.width)/r,s=(a?Bf(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var $p=Hf(0);function em(e){let t=Dp(e);return!Hp()||!t.visualViewport?$p:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function tm(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===Dp(e)}function nm(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Zp(e),o=Hf(1);t&&(r?Ap(r)&&(o=Qp(r)):o=Qp(e));let s=tm(a,n,r)?em(a):Hf(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a&&r){let e=Dp(a),t=Ap(r)?Dp(r):r,n=e,i=Yp(n);for(;i&&t!==n;){let e=Qp(i),t=i.getBoundingClientRect(),r=Wp(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=Dp(i),i=Yp(n)}}return lp({width:u,height:d,x:c,y:l})}function rm(e,t){let n=Gp(e).scrollLeft;return t?t.left+n:nm(Op(e)).left+n}function im(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-rm(e,n),y:n.top+t.scrollTop}}function am(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=Op(r),s=t?Fp(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=Hf(1),u=Hf(0),d=jp(r);if((d||!a)&&((Ep(r)!==`body`||Np(o))&&(c=Gp(r)),d)){let e=nm(r);l=Qp(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?im(o,c):Hf(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function om(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function sm(e){let t=Gp(e),n=e.ownerDocument.body,r=zf(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=zf(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+rm(e),o=-t.scrollTop;return Wp(n).direction===`rtl`&&(a+=zf(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var cm=25;function lm(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=Dp(e),a=Op(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!Hp()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(rm(a)<=0){let e=a.ownerDocument,t=e.body,n=getComputedStyle(t),r=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,i=Math.abs(a.clientWidth-t.clientWidth-r),o=getComputedStyle(a).scrollbarGutter===`stable both-edges`?i/2:i;o<=cm&&(s-=o)}return{width:s,height:c,x:l,y:u}}function um(e,t){let n=nm(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Qp(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function dm(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=lm(e,n,t);else if(t===`document`)r=sm(Op(e));else if(Ap(t))r=um(t,n);else{let n=em(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return lp(r)}function fm(e,t){let n=t.get(e);if(n)return n;let r=Jp(e,[],!1).filter(e=>Ap(e)&&Ep(e)!==`body`),i=null,a=Wp(e).position===`fixed`,o=a?Kp(e):e;for(;Ap(o)&&!Up(o);){let e=Wp(o),t=Bp(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=Kp(o)}return t.set(e,r),r}function pm(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Fp(t)?[]:fm(t,this._c):[].concat(n),r],o=dm(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=dm(t,a[e],i);s=zf(n.top,s),c=Rf(n.right,c),l=Rf(n.bottom,l),u=zf(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function mm(e){let{width:t,height:n}=Xp(e);return{width:t,height:n}}function hm(e,t,n){let r=jp(t),i=Op(t),a=n===`fixed`,o=nm(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=Hf(0);if((r||!a)&&((Ep(t)!==`body`||Np(i))&&(s=Gp(t)),r)){let e=nm(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=rm(i));let l=i&&!r&&!a?im(i,s):Hf(0);return{x:o.left+s.scrollLeft-c.x-l.x,y:o.top+s.scrollTop-c.y-l.y,width:o.width,height:o.height}}function gm(e){return Wp(e).position===`static`}function _m(e,t){if(!jp(e)||Wp(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return Op(e)===n&&(n=n.ownerDocument.body),n}function vm(e,t){let n=Dp(e);if(Fp(e))return n;if(!jp(e)){let t=Kp(e);for(;t&&!Up(t);){if(Ap(t)&&!gm(t))return t;t=Kp(t)}return n}let r=_m(e,t);for(;r&&Pp(r)&&gm(r);)r=_m(r,t);return r&&Up(r)&&gm(r)&&!Bp(r)?n:r||Vp(e)||n}var ym=async function(e){let t=this.getOffsetParent||vm,n=this.getDimensions,r=await n(e.floating);return{reference:hm(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function bm(e){return Wp(e).direction===`rtl`}var xm={convertOffsetParentRelativeRectToViewportRelativeRect:am,getDocumentElement:Op,getClippingRect:pm,getOffsetParent:vm,getElementRects:ym,getClientRects:om,getDimensions:mm,getScale:Qp,isElement:Ap,isRTL:bm};function Sm(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Cm(e,t,n){let r=null,i,a=Op(e);function o(){var e;clearTimeout(i),(e=r)==null||e.disconnect(),r=null}function s(n,c){n===void 0&&(n=!1),c===void 0&&(c=1),o();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(n||t(),!f||!p)return;let m=Vf(d),h=Vf(a.clientWidth-(u+f)),g=Vf(a.clientHeight-(d+p)),_=Vf(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:zf(0,Rf(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(!Sm(l,e.getBoundingClientRect()))return s();if(n!==c){if(!y)return s();n?s(!1,n):i=setTimeout(()=>{s(!1,1e-7)},1e3)}y=!1}try{r=new IntersectionObserver(b,{...v,root:a.ownerDocument})}catch{r=new IntersectionObserver(b,v)}r.observe(e)}let c=Dp(e),l=()=>s(n);return c.addEventListener(`resize`,l),s(!0),()=>{c.removeEventListener(`resize`,l),o()}}function wm(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=Zp(e),u=i||a?[...l?Jp(l):[],...t?Jp(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n),a&&e.addEventListener(`resize`,n)});let d=l&&s?Cm(l,n,a):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?nm(e):null;c&&g();function g(){let t=nm(e);h&&!Sm(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var Tm=xp,Em=Sp,Dm=hp,Om=wp,km=vp,Am=mp,jm=Cp,Mm=(e,t,n)=>{let r=new Map,i=n??{},a={...xm,...i.platform,_c:r};return pp(e,t,{...i,platform:a})},Nm=typeof document<`u`?z.useLayoutEffect:function(){};function Pm(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!Pm(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!Pm(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function Fm(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Im(e,t){let n=Fm(e);return Math.round(t*n)/n}function Lm(e){let t=z.useRef(e);return Nm(()=>{t.current=e}),t}function Rm(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=z.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=z.useState(r);Pm(f,r)||p(r);let[m,h]=z.useState(null),[g,_]=z.useState(null),v=z.useCallback(e=>{e!==S.current&&(S.current=e,h(e))},[]),y=z.useCallback(e=>{e!==C.current&&(C.current=e,_(e))},[]),b=a||m,x=o||g,S=z.useRef(null),C=z.useRef(null),w=z.useRef(u),T=c!=null,E=Lm(c),D=Lm(i),O=Lm(l),k=z.useCallback(()=>{if(!S.current||!C.current)return;let e={placement:t,strategy:n,middleware:f};D.current&&(e.platform=D.current),Mm(S.current,C.current,e).then(e=>{let t={...e,isPositioned:O.current!==!1};A.current&&!Pm(w.current,t)&&(w.current=t,Rc.flushSync(()=>{d(t)}))})},[f,t,n,D,O]);Nm(()=>{l===!1&&w.current.isPositioned&&(w.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let A=z.useRef(!1);Nm(()=>(A.current=!0,()=>{A.current=!1}),[]),Nm(()=>{if(b&&(S.current=b),x&&(C.current=x),b&&x){if(E.current)return E.current(b,x,k);k()}},[b,x,k,E,T]);let j=z.useMemo(()=>({reference:S,floating:C,setReference:v,setFloating:y}),[v,y]),M=z.useMemo(()=>({reference:b,floating:x}),[b,x]),ee=z.useMemo(()=>{let e={position:n,left:0,top:0};if(!M.floating)return e;let t=Im(M.floating,u.x),r=Im(M.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...Fm(M.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,M.floating,u.x,u.y]);return z.useMemo(()=>({...u,update:k,refs:j,elements:M,floatingStyles:ee}),[u,k,j,M,ee])}var zm=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:Am({element:r.current,padding:i}).fn(n):r?Am({element:r,padding:i}).fn(n):{}}}},Bm=(e,t)=>{let n=Tm(e);return{name:n.name,fn:n.fn,options:[e,t]}},Vm=(e,t)=>{let n=Em(e);return{name:n.name,fn:n.fn,options:[e,t]}},Hm=(e,t)=>({fn:jm(e).fn,options:[e,t]}),Um=(e,t)=>{let n=Dm(e);return{name:n.name,fn:n.fn,options:[e,t]}},Wm=(e,t)=>{let n=Om(e);return{name:n.name,fn:n.fn,options:[e,t]}},Gm=(e,t)=>{let n=km(e);return{name:n.name,fn:n.fn,options:[e,t]}},Km=(e,t)=>{let n=zm(e);return{name:n.name,fn:n.fn,options:[e,t]}},qm=Object.defineProperty,Jm=(e,t)=>qm(e,`name`,{value:t,configurable:!0}),Ym={Partial:`partial`,Always:`always`},Xm={Optimized:`optimized`,Always:`always`},Zm=`Popper`,[Qm,$m]=Xc(Zm),[eh,th]=Qm(Zm),nh=Jm(e=>{let{__scopePopper:t,children:n}=e,[r,i]=z.useState(null),[a,o]=z.useState(void 0);return(0,V.jsx)(eh,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})},`Popper`),rh=`PopperAnchor`,ih=z.forwardRef(Jm(function(e,t){let{__scopePopper:n,virtualRef:r,...i}=e,a=th(rh,n),o=z.useRef(null),s=a.onAnchorChange,c=yc(t,z.useCallback(e=>{o.current=e,e&&s(e)},[s])),l=z.useRef(null);z.useEffect(()=>{if(!r)return;let e=l.current;l.current=r.current,e!==l.current&&s(l.current)});let u=a.placementState&&dh(a.placementState),d=u?.[0],f=u?.[1];return r?null:(0,V.jsx)(Vc.div,{"data-radix-popper-side":d,"data-radix-popper-align":f,...i,ref:c})},`PopperAnchor`)),ah=`PopperContent`,[oh,sh]=Qm(ah),ch=z.forwardRef(Jm(function(e,t){let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,arrowPadding:s=0,avoidCollisions:c=!0,collisionBoundary:l=[],collisionPadding:u=0,sticky:d=Ym.Partial,hideWhenDetached:f=!1,updatePositionStrategy:p=Xm.Optimized,onPlaced:m,...h}=e,g=th(ah,n),[_,v]=z.useState(null),y=yc(t,v),[b,x]=z.useState(null),S=If(b),C=S?.width??0,w=S?.height??0,T=r+(a===`center`?``:`-`+a),E=typeof u==`number`?u:{top:0,right:0,bottom:0,left:0,...u},D=Array.isArray(l)?l:[l],O=D.length>0,k={padding:E,boundary:D.filter(lh),altBoundary:O},{refs:A,floatingStyles:j,placement:M,isPositioned:ee,middlewareData:te}=Rm({strategy:`fixed`,placement:T,whileElementsMounted:Jm((...e)=>wm(...e,{animationFrame:p===Xm.Always}),`whileElementsMounted`),elements:{reference:g.anchor},middleware:[Bm({mainAxis:i+w,alignmentAxis:o}),c&&Vm({mainAxis:!0,crossAxis:!1,...d===Ym.Partial?{limiter:Hm()}:{},...k}),c&&Um({...k}),Wm({...k,apply:Jm(({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)},`apply`)}),b&&Km({element:b,padding:s}),uh({arrowWidth:C,arrowHeight:w}),f&&Gm(O?{strategy:`referenceHidden`,...k}:{strategy:`referenceHidden`,padding:k.padding,altBoundary:k.altBoundary})]}),ne=g.setPlacementState;Qc(()=>(ne(M),()=>{ne(void 0)}),[M,ne]);let[N,re]=dh(M),ie=tu(m);Qc(()=>{ee&&ie?.()},[ee,ie]);let ae=te.arrow?.x,oe=te.arrow?.y,se=te.arrow?.centerOffset!==0,[ce,le]=z.useState();return Qc(()=>{_&&le(window.getComputedStyle(_).zIndex)},[_]),(0,V.jsx)(`div`,{ref:A.setFloating,"data-radix-popper-content-wrapper":``,style:{...j,transform:ee?j.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:ce,"--radix-popper-transform-origin":[te.transformOrigin?.x,te.transformOrigin?.y].join(` `),...te.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,V.jsx)(oh,{scope:n,placedSide:N,placedAlign:re,onArrowChange:x,arrowX:ae,arrowY:oe,shouldHideArrow:se,children:(0,V.jsx)(Vc.div,{"data-side":N,"data-align":re,...h,ref:y,style:{...h.style,animation:ee?h.style?.animation:`none`}})})})},`PopperContent`));function lh(e){return e!==null}Jm(lh,`isNotNull`);var uh=Jm(e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=dh(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}}),`transformOrigin`);function dh(e){let[t,n=`center`]=e.split(`-`);return[t,n]}Jm(dh,`getSideAndAlignFromPlacement`);var fh=Object.defineProperty,ph=(e,t)=>fh(e,`name`,{value:t,configurable:!0}),mh=!1;function hh(){let[e,t]=z.useState(mh);return z.useEffect(()=>{mh||(mh=!0,t(!0))},[]),e}ph(hh,`useIsHydrated`);var gh=z.useSyncExternalStore;function _h(){return()=>{}}ph(_h,`subscribe`);function vh(){return gh(_h,()=>!0,()=>!1)}ph(vh,`useIsHydratedModern`);var yh=typeof gh==`function`?vh:hh,bh=Object.defineProperty,xh=(e,t)=>bh(e,`name`,{value:t,configurable:!0}),Sh=`rovingFocusGroup.onEntryFocus`,Ch={bubbles:!1,cancelable:!0},wh=`RovingFocusGroup`,[Th,Eh,Dh]=tl(wh),[Oh,kh]=Xc(wh,[Dh]),Ah={Vertical:`vertical`,Horizontal:`horizontal`},jh={LTR:`ltr`,RTL:`rtl`},[Mh,Nh]=Oh(wh),Ph=z.forwardRef(xh(function(e,t){return(0,V.jsx)(Th.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,V.jsx)(Th.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,V.jsx)(Fh,{...e,ref:t})})})},`RovingFocusGroup`)),Fh=z.forwardRef(xh(function(e,t){let{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:a,currentTabStopId:o,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:c,onEntryFocus:l,preventScrollOnEntryFocus:u=!1,...d}=e,f=z.useRef(null),p=yc(t,f),m=Zl(a),[h,g]=Ol({prop:o,defaultProp:s??null,onChange:c,caller:wh}),[_,v]=z.useState(!1),y=tu(l),b=Eh(n),x=z.useRef(!1),[S,C]=z.useState(0);return z.useEffect(()=>{let e=f.current;if(e)return e.addEventListener(Sh,y),()=>e.removeEventListener(Sh,y)},[y]),(0,V.jsx)(Mh,{scope:n,orientation:r,dir:m,loop:i,currentTabStopId:h,onItemFocus:z.useCallback(e=>g(e),[g]),onItemShiftTab:z.useCallback(()=>v(!0),[]),onFocusableItemAdd:z.useCallback(()=>C(e=>e+1),[]),onFocusableItemRemove:z.useCallback(()=>C(e=>e-1),[]),children:(0,V.jsx)(Vc.div,{tabIndex:_||S===0?-1:0,"data-orientation":r,...d,ref:p,style:{outline:`none`,...e.style},onMouseDown:G(e.onMouseDown,()=>{x.current=!0}),onFocus:G(e.onFocus,e=>{let t=!x.current;if(e.target===e.currentTarget&&t&&!_){let t=new CustomEvent(Sh,Ch);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=b().filter(e=>e.focusable);Vh([e.find(e=>e.active),e.find(e=>e.id===h),...e].filter(Boolean).map(e=>e.ref.current),u)}}x.current=!1}),onBlur:G(e.onBlur,()=>v(!1))})})},`RovingFocusGroupImpl`)),Ih=`RovingFocusGroupItem`,Lh=z.forwardRef(xh(function(e,t){let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=Kl(),l=a||c,u=Nh(Ih,n),d=u.currentTabStopId===l,f=Eh(n),{onFocusableItemAdd:p,onFocusableItemRemove:m,currentTabStopId:h}=u,g=yh();return Qc(()=>{if(g&&r)return p(),()=>m()},[g,r,p,m]),z.useEffect(()=>{if(!g&&r)return p(),()=>m()},[g,r,p,m]),(0,V.jsx)(Th.ItemSlot,{scope:n,id:l,focusable:r,active:i,children:(0,V.jsx)(Vc.span,{tabIndex:d?0:-1,"data-orientation":u.orientation,...s,ref:t,onMouseDown:G(e.onMouseDown,e=>{r?u.onItemFocus(l):e.preventDefault()}),onFocus:G(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:G(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){u.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=Bh(e,u.orientation,u.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=f().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=u.loop?Hh(n,r+1):n.slice(r+1)}setTimeout(()=>Vh(n))}}),children:typeof o==`function`?o({isCurrentTabStop:d,hasTabStop:h!=null}):o})})},`RovingFocusGroupItem`)),Rh={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function zh(e,t){return t===jh.RTL?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}xh(zh,`getDirectionAwareKey`);function Bh(e,t,n){let r=zh(e.key,n);if(!(t===Ah.Vertical&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===Ah.Horizontal&&[`ArrowUp`,`ArrowDown`].includes(r)))return Rh[r]}xh(Bh,`getFocusIntent`);function Vh(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}xh(Vh,`focusFirst`);function Hh(e,t){return e.map((n,r)=>e[(t+r)%e.length])}xh(Hh,`wrapArray`);var Uh=Object.defineProperty,Wh=(e,t)=>Uh(e,`name`,{value:t,configurable:!0}),Gh=[`Enter`,` `],Kh=[`ArrowDown`,`PageUp`,`Home`],qh=[`ArrowUp`,`PageDown`,`End`],Jh=[...Kh,...qh];[...Gh],[...Gh];var Yh=`Menu`,[Xh,Zh,Qh]=tl(Yh),[$h,eg]=Xc(Yh,[Qh,$m,kh]),tg=$m(),ng=kh(),[rg,ig]=$h(Yh),[ag,og]=$h(Yh),sg=Wh(e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=tg(t),[c,l]=z.useState(null),u=z.useRef(!1),d=tu(a),f=Zl(i);return z.useEffect(()=>{let e=Wh(()=>{u.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},`handleKeyDown`),t=Wh(()=>u.current=!1,`handlePointer`);return document.addEventListener(`keydown`,e,{capture:!0}),()=>{document.removeEventListener(`keydown`,e,{capture:!0}),document.removeEventListener(`pointerdown`,t,{capture:!0}),document.removeEventListener(`pointermove`,t,{capture:!0})}},[]),z.useEffect(()=>{if(!n)return;let e=Wh(()=>d(!1),`handleBlur`);return window.addEventListener(`blur`,e),()=>window.removeEventListener(`blur`,e)},[n,d]),(0,V.jsx)(nh,{...s,children:(0,V.jsx)(rg,{scope:t,open:n,onOpenChange:d,content:c,onContentChange:l,children:(0,V.jsx)(ag,{scope:t,onClose:z.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})},`Menu`),cg=z.forwardRef(Wh(function(e,t){let{__scopeMenu:n,...r}=e,i=tg(n);return(0,V.jsx)(ih,{...i,...r,ref:t})},`MenuAnchor`)),lg=`MenuPortal`,[ug,dg]=$h(lg,{forceMount:void 0}),fg=Wh(e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=ig(lg,t);return(0,V.jsx)(ug,{scope:t,forceMount:n,children:(0,V.jsx)(Il,{present:n||a.open,children:(0,V.jsx)(Lu,{asChild:!0,container:i,children:r})})})},`MenuPortal`),pg=`MenuContent`,[mg,hg]=$h(pg),gg=z.forwardRef(Wh(function(e,t){let n=dg(pg,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=ig(pg,e.__scopeMenu),o=og(pg,e.__scopeMenu);return(0,V.jsx)(Xh.Provider,{scope:e.__scopeMenu,children:(0,V.jsx)(Il,{present:r||a.open,children:(0,V.jsx)(Xh.Slot,{scope:e.__scopeMenu,children:o.modal?(0,V.jsx)(_g,{...i,ref:t}):(0,V.jsx)(vg,{...i,ref:t})})})})},`MenuContent`)),_g=z.forwardRef(Wh(function(e,t){let n=ig(pg,e.__scopeMenu),r=z.useRef(null),i=yc(t,r);return z.useEffect(()=>{let e=r.current;if(e)return of(e)},[]),(0,V.jsx)(bg,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:G(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})},`MenuRootContentModal`)),vg=z.forwardRef(Wh(function(e,t){let n=ig(pg,e.__scopeMenu);return(0,V.jsx)(bg,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})},`MenuRootContentNonModal`)),yg=Sc(`MenuContent.ScrollLock`),bg=z.forwardRef(Wh(function(e,t){let{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:a,onCloseAutoFocus:o,disableOutsidePointerEvents:s,onEntryFocus:c,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,disableOutsideScroll:m,...h}=e,g=ig(pg,n),_=og(pg,n),v=tg(n),y=ng(n),b=Zh(n),[x,S]=z.useState(null),C=z.useRef(null),[w,T]=z.useState(null);wu(w);let{nodes:E,registry:D}=Cu(),O=!!(i||m),k=yc(t,C,g.onContentChange,T),A=z.useRef(0),j=z.useRef(``),M=z.useRef(0),ee=z.useRef(null),te=z.useRef(`right`),ne=z.useRef(0),N=z.useMemo(()=>m?[C,...E.map(e=>({current:e}))]:[],[C,E,m]),re=m?Xd:z.Fragment,ie=m?{as:yg,allowPinchZoom:!0,shards:N}:void 0,ae=Wh(e=>{let t=j.current+e,n=b().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=Lg(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;function s(e){j.current=e,window.clearTimeout(A.current),e!==``&&(A.current=window.setTimeout(()=>s(``),1e3))}Wh(s,`updateSearch`),s(t),o&&setTimeout(()=>o.focus())},`handleTypeaheadSearch`);z.useEffect(()=>()=>window.clearTimeout(A.current),[]),Uu();let oe=z.useCallback(e=>te.current===ee.current?.side&&zg(e,ee.current?.area),[]);return(0,V.jsx)(mg,{scope:n,searchRef:j,onItemEnter:z.useCallback(e=>{oe(e)&&e.preventDefault()},[oe]),onItemLeave:z.useCallback(e=>{oe(e)||(C.current?.focus(),S(null))},[oe]),onTriggerLeave:z.useCallback(e=>{oe(e)&&e.preventDefault()},[oe]),pointerGraceTimerRef:M,onPointerGraceIntentChange:z.useCallback(e=>{ee.current=e},[]),children:(0,V.jsx)(Su,{registry:O?D:null,children:(0,V.jsx)(re,{...ie,children:(0,V.jsx)(bu,{asChild:!0,trapped:i,branches:E,onMountAutoFocus:G(a,e=>{e.preventDefault(),C.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:(0,V.jsx)(cu,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,children:(0,V.jsx)(Ph,{asChild:!0,...y,dir:_.dir,orientation:`vertical`,loop:r,currentTabStopId:x,onCurrentTabStopIdChange:S,onEntryFocus:G(c,e=>{_.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,V.jsx)(ch,{role:`menu`,"aria-orientation":`vertical`,"data-state":Mg(g.open),"data-radix-menu-content":``,dir:_.dir,...v,...h,ref:k,style:{outline:`none`,...h.style},onKeyDown:G(h.onKeyDown,e=>{let t=e.target.closest(`[data-radix-menu-content]`)===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=e.key.length===1;t&&(e.key===`Tab`&&e.preventDefault(),!n&&r&&ae(e.key));let i=C.current;if(e.target!==i||!Jh.includes(e.key))return;e.preventDefault();let a=b().filter(e=>!e.disabled).map(e=>e.ref.current);qh.includes(e.key)&&a.reverse(),Fg(a)}),onBlur:G(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(A.current),j.current=``)}),onPointerMove:G(e.onPointerMove,Bg(e=>{let t=e.target,n=ne.current!==e.clientX;if(e.currentTarget.contains(t)&&n){let t=e.clientX>ne.current?`right`:`left`;te.current=t,ne.current=e.clientX}}))})})})})})})})},`MenuContentImpl`)),xg=`MenuItem`,Sg=`menu.itemSelect`,Cg=z.forwardRef(Wh(function(e,t){let{disabled:n=!1,onSelect:r,...i}=e,a=z.useRef(null),o=og(xg,e.__scopeMenu),s=hg(xg,e.__scopeMenu),c=yc(t,a),l=z.useRef(!1),u=Wh(()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(Sg,{bubbles:!0,cancelable:!0});e.addEventListener(Sg,e=>r?.(e),{once:!0}),Hc(e,t),t.defaultPrevented?l.current=!1:o.onClose()}},`handleSelect`);return(0,V.jsx)(wg,{...i,ref:c,disabled:n,onClick:G(e.onClick,u),onPointerDown:t=>{e.onPointerDown?.(t),l.current=!0},onPointerUp:G(e.onPointerUp,e=>{l.current||e.currentTarget?.click()}),onKeyDown:G(e.onKeyDown,e=>{n||e.target!==e.currentTarget||(s.searchRef.current===``||e.key!==` `)&&Gh.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})},`MenuItem`)),wg=z.forwardRef(Wh(function(e,t){let{__scopeMenu:n,disabled:r=!1,textValue:i,...a}=e,o=hg(xg,n),s=ng(n),c=z.useRef(null),l=yc(t,c),[u,d]=z.useState(!1),[f,p]=z.useState(``);return z.useEffect(()=>{let e=c.current;e&&p((e.textContent??``).trim())},[a.children]),(0,V.jsx)(Xh.ItemSlot,{scope:n,disabled:r,textValue:i??f,children:(0,V.jsx)(Lh,{asChild:!0,...s,focusable:!r,children:(0,V.jsx)(Vc.div,{role:`menuitem`,"data-highlighted":u?``:void 0,"aria-disabled":r||void 0,"data-disabled":r?``:void 0,...a,ref:l,onPointerMove:G(e.onPointerMove,Bg(e=>{r?o.onItemLeave(e):(o.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:G(e.onPointerLeave,Bg(e=>o.onItemLeave(e))),onFocus:G(e.onFocus,()=>d(!0)),onBlur:G(e.onBlur,()=>d(!1))})})})},`MenuItemImpl`)),[Tg,Eg]=$h(`MenuRadioGroup`,{value:void 0,onValueChange:Wh(()=>{},`onValueChange`)}),[Dg,Og]=$h(`MenuItemIndicator`,{checked:!1}),kg=z.forwardRef(Wh(function(e,t){let{__scopeMenu:n,...r}=e;return(0,V.jsx)(Vc.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})},`MenuSeparator`)),[Ag,jg]=$h(`MenuSub`);function Mg(e){return e?`open`:`closed`}Wh(Mg,`getOpenState`);function Ng(e){return e===`indeterminate`}Wh(Ng,`isIndeterminate`);function Pg(e){return Ng(e)?`indeterminate`:e?`checked`:`unchecked`}Wh(Pg,`getCheckedState`);function Fg(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}Wh(Fg,`focusFirst`);function Ig(e,t){return e.map((n,r)=>e[(t+r)%e.length])}Wh(Ig,`wrapArray`);function Lg(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=Ig(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}Wh(Lg,`getNextMatch`);function Rg(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}Wh(Rg,`isPointInPolygon`);function zg(e,t){return t?Rg({x:e.clientX,y:e.clientY},t):!1}Wh(zg,`isPointerInGraceArea`);function Bg(e){return t=>t.pointerType===`mouse`?e(t):void 0}Wh(Bg,`whenMouse`);var Vg=Object.defineProperty,Hg=(e,t)=>Vg(e,`name`,{value:t,configurable:!0}),Ug=`ContextMenu`,[Wg,Gg]=Xc(Ug,[eg]),Kg=eg(),[qg,Jg]=Wg(Ug),Yg=Hg(e=>{let{__scopeContextMenu:t,children:n,onOpenChange:r,open:i,dir:a,modal:o=!0}=e,s=z.useRef(!1),[c,l]=Ol({prop:i,defaultProp:!1,onChange:r,caller:Ug}),u=Kg(t);return(0,V.jsx)(qg,{scope:t,open:c,onOpenChange:l,modal:o,hasInteractedRef:s,children:(0,V.jsx)(sg,{...u,dir:a,open:c,onOpenChange:l,modal:o,children:n})})},`ContextMenu`),Xg=`ContextMenuTrigger`,Zg=z.forwardRef(Hg(function(e,t){let{__scopeContextMenu:n,disabled:r=!1,...i}=e,a=Jg(Xg,n),o=Kg(n),[s,c]=z.useState({x:0,y:0}),l=z.useMemo(()=>({current:{getBoundingClientRect:Hg(()=>DOMRect.fromRect({width:0,height:0,...s}),`getBoundingClientRect`)}}),[s]),u=z.useRef(0),d=z.useCallback(()=>window.clearTimeout(u.current),[]),f=Hg(e=>{a.hasInteractedRef.current=!0,c({x:e.clientX,y:e.clientY}),a.onOpenChange(!0)},`handleOpen`);return z.useEffect(()=>d,[d]),z.useEffect(()=>void(r&&d()),[r,d]),(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(cg,{...o,virtualRef:l}),(0,V.jsx)(Vc.span,{"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,...i,ref:t,style:{WebkitTouchCallout:`none`,...e.style},onContextMenu:r?e.onContextMenu:G(e.onContextMenu,e=>{d(),f(e),e.preventDefault()}),onPointerDown:r?e.onPointerDown:G(e.onPointerDown,r_(e=>{d(),a.open&&a.onOpenChange(!1),u.current=window.setTimeout(()=>f(e),700)})),onPointerMove:r?e.onPointerMove:G(e.onPointerMove,r_(d)),onPointerCancel:r?e.onPointerCancel:G(e.onPointerCancel,r_(d)),onPointerUp:r?e.onPointerUp:G(e.onPointerUp,r_(d))})]})},`ContextMenuTrigger`)),Qg=Hg(e=>{let{__scopeContextMenu:t,...n}=e,r=Kg(t);return(0,V.jsx)(fg,{...r,...n})},`ContextMenuPortal`),$g=`ContextMenuContent`,e_=z.forwardRef(Hg(function(e,t){let{__scopeContextMenu:n,...r}=e,i=Jg($g,n),a=Kg(n),o=z.useRef(!1);return(0,V.jsx)(gg,{...a,side:`right`,sideOffset:2,align:`start`,...r,ref:t,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),!t.defaultPrevented&&o.current&&t.preventDefault(),o.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),!t.defaultPrevented&&!i.modal&&(o.current=!0)},style:{...e.style,"--radix-context-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-context-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-context-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-context-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-context-menu-trigger-height":`var(--radix-popper-anchor-height)`}})},`ContextMenuContent`)),t_=z.forwardRef(Hg(function(e,t){let{__scopeContextMenu:n,...r}=e,i=Kg(n);return(0,V.jsx)(Cg,{...i,...r,ref:t})},`ContextMenuItem`)),n_=z.forwardRef(Hg(function(e,t){let{__scopeContextMenu:n,...r}=e,i=Kg(n);return(0,V.jsx)(kg,{...i,...r,ref:t})},`ContextMenuSeparator`));function r_(e){return t=>t.pointerType===`mouse`?void 0:e(t)}Hg(r_,`whenTouchOrPen`);var i_=Object.defineProperty,a_=(e,t)=>i_(e,`name`,{value:t,configurable:!0}),o_=`DropdownMenu`,[s_,c_]=Xc(o_,[eg]),l_=eg(),[u_,d_]=s_(o_),f_=a_(e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=l_(t),l=z.useRef(null),[u,d]=Ol({prop:i,defaultProp:a??!1,onChange:o,caller:o_});return(0,V.jsx)(u_,{scope:t,triggerId:Kl(),triggerRef:l,contentId:Kl(),open:u,onOpenChange:d,onOpenToggle:z.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,V.jsx)(sg,{...c,open:u,onOpenChange:d,dir:r,modal:s,children:n})})},`DropdownMenu`),p_=`DropdownMenuTrigger`,m_=z.forwardRef(a_(function(e,t){let{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,a=d_(p_,n),o=l_(n),s=yc(t,a.triggerRef);return(0,V.jsx)(cg,{asChild:!0,...o,children:(0,V.jsx)(Vc.button,{type:`button`,id:a.triggerId,"aria-haspopup":`menu`,"aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,disabled:r,...i,ref:s,onPointerDown:G(e.onPointerDown,e=>{!r&&e.button===0&&e.ctrlKey===!1&&(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:G(e.onKeyDown,e=>{r||([`Enter`,` `].includes(e.key)&&a.onOpenToggle(),e.key===`ArrowDown`&&a.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})},`DropdownMenuTrigger`)),h_=a_(e=>{let{__scopeDropdownMenu:t,...n}=e,r=l_(t);return(0,V.jsx)(fg,{...r,...n})},`DropdownMenuPortal`),g_=`DropdownMenuContent`,__=z.forwardRef(a_(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=d_(g_,n),a=l_(n),o=z.useRef(!1);return(0,V.jsx)(gg,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...r,ref:t,onCloseAutoFocus:G(e.onCloseAutoFocus,e=>{o.current||i.triggerRef.current?.focus(),o.current=!1,e.preventDefault()}),onInteractOutside:G(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;(!i.modal||r)&&(o.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)`}})},`DropdownMenuContent`)),v_=z.forwardRef(a_(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=l_(n);return(0,V.jsx)(Cg,{...i,...r,ref:t})},`DropdownMenuItem`)),y_=z.forwardRef(a_(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=l_(n);return(0,V.jsx)(kg,{...i,...r,ref:t})},`DropdownMenuSeparator`)),b_=Object.defineProperty,x_=(e,t)=>b_(e,`name`,{value:t,configurable:!0}),S_,C_=`HoverCard`,[w_,T_]=Xc(C_,[$m]),E_=$m(),[D_,O_]=w_(C_),k_=x_(e=>{let{__scopeHoverCard:t,children:n,open:r,defaultOpen:i,onOpenChange:a,openDelay:o=700,closeDelay:s=300}=e,c=E_(t),l=z.useRef(0),u=z.useRef(0),d=z.useRef(!1),f=z.useRef(!1),[p,m]=Ol({prop:r,defaultProp:i??!1,onChange:a,caller:C_}),h=z.useCallback(()=>{clearTimeout(u.current),l.current=window.setTimeout(()=>m(!0),o)},[o,m]),g=z.useCallback(()=>{clearTimeout(l.current),!d.current&&!f.current&&(u.current=window.setTimeout(()=>m(!1),s))},[s,m]),_=z.useCallback(()=>m(!1),[m]);return z.useEffect(()=>()=>{clearTimeout(l.current),clearTimeout(u.current)},[]),(0,V.jsx)(D_,{scope:t,open:p,onOpenChange:m,onOpen:h,onClose:g,onDismiss:_,hasSelectionRef:d,isPointerDownOnContentRef:f,children:(0,V.jsx)(nh,{...c,children:n})})},`HoverCard`),A_=`HoverCardTrigger`,j_=z.forwardRef(x_(function(e,t){let{__scopeHoverCard:n,...r}=e,i=O_(A_,n),a=E_(n);return(0,V.jsx)(ih,{asChild:!0,...a,children:(0,V.jsx)(Vc.a,{"data-state":i.open?`open`:`closed`,...r,ref:t,onPointerEnter:G(e.onPointerEnter,z_(i.onOpen)),onPointerLeave:G(e.onPointerLeave,z_(i.onClose)),onFocus:G(e.onFocus,i.onOpen),onBlur:G(e.onBlur,i.onClose),onTouchStart:G(e.onTouchStart,e=>e.preventDefault())})})},`HoverCardTrigger`)),M_=`HoverCardPortal`,[N_,P_]=w_(M_,{forceMount:void 0}),F_=x_(e=>{let{__scopeHoverCard:t,forceMount:n,children:r,container:i}=e,a=O_(M_,t);return(0,V.jsx)(N_,{scope:t,forceMount:n,children:(0,V.jsx)(Il,{present:n||a.open,children:(0,V.jsx)(Lu,{asChild:!0,container:i,children:r})})})},`HoverCardPortal`),I_=`HoverCardContent`,L_=z.forwardRef(x_(function(e,t){let n=P_(I_,e.__scopeHoverCard),{forceMount:r=n.forceMount,...i}=e,a=O_(I_,e.__scopeHoverCard);return(0,V.jsx)(Il,{present:r||a.open,children:(0,V.jsx)(R_,{"data-state":a.open?`open`:`closed`,...i,onPointerEnter:G(e.onPointerEnter,z_(a.onOpen)),onPointerLeave:G(e.onPointerLeave,z_(a.onClose)),ref:t})})},`HoverCardContent`)),R_=z.forwardRef(x_(function(e,t){let{__scopeHoverCard:n,onEscapeKeyDown:r,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:o,...s}=e,c=O_(I_,n),l=E_(n),u=z.useRef(null),[d,f]=z.useState(null),p=yc(t,u,f);wu(d);let[m,h]=z.useState(!1);return z.useEffect(()=>{if(m){let e=document.body;return S_=e.style.userSelect||e.style.webkitUserSelect,e.style.userSelect=`none`,e.style.webkitUserSelect=`none`,()=>{e.style.userSelect=S_,e.style.webkitUserSelect=S_}}},[m]),z.useEffect(()=>{if(u.current){let e=x_(()=>{h(!1),c.isPointerDownOnContentRef.current=!1,setTimeout(()=>{document.getSelection()?.toString()!==``&&(c.hasSelectionRef.current=!0)})},`handlePointerUp`);return document.addEventListener(`pointerup`,e),()=>{document.removeEventListener(`pointerup`,e),c.hasSelectionRef.current=!1,c.isPointerDownOnContentRef.current=!1}}},[c.isPointerDownOnContentRef,c.hasSelectionRef]),z.useEffect(()=>{u.current&&B_(u.current).forEach(e=>e.setAttribute(`tabindex`,`-1`))}),(0,V.jsx)(cu,{asChild:!0,disableOutsidePointerEvents:!1,onInteractOutside:o,onEscapeKeyDown:r,onPointerDownOutside:i,onFocusOutside:G(a,e=>{e.preventDefault()}),onDismiss:c.onDismiss,children:(0,V.jsx)(ch,{...l,...s,onPointerDown:G(s.onPointerDown,e=>{e.currentTarget.contains(e.target)&&h(!0),c.hasSelectionRef.current=!1,c.isPointerDownOnContentRef.current=!0}),ref:p,style:{...s.style,userSelect:m?`text`:void 0,WebkitUserSelect:m?`text`:void 0,"--radix-hover-card-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-hover-card-content-available-width":`var(--radix-popper-available-width)`,"--radix-hover-card-content-available-height":`var(--radix-popper-available-height)`,"--radix-hover-card-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-hover-card-trigger-height":`var(--radix-popper-anchor-height)`}})})},`HoverCardContentImpl`));function z_(e){return t=>t.pointerType===`touch`?void 0:e()}x_(z_,`excludeTouch`);function B_(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:x_(e=>e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP,`acceptNode`)});for(;n.nextNode();)t.push(n.currentNode);return t}x_(B_,`getTabbableNodes`);var V_=Object.defineProperty,H_=(e,t)=>V_(e,`name`,{value:t,configurable:!0}),U_=`Popover`,[W_,G_]=Xc(U_,[$m]),K_=$m(),[q_,J_]=W_(U_),Y_=H_(e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=K_(t),c=z.useRef(null),[l,u]=z.useState(!1),[d,f]=z.useState(0),[p,m]=z.useState(0),[h,g]=Ol({prop:r,defaultProp:i??!1,onChange:a,caller:U_});return(0,V.jsx)(nh,{...s,children:(0,V.jsx)(q_,{scope:t,contentId:Kl(),titleId:Kl(),descriptionId:Kl(),titlePresent:d>0,descriptionPresent:p>0,setTitleCount:f,setDescriptionCount:m,triggerRef:c,open:h,onOpenChange:g,onOpenToggle:z.useCallback(()=>g(e=>!e),[g]),hasCustomAnchor:l,onCustomAnchorAdd:z.useCallback(()=>u(!0),[]),onCustomAnchorRemove:z.useCallback(()=>u(!1),[]),modal:o,children:n})})},`Popover`),X_=`PopoverTrigger`,Z_=z.forwardRef(H_(function(e,t){let{__scopePopover:n,...r}=e,i=J_(X_,n),a=K_(n),o=yc(t,i.triggerRef),s=(0,V.jsx)(Vc.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":cv(i.open),...r,ref:o,onClick:G(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:(0,V.jsx)(ih,{asChild:!0,...a,children:s})},`PopoverTrigger`)),Q_=`PopoverPortal`,[$_,ev]=W_(Q_,{forceMount:void 0}),tv=H_(e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=J_(Q_,t);return(0,V.jsx)($_,{scope:t,forceMount:n,children:(0,V.jsx)(Il,{present:n||a.open,children:(0,V.jsx)(Lu,{asChild:!0,container:i,children:r})})})},`PopoverPortal`),nv=`PopoverContent`,rv=z.forwardRef(H_(function(e,t){let n=ev(nv,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=J_(nv,e.__scopePopover);return(0,V.jsx)(Il,{present:r||a.open,children:a.modal?(0,V.jsx)(av,{...i,ref:t}):(0,V.jsx)(ov,{...i,ref:t})})},`PopoverContent`)),iv=Sc(`PopoverContent.RemoveScroll`),av=z.forwardRef(H_(function(e,t){let n=J_(nv,e.__scopePopover),r=z.useRef(null),i=yc(t,r),a=z.useRef(!1),{nodes:o,registry:s}=Cu();return z.useEffect(()=>{let e=r.current;if(e)return of(e)},[]),(0,V.jsx)(Xd,{as:iv,allowPinchZoom:!0,shards:z.useMemo(()=>[r,...o.map(e=>({current:e}))],[r,o]),children:(0,V.jsx)(sv,{...e,ref:i,branchNodes:o,branchRegistry:s,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:G(e.onCloseAutoFocus,e=>{e.preventDefault(),a.current||n.triggerRef.current?.focus()}),onPointerDownOutside:G(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;a.current=r},{checkForDefaultPrevented:!1}),onFocusOutside:G(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})},`PopoverContentModal`)),ov=z.forwardRef(H_(function(e,t){let n=J_(nv,e.__scopePopover),r=z.useRef(!1),i=z.useRef(!1);return(0,V.jsx)(sv,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})},`PopoverContentNonModal`)),sv=z.forwardRef(H_(function(e,t){let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onInteractOutside:u,"aria-describedby":d,branchNodes:f,branchRegistry:p,...m}=e,h=J_(nv,n),g=K_(n),[_,v]=z.useState(null),y=yc(t,v);return wu(_),Uu(),(0,V.jsx)(Su,{registry:p,children:(0,V.jsx)(bu,{asChild:!0,loop:!0,trapped:r,branches:f,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,V.jsx)(cu,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>h.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,V.jsx)(ch,{"data-state":cv(h.open),role:`dialog`,id:h.contentId,"aria-labelledby":h.titlePresent?h.titleId:void 0,"aria-describedby":h.descriptionPresent?lv(d,h.descriptionId):d,...g,...m,ref:y,style:{...m.style,"--radix-popover-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-popover-content-available-width":`var(--radix-popper-available-width)`,"--radix-popover-content-available-height":`var(--radix-popper-available-height)`,"--radix-popover-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-popover-trigger-height":`var(--radix-popper-anchor-height)`}})})})})},`PopoverContentImpl`));function cv(e){return e?`open`:`closed`}H_(cv,`getState`);function lv(...e){let t=new Set;for(let n of e)if(typeof n==`string`)for(let e of String(n).trim().split(/\s+/))e&&t.add(e);return t.size>0?Array.from(t).join(` `):void 0}H_(lv,`concatAriaDescribedby`);var uv=Object.defineProperty,dv=(e,t)=>uv(e,`name`,{value:t,configurable:!0}),fv=`Toggle`,pv=z.forwardRef(dv(function(e,t){let{pressed:n,defaultPressed:r,onPressedChange:i,...a}=e,[o,s]=Ol({prop:n,onChange:i,defaultProp:r??!1,caller:fv});return(0,V.jsx)(Vc.button,{type:`button`,"aria-pressed":o,"data-state":o?`on`:`off`,"data-disabled":e.disabled?``:void 0,...a,ref:t,onClick:G(e.onClick,()=>{e.disabled||s(!o)})})},`Toggle`)),mv=Object.defineProperty,hv=(e,t)=>mv(e,`name`,{value:t,configurable:!0}),gv=`ToggleGroup`,_v={Single:`single`,Multiple:`multiple`},[vv,yv]=Xc(gv,[kh]),bv=kh(),xv=z.forwardRef(hv(function(e,t){let{type:n,...r}=e;if(n===_v.Single)return(0,V.jsx)(wv,{role:`radiogroup`,...r,ref:t});if(n===_v.Multiple)return(0,V.jsx)(Tv,{role:`toolbar`,...r,ref:t});throw Error(`Missing prop \`type\` expected on \`${gv}\``)},`ToggleGroup`)),[Sv,Cv]=vv(gv),wv=z.forwardRef(hv(function(e,t){let{value:n,defaultValue:r,onValueChange:i=hv(()=>{},`onValueChange`),...a}=e,[o,s]=Ol({prop:n,defaultProp:r??``,onChange:i,caller:gv});return(0,V.jsx)(Sv,{scope:e.__scopeToggleGroup,type:_v.Single,value:z.useMemo(()=>o?[o]:[],[o]),onItemActivate:s,onItemDeactivate:z.useCallback(()=>s(``),[s]),children:(0,V.jsx)(Ov,{...a,ref:t})})},`ToggleGroupImplSingle`)),Tv=z.forwardRef(hv(function(e,t){let{value:n,defaultValue:r,onValueChange:i=hv(()=>{},`onValueChange`),...a}=e,[o,s]=Ol({prop:n,defaultProp:r??[],onChange:i,caller:gv}),c=z.useCallback(e=>s((t=[])=>[...t,e]),[s]),l=z.useCallback(e=>s((t=[])=>t.filter(t=>t!==e)),[s]);return(0,V.jsx)(Sv,{scope:e.__scopeToggleGroup,type:_v.Multiple,value:o,onItemActivate:c,onItemDeactivate:l,children:(0,V.jsx)(Ov,{...a,ref:t})})},`ToggleGroupImplMultiple`)),[Ev,Dv]=vv(gv),Ov=z.forwardRef(hv(function(e,t){let{__scopeToggleGroup:n,disabled:r=!1,rovingFocus:i=!0,orientation:a,dir:o,loop:s=!0,...c}=e,l=bv(n),u=Zl(o),d={dir:u,...c};return(0,V.jsx)(Ev,{scope:n,rovingFocus:i,disabled:r,children:i?(0,V.jsx)(Ph,{asChild:!0,...l,orientation:a,dir:u,loop:s,children:(0,V.jsx)(Vc.div,{...d,ref:t})}):(0,V.jsx)(Vc.div,{...d,ref:t})})},`ToggleGroupImpl`)),kv=`ToggleGroupItem`,Av=z.forwardRef(hv(function(e,t){let n=Cv(kv,e.__scopeToggleGroup),r=Dv(kv,e.__scopeToggleGroup),i=bv(e.__scopeToggleGroup),a=n.value.includes(e.value),o=r.disabled||e.disabled,s={...e,pressed:a,disabled:o},c=z.useRef(null);return r.rovingFocus?(0,V.jsx)(Lh,{asChild:!0,...i,focusable:!o,active:a,ref:c,children:(0,V.jsx)(jv,{...s,ref:t})}):(0,V.jsx)(jv,{...s,ref:t})},`ToggleGroupItem`)),jv=z.forwardRef(hv(function(e,t){let{__scopeToggleGroup:n,value:r,...i}=e,a=Cv(kv,n),o={role:`radio`,"aria-checked":e.pressed,"aria-pressed":void 0},s=a.type===_v.Single?o:void 0;return(0,V.jsx)(pv,{...s,...i,ref:t,onPressedChange:e=>{e?a.onItemActivate(r):a.onItemDeactivate(r)}})},`ToggleGroupItemImpl`)),Mv=Object.defineProperty,Nv=(e,t)=>Mv(e,`name`,{value:t,configurable:!0}),[Pv,Fv]=Xc(`Tooltip`,[$m]),Iv=$m(),Lv=`TooltipProvider`,Rv=700,zv=`tooltip.open`,[Bv,Vv]=Pv(Lv),Hv=Nv(e=>{let{__scopeTooltip:t,delayDuration:n=Rv,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=z.useRef(!0),s=z.useRef(!1),c=z.useRef(0);return z.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,V.jsx)(Bv,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:z.useCallback(()=>{r<=0||(window.clearTimeout(c.current),o.current=!1)},[r]),onClose:z.useCallback(()=>{r<=0||(window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r))},[r]),isPointerInTransitRef:s,onPointerInTransitChange:z.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})},`TooltipProvider`),Uv=`Tooltip`,[Wv,Gv]=Pv(Uv),Kv=Nv(e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=Vv(Uv,e.__scopeTooltip),l=Iv(t),[u,d]=z.useState(null),[f,p]=z.useState(void 0),m=Kl(),h=z.useRef(0),g=o??c.disableHoverableContent,_=s??c.delayDuration,v=z.useRef(!1),[y,b]=Ol({prop:r,defaultProp:i??!1,onChange:Nv(e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(zv))):c.onClose(),a?.(e)},`onChange`),caller:Uv}),x=z.useMemo(()=>y?v.current?`delayed-open`:`instant-open`:`closed`,[y]),S=z.useCallback(()=>{window.clearTimeout(h.current),h.current=0,v.current=!1,b(!0)},[b]),C=z.useCallback(()=>{window.clearTimeout(h.current),h.current=0,b(!1)},[b]),w=z.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>{v.current=!0,b(!0),h.current=0},_)},[_,b]);z.useEffect(()=>()=>{h.current&&=(window.clearTimeout(h.current),0)},[]);let T=f??m;return(0,V.jsx)(nh,{...l,children:(0,V.jsx)(Wv,{scope:t,contentId:T,setContentId:p,open:y,stateAttribute:x,trigger:u,onTriggerChange:d,onTriggerEnter:z.useCallback(()=>{c.isOpenDelayedRef.current?w():S()},[c.isOpenDelayedRef,w,S]),onTriggerLeave:z.useCallback(()=>{g?C():(window.clearTimeout(h.current),h.current=0)},[C,g]),onOpen:S,onClose:C,disableHoverableContent:g,children:n})})},`Tooltip`),qv=`TooltipTrigger`,Jv=z.forwardRef(Nv(function(e,t){let{__scopeTooltip:n,"aria-describedby":r,...i}=e,a=Gv(qv,n),o=Vv(qv,n),s=Iv(n),c=yc(t,z.useRef(null),a.onTriggerChange),l=z.useRef(!1),u=z.useRef(!1),d=z.useCallback(()=>l.current=!1,[]);return z.useEffect(()=>()=>document.removeEventListener(`pointerup`,d),[d]),(0,V.jsx)(ih,{asChild:!0,...s,children:(0,V.jsx)(Vc.button,{"aria-describedby":a.open?uy(r,a.contentId):r,"data-state":a.stateAttribute,...i,ref:c,onPointerMove:G(e.onPointerMove,e=>{e.pointerType!==`touch`&&!u.current&&!o.isPointerInTransitRef.current&&(a.onTriggerEnter(),u.current=!0)}),onPointerLeave:G(e.onPointerLeave,()=>{a.onTriggerLeave(),u.current=!1}),onPointerDown:G(e.onPointerDown,()=>{a.open&&a.onClose(),l.current=!0,document.addEventListener(`pointerup`,d,{once:!0})}),onFocus:G(e.onFocus,()=>{l.current||a.onOpen()}),onBlur:G(e.onBlur,a.onClose),onClick:G(e.onClick,a.onClose)})})},`TooltipTrigger`)),Yv=`TooltipPortal`,[Xv,Zv]=Pv(Yv,{forceMount:void 0}),Qv=Nv(e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=Gv(Yv,t);return(0,V.jsx)(Xv,{scope:t,forceMount:n,children:(0,V.jsx)(Il,{present:n||a.open,children:(0,V.jsx)(Lu,{asChild:!0,container:i,children:r})})})},`TooltipPortal`),$v=`TooltipContent`,ey=z.forwardRef(Nv(function(e,t){let n=Zv($v,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=Gv($v,e.__scopeTooltip);return(0,V.jsx)(Il,{present:r||o.open,children:o.disableHoverableContent?(0,V.jsx)(ry,{side:i,...a,ref:t}):(0,V.jsx)(ty,{side:i,...a,ref:t})})},`TooltipContent`)),ty=z.forwardRef(Nv(function(e,t){let n=Gv($v,e.__scopeTooltip),r=Vv($v,e.__scopeTooltip),i=z.useRef(null),a=yc(t,i),[o,s]=z.useState(null),{trigger:c,onClose:l}=n,u=i.current,{onPointerInTransitChange:d}=r,f=z.useCallback(()=>{s(null),d(!1)},[d]),p=z.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=ay(r,iy(r,n.getBoundingClientRect())),a=oy(t.getBoundingClientRect()),o=cy([...i,...a]);s(o),d(!0)},[d]);return z.useEffect(()=>()=>f(),[f]),z.useEffect(()=>{if(c&&u){let e=Nv(e=>p(e,u),`handleTriggerLeave`),t=Nv(e=>p(e,c),`handleContentLeave`);return c.addEventListener(`pointerleave`,e),u.addEventListener(`pointerleave`,t),()=>{c.removeEventListener(`pointerleave`,e),u.removeEventListener(`pointerleave`,t)}}},[c,u,p,f]),z.useEffect(()=>{if(o){let e=Nv(e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||u?.contains(t),i=!sy(n,o);r?f():i&&(f(),l())},`handleTrackPointerGrace`);return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,V.jsx)(ry,{...e,ref:a})},`TooltipContentHoverable`)),ny=Tc(`TooltipContent`),ry=z.forwardRef(Nv(function(e,t){let{__scopeTooltip:n,children:r,"aria-label":i,id:a,onEscapeKeyDown:o,onPointerDownOutside:s,...c}=e,l=Gv($v,n),u=Iv(n),{onClose:d}=l,[f,p]=z.useState(null),m=yc(t,p);wu(f),z.useEffect(()=>(document.addEventListener(zv,d),()=>document.removeEventListener(zv,d)),[d]),z.useEffect(()=>{if(l.trigger){let e=Nv(e=>{e.target instanceof Node&&e.target.contains(l.trigger)&&d()},`handleScroll`);return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[l.trigger,d]);let{setContentId:h}=l;return Qc(()=>(h(a),()=>{h(void 0)}),[a,h]),(0,V.jsx)(cu,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:d,children:(0,V.jsxs)(ch,{"data-state":l.stateAttribute,role:i?void 0:`tooltip`,id:i?void 0:l.contentId,...u,...c,ref:m,style:{...c.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:[(0,V.jsx)(ny,{children:r}),i?(0,V.jsx)(Kc,{id:l.contentId,role:`tooltip`,children:i}):null]})})},`TooltipContentImpl`));function iy(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}Nv(iy,`getExitSideFromRect`);function ay(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n})}return r}Nv(ay,`getPaddedExitPoints`);function oy(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}Nv(oy,`getPointsFromRect`);function sy(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}Nv(sy,`isPointInPolygon`);function cy(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),ly(t)}Nv(cy,`getHull`);function ly(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}Nv(ly,`getHullPresorted`);function uy(...e){let t=new Set;for(let n of e)if(typeof n==`string`)for(let e of String(n).trim().split(/\s+/))e&&t.add(e);return t.size>0?Array.from(t).join(` `):void 0}Nv(uy,`concatAriaDescribedby`);var dy=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},fy=(e,t)=>({classGroupId:e,validator:t}),py=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),my=`-`,hy=[],gy=`arbitrary..`,_y=e=>{let t=by(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return yy(e);let n=e.split(my);return vy(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?dy(i,t):t:i||hy}return n[e]||hy}}},vy=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=vy(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(my):e.slice(t).join(my),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},yy=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?gy+r:void 0})(),by=e=>{let{theme:t,classGroups:n}=e;return xy(n,t)},xy=(e,t)=>{let n=py();for(let r in e){let i=e[r];Sy(i,n,r,t)}return n},Sy=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];Cy(i,t,n,r)}},Cy=(e,t,n,r)=>{typeof e==`string`?wy(e,t,n):typeof e==`function`?Ty(e,t,n,r):Ey(e,t,n,r)},wy=(e,t,n)=>{let r=e===``?t:Dy(t,e);r.classGroupId=n},Ty=(e,t,n,r)=>{Oy(e)?Sy(e(r),t,n,r):(t.validators===null&&(t.validators=[]),t.validators.push(fy(n,e)))},Ey=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];Sy(o,Dy(t,a),n,r)}},Dy=(e,t)=>{let n=e,r=t.split(my),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=py(),n.nextPart.set(t,i)),n=i}return n},Oy=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,ky=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},Ay=`!`,jy=`:`,My=[],Ny=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),Py=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===jy){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(Ay)?(c=s.slice(0,-1),l=!0):s.startsWith(Ay)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return Ny(t,l,c,u)};if(t){let e=t+jy,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):Ny(My,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},Fy=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},Iy=e=>({cache:ky(e.cacheSize),parseClassName:Py(e),sortModifiers:Fy(e),postfixLookupClassGroupIds:Ly(e),..._y(e)}),Ly=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e<n.length;e++)t[n[e]]=!0;return t},Ry=/\s+/,zy=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(Ry),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:m}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let h=!!m,g;if(h){g=r(p.substring(0,m));let e=g&&o[g]?r(p):void 0;e&&e!==g&&(g=e,h=!1)}else g=r(p);if(!g){if(!h||(g=r(p),!g)){l=t+(l.length>0?` `+l:l);continue}h=!1}let _=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),v=f?_+Ay:_,y=v+g;if(s.indexOf(y)>-1)continue;s.push(y);let b=i(g,h);for(let e=0;e<b.length;++e){let t=b[e];s.push(v+t)}l=t+(l.length>0?` `+l:l)}return l},By=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=Vy(n))&&(i&&(i+=` `),i+=r);return i},Vy=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=Vy(e[r]))&&(n&&(n+=` `),n+=t);return n},Hy=(e,...t)=>{let n,r,i,a,o=o=>(n=Iy(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=zy(e,n);return i(e,a),a};return a=o,(...e)=>a(By(...e))},Uy=[],Wy=e=>{let t=t=>t[e]||Uy;return t.isThemeGetter=!0,t.themeKey=e,t},Gy=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Ky=/^\((?:(\w[\w-]*):)?(.+)\)$/i,qy=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Jy=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Yy=/\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$/,Xy=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix|color|light-dark)\(.+\)$/,Zy=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Qy=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,$y=e=>qy.test(e),X=e=>!!e&&!Number.isNaN(Number(e)),eb=e=>!!e&&Number.isInteger(Number(e)),tb=e=>e.endsWith(`%`)&&X(e.slice(0,-1)),nb=e=>Jy.test(e),rb=()=>!0,ib=e=>Yy.test(e)&&!Xy.test(e),ab=()=>!1,ob=e=>Zy.test(e),sb=e=>Qy.test(e),cb=e=>!Z(e)&&!Q(e),lb=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)),ub=e=>Tb(e,kb,ab),Z=e=>Gy.test(e),db=e=>Tb(e,Ab,ib),fb=e=>Tb(e,jb,X),pb=e=>Tb(e,Nb,rb),mb=e=>Tb(e,Mb,ab),hb=e=>Tb(e,Db,ab),gb=e=>Tb(e,Ob,sb),_b=e=>Tb(e,Pb,ob),Q=e=>Ky.test(e),vb=e=>Eb(e,Ab),yb=e=>Eb(e,Mb),bb=e=>Eb(e,Db),xb=e=>Eb(e,kb),Sb=e=>Eb(e,Ob),Cb=e=>Eb(e,Pb,!0),wb=e=>Eb(e,Nb,!0),Tb=(e,t,n)=>{let r=Gy.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Eb=(e,t,n=!1)=>{let r=Ky.exec(e);return r?r[1]?t(r[1]):n:!1},Db=e=>e===`position`||e===`percentage`,Ob=e=>e===`image`||e===`url`,kb=e=>e===`length`||e===`size`||e===`bg-size`,Ab=e=>e===`length`,jb=e=>e===`number`,Mb=e=>e===`family-name`,Nb=e=>e===`number`||e===`weight`,Pb=e=>e===`shadow`,Fb=()=>{let e=Wy(`color`),t=Wy(`font`),n=Wy(`text`),r=Wy(`font-weight`),i=Wy(`tracking`),a=Wy(`leading`),o=Wy(`breakpoint`),s=Wy(`container`),c=Wy(`spacing`),l=Wy(`radius`),u=Wy(`shadow`),d=Wy(`inset-shadow`),f=Wy(`text-shadow`),p=Wy(`drop-shadow`),m=Wy(`blur`),h=Wy(`perspective`),g=Wy(`aspect`),_=Wy(`ease`),v=Wy(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),Q,Z],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[Q,Z,c],T=()=>[$y,`full`,`auto`,...w()],E=()=>[eb,`none`,`subgrid`,Q,Z],D=()=>[`auto`,{span:[`full`,eb,Q,Z]},eb,Q,Z],O=()=>[eb,`auto`,Q,Z],k=()=>[`auto`,`min`,`max`,`fr`,Q,Z],A=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],j=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],M=()=>[`auto`,...w()],ee=()=>[$y,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],te=()=>[s,$y,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],ne=()=>[$y,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],N=()=>[e,Q,Z],re=()=>[...b(),bb,hb,{position:[Q,Z]}],ie=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],ae=()=>[`auto`,`cover`,`contain`,xb,ub,{size:[Q,Z]}],oe=()=>[tb,vb,db],se=()=>[``,`none`,`full`,l,Q,Z],ce=()=>[``,X,vb,db],le=()=>[`solid`,`dashed`,`dotted`,`double`],ue=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],de=()=>[X,tb,bb,hb],fe=()=>[``,`none`,m,Q,Z],pe=()=>[`none`,X,Q,Z],me=()=>[`none`,X,Q,Z],P=()=>[X,Q,Z],F=()=>[$y,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[nb],breakpoint:[nb],color:[rb],container:[nb],"drop-shadow":[nb],ease:[`in`,`out`,`in-out`],font:[cb],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[nb],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[nb],shadow:[nb],spacing:[`px`,X],text:[nb],"text-shadow":[nb],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,$y,Z,Q,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,Q,Z]}],"container-named":[lb],columns:[{columns:[X,`auto`,Z,Q,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"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:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[eb,`auto`,Q,Z]}],basis:[{basis:[$y,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[X,$y,`auto`,`initial`,`none`,Z]}],grow:[{grow:[``,X,Q,Z]}],shrink:[{shrink:[``,X,Q,Z]}],order:[{order:[eb,`first`,`last`,`none`,Q,Z]}],"grid-cols":[{"grid-cols":E()}],"col-start-end":[{col:D()}],"col-start":[{"col-start":O()}],"col-end":[{"col-end":O()}],"grid-rows":[{"grid-rows":E()}],"row-start-end":[{row:D()}],"row-start":[{"row-start":O()}],"row-end":[{"row-end":O()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":k()}],"auto-rows":[{"auto-rows":k()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...A(),`normal`]}],"justify-items":[{"justify-items":[...j(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...j()]}],"align-content":[{content:[`normal`,...A()]}],"align-items":[{items:[...j(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...j(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":A()}],"place-items":[{"place-items":[...j(),`baseline`]}],"place-self":[{"place-self":[`auto`,...j()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:M()}],mx:[{mx:M()}],my:[{my:M()}],ms:[{ms:M()}],me:[{me:M()}],mbs:[{mbs:M()}],mbe:[{mbe:M()}],mt:[{mt:M()}],mr:[{mr:M()}],mb:[{mb:M()}],ml:[{ml:M()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:ee()}],"inline-size":[{inline:[`auto`,...te()]}],"min-inline-size":[{"min-inline":[`auto`,...te()]}],"max-inline-size":[{"max-inline":[`none`,...te()]}],"block-size":[{block:[`auto`,...ne()]}],"min-block-size":[{"min-block":[`auto`,...ne()]}],"max-block-size":[{"max-block":[`none`,...ne()]}],w:[{w:[s,`screen`,...ee()]}],"min-w":[{"min-w":[s,`screen`,`none`,...ee()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...ee()]}],h:[{h:[`screen`,`lh`,...ee()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...ee()]}],"max-h":[{"max-h":[`screen`,`lh`,`none`,...ee()]}],"font-size":[{text:[`base`,n,vb,db]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,wb,pb]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,tb,Z]}],"font-family":[{font:[yb,mb,t]}],"font-features":[{"font-features":[Z]}],"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:[i,Q,Z]}],"line-clamp":[{"line-clamp":[X,`none`,Q,fb]}],leading:[{leading:[`none`,a,...w()]}],"list-image":[{"list-image":[`none`,Q,Z]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,Q,Z]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:N()}],"text-color":[{text:N()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...le(),`wavy`]}],"text-decoration-thickness":[{decoration:[X,`from-font`,`auto`,Q,db]}],"text-decoration-color":[{decoration:N()}],"underline-offset":[{"underline-offset":[X,`auto`,Q,Z]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"tab-size":[{tab:[eb,Q,Z]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,Q,Z]}],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`,Q,Z]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:re()}],"bg-repeat":[{bg:ie()}],"bg-size":[{bg:ae()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},eb,Q,Z],radial:[``,Q,Z],conic:[``,eb,Q,Z]},Sb,gb]}],"bg-color":[{bg:N()}],"gradient-from-pos":[{from:oe()}],"gradient-via-pos":[{via:oe()}],"gradient-to-pos":[{to:oe()}],"gradient-from":[{from:N()}],"gradient-via":[{via:N()}],"gradient-to":[{to:N()}],rounded:[{rounded:se()}],"rounded-s":[{"rounded-s":se()}],"rounded-e":[{"rounded-e":se()}],"rounded-t":[{"rounded-t":se()}],"rounded-r":[{"rounded-r":se()}],"rounded-b":[{"rounded-b":se()}],"rounded-l":[{"rounded-l":se()}],"rounded-ss":[{"rounded-ss":se()}],"rounded-se":[{"rounded-se":se()}],"rounded-ee":[{"rounded-ee":se()}],"rounded-es":[{"rounded-es":se()}],"rounded-tl":[{"rounded-tl":se()}],"rounded-tr":[{"rounded-tr":se()}],"rounded-br":[{"rounded-br":se()}],"rounded-bl":[{"rounded-bl":se()}],"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:[...le(),`hidden`,`none`]}],"divide-style":[{divide:[...le(),`hidden`,`none`]}],"border-color":[{border:N()}],"border-color-x":[{"border-x":N()}],"border-color-y":[{"border-y":N()}],"border-color-s":[{"border-s":N()}],"border-color-e":[{"border-e":N()}],"border-color-bs":[{"border-bs":N()}],"border-color-be":[{"border-be":N()}],"border-color-t":[{"border-t":N()}],"border-color-r":[{"border-r":N()}],"border-color-b":[{"border-b":N()}],"border-color-l":[{"border-l":N()}],"divide-color":[{divide:N()}],"outline-style":[{outline:[...le(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[X,Q,Z]}],"outline-w":[{outline:[``,X,vb,db]}],"outline-color":[{outline:N()}],shadow:[{shadow:[``,`inner`,`none`,u,Cb,_b]}],"shadow-color":[{shadow:N()}],"inset-shadow":[{"inset-shadow":[`none`,d,Cb,_b]}],"inset-shadow-color":[{"inset-shadow":N()}],"ring-w":[{ring:ce()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:N()}],"ring-offset-w":[{"ring-offset":[X,db]}],"ring-offset-color":[{"ring-offset":N()}],"inset-ring-w":[{"inset-ring":ce()}],"inset-ring-color":[{"inset-ring":N()}],"text-shadow":[{"text-shadow":[`none`,f,Cb,_b]}],"text-shadow-color":[{"text-shadow":N()}],opacity:[{opacity:[X,Q,Z]}],"mix-blend":[{"mix-blend":[...ue(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":ue()}],"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":[X]}],"mask-image-linear-from-pos":[{"mask-linear-from":de()}],"mask-image-linear-to-pos":[{"mask-linear-to":de()}],"mask-image-linear-from-color":[{"mask-linear-from":N()}],"mask-image-linear-to-color":[{"mask-linear-to":N()}],"mask-image-t-from-pos":[{"mask-t-from":de()}],"mask-image-t-to-pos":[{"mask-t-to":de()}],"mask-image-t-from-color":[{"mask-t-from":N()}],"mask-image-t-to-color":[{"mask-t-to":N()}],"mask-image-r-from-pos":[{"mask-r-from":de()}],"mask-image-r-to-pos":[{"mask-r-to":de()}],"mask-image-r-from-color":[{"mask-r-from":N()}],"mask-image-r-to-color":[{"mask-r-to":N()}],"mask-image-b-from-pos":[{"mask-b-from":de()}],"mask-image-b-to-pos":[{"mask-b-to":de()}],"mask-image-b-from-color":[{"mask-b-from":N()}],"mask-image-b-to-color":[{"mask-b-to":N()}],"mask-image-l-from-pos":[{"mask-l-from":de()}],"mask-image-l-to-pos":[{"mask-l-to":de()}],"mask-image-l-from-color":[{"mask-l-from":N()}],"mask-image-l-to-color":[{"mask-l-to":N()}],"mask-image-x-from-pos":[{"mask-x-from":de()}],"mask-image-x-to-pos":[{"mask-x-to":de()}],"mask-image-x-from-color":[{"mask-x-from":N()}],"mask-image-x-to-color":[{"mask-x-to":N()}],"mask-image-y-from-pos":[{"mask-y-from":de()}],"mask-image-y-to-pos":[{"mask-y-to":de()}],"mask-image-y-from-color":[{"mask-y-from":N()}],"mask-image-y-to-color":[{"mask-y-to":N()}],"mask-image-radial":[{"mask-radial":[Q,Z]}],"mask-image-radial-from-pos":[{"mask-radial-from":de()}],"mask-image-radial-to-pos":[{"mask-radial-to":de()}],"mask-image-radial-from-color":[{"mask-radial-from":N()}],"mask-image-radial-to-color":[{"mask-radial-to":N()}],"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":b()}],"mask-image-conic-pos":[{"mask-conic":[X]}],"mask-image-conic-from-pos":[{"mask-conic-from":de()}],"mask-image-conic-to-pos":[{"mask-conic-to":de()}],"mask-image-conic-from-color":[{"mask-conic-from":N()}],"mask-image-conic-to-color":[{"mask-conic-to":N()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:re()}],"mask-repeat":[{mask:ie()}],"mask-size":[{mask:ae()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,Q,Z]}],filter:[{filter:[``,`none`,Q,Z]}],blur:[{blur:fe()}],brightness:[{brightness:[X,Q,Z]}],contrast:[{contrast:[X,Q,Z]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Cb,_b]}],"drop-shadow-color":[{"drop-shadow":N()}],grayscale:[{grayscale:[``,X,Q,Z]}],"hue-rotate":[{"hue-rotate":[X,Q,Z]}],invert:[{invert:[``,X,Q,Z]}],saturate:[{saturate:[X,Q,Z]}],sepia:[{sepia:[``,X,Q,Z]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,Q,Z]}],"backdrop-blur":[{"backdrop-blur":fe()}],"backdrop-brightness":[{"backdrop-brightness":[X,Q,Z]}],"backdrop-contrast":[{"backdrop-contrast":[X,Q,Z]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,X,Q,Z]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[X,Q,Z]}],"backdrop-invert":[{"backdrop-invert":[``,X,Q,Z]}],"backdrop-opacity":[{"backdrop-opacity":[X,Q,Z]}],"backdrop-saturate":[{"backdrop-saturate":[X,Q,Z]}],"backdrop-sepia":[{"backdrop-sepia":[``,X,Q,Z]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,Q,Z]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[X,`initial`,Q,Z]}],ease:[{ease:[`linear`,`initial`,_,Q,Z]}],delay:[{delay:[X,Q,Z]}],animate:[{animate:[`none`,v,Q,Z]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,Q,Z]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:pe()}],"rotate-x":[{"rotate-x":pe()}],"rotate-y":[{"rotate-y":pe()}],"rotate-z":[{"rotate-z":pe()}],scale:[{scale:me()}],"scale-x":[{"scale-x":me()}],"scale-y":[{"scale-y":me()}],"scale-z":[{"scale-z":me()}],"scale-3d":[`scale-3d`],skew:[{skew:P()}],"skew-x":[{"skew-x":P()}],"skew-y":[{"skew-y":P()}],transform:[{transform:[Q,Z,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:F()}],"translate-x":[{"translate-x":F()}],"translate-y":[{"translate-y":F()}],"translate-z":[{"translate-z":F()}],"translate-none":[`translate-none`],zoom:[{zoom:[eb,Q,Z]}],accent:[{accent:N()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:N()}],"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`,Q,Z]}],"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":N()}],"scrollbar-track-color":[{"scrollbar-track":N()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"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`,Q,Z]}],fill:[{fill:[`none`,...N()]}],"stroke-w":[{stroke:[X,vb,db,fb]}],stroke:[{stroke:[`none`,...N()]}],"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":[`start`,`end`,`right`,`left`],"inset-y":[`inset-bs`,`inset-be`,`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`ps`,`pe`,`pr`,`pl`],py:[`pbs`,`pbe`,`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`ms`,`me`,`mr`,`ml`],my:[`mbs`,`mbe`,`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-s`,`border-w-e`,`border-w-r`,`border-w-l`],"border-w-y":[`border-w-bs`,`border-w-be`,`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-s`,`border-color-e`,`border-color-r`,`border-color-l`],"border-color-y":[`border-color-bs`,`border-color-be`,`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-ms`,`scroll-me`,`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mbs`,`scroll-mbe`,`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-ps`,`scroll-pe`,`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pbs`,`scroll-pbe`,`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`]}},Ib=(e,{cacheSize:t,prefix:n,experimentalParseClassName:r,extend:i={},override:a={}})=>(Lb(e,`cacheSize`,t),Lb(e,`prefix`,n),Lb(e,`experimentalParseClassName`,r),Rb(e.theme,a.theme),Rb(e.classGroups,a.classGroups),Rb(e.conflictingClassGroups,a.conflictingClassGroups),Rb(e.conflictingClassGroupModifiers,a.conflictingClassGroupModifiers),Lb(e,`postfixLookupClassGroups`,a.postfixLookupClassGroups),Lb(e,`orderSensitiveModifiers`,a.orderSensitiveModifiers),zb(e.theme,i.theme),zb(e.classGroups,i.classGroups),zb(e.conflictingClassGroups,i.conflictingClassGroups),zb(e.conflictingClassGroupModifiers,i.conflictingClassGroupModifiers),Bb(e,i,`postfixLookupClassGroups`),Bb(e,i,`orderSensitiveModifiers`),e),Lb=(e,t,n)=>{n!==void 0&&(e[t]=n)},Rb=(e,t)=>{if(t)for(let n in t)Lb(e,n,t[n])},zb=(e,t)=>{if(t)for(let n in t)Bb(e,t,n)},Bb=(e,t,n)=>{let r=t[n];r!==void 0&&(e[n]=e[n]?e[n].concat(r):r)},Vb=(e,...t)=>typeof e==`function`?Hy(Fb,e,...t):Hy(()=>Ib(Fb(),e),...t),Hb=Hy(Fb),Ub=Vb({prefix:`pz`});function Wb(...e){return Ub(dc(e))}var Gb=mc(`pz:inline-flex pz:shrink-0 pz:items-center pz:justify-center pz:gap-1.5 pz:whitespace-nowrap pz:outline-none pz:focus-visible:ring-2 pz:focus-visible:ring-ring/50 pz:disabled:pointer-events-none pz:disabled:opacity-30`,{variants:{variant:{default:`pz:bg-primary pz:text-primary-foreground pz:hover:bg-primary/90`,ghost:`pz:text-muted-foreground pz:hover:bg-accent pz:hover:text-foreground`},size:{default:`pz:h-7 pz:rounded-lg pz:px-2.5`,"icon-sm":`pz:size-6 pz:rounded-md`,icon:`pz:size-[26px] pz:rounded-[7px]`,"icon-lg":`pz:size-7 pz:rounded-lg`}},defaultVariants:{variant:`default`,size:`default`}});function Kb({className:e,variant:t,size:n,type:r=`button`,...i}){return(0,V.jsx)(`button`,{type:r,"data-slot":`button`,className:Wb(Gb({variant:t,size:n,className:e})),...i})}function qb({className:e,...t}){return(0,V.jsx)(`textarea`,{"data-slot":`textarea`,className:Wb(`pz:field-sizing-content pz:min-h-7 pz:w-full pz:resize-none pz:bg-transparent pz:py-1 pz:outline-0 pz:placeholder:text-muted-foreground pz:disabled:cursor-not-allowed pz:disabled:opacity-50`,e),...t})}var Jb=(0,z.createContext)(!1);function Yb({children:e}){return(0,V.jsx)(Hv,{delayDuration:300,skipDelayDuration:300,disableHoverableContent:!0,children:(0,V.jsx)(Jb.Provider,{value:!0,children:e})})}function Xb({label:e,keys:t,side:n=`top`,children:r}){let i=(0,V.jsxs)(Kv,{children:[(0,V.jsx)(Jv,{asChild:!0,children:r}),(0,V.jsx)(Qv,{children:(0,V.jsxs)(ey,{side:n,sideOffset:8,collisionPadding:8,"data-slot":`tip`,className:`pz-tip pz:z-50 pz:flex pz:h-[26px] pz:select-none pz:items-center pz:gap-2 pz:whitespace-nowrap pz:rounded-[7px] pz:bg-[#1c1c1b] pz:pr-1.5 pz:pl-[9px] pz:text-[12px] pz:text-white pz:leading-4 pz:antialiased pz:shadow-[0_0_0_0.5px_rgba(255,255,255,0.1),0_4px_14px_rgba(0,0,0,0.18)]`,children:[e,t?.length?(0,V.jsx)(`span`,{className:`pz:flex pz:gap-0.5`,children:t.map(e=>(0,V.jsx)(`kbd`,{className:`pz:min-w-4 pz:rounded pz:bg-white/15 pz:px-1 pz:text-center pz:text-[11px] pz:text-white/85 pz:leading-4 pz:[font-family:inherit]`,children:e},e))}):null]})})]});return(0,z.useContext)(Jb)?i:(0,V.jsx)(Yb,{children:i})}function Zb({modifier:e,n:t,shown:n,index:r=0,center:i=!1,children:a}){return t===void 0?a:(0,V.jsxs)(`span`,{className:Wb(`pz-hint`,i&&`pz-hint-center`),"data-shown":n||void 0,style:{"--i":r},children:[(0,V.jsx)(`span`,{className:`pz-hint-icon`,children:a}),(0,V.jsx)(`span`,{"aria-hidden":!0,className:`pz-hint-keys`,children:(0,V.jsxs)(`span`,{className:`pz-hint-label`,children:[(0,V.jsx)(`span`,{className:`pz-hint-mod`,children:e}),t]})})]})}var Qb=mc(`pz:flex pz:gap-0.5 pz:p-0.5`,{variants:{variant:{solid:`pz:rounded-[9px]`,segmented:`pz:rounded-lg pz:bg-muted`,raised:`pz:p-0`}},defaultVariants:{variant:`solid`}}),$b=mc(`pz:text-muted-foreground pz:outline-none pz:hover:text-foreground pz:focus-visible:ring-2 pz:focus-visible:ring-ring/50`,{variants:{variant:{solid:`pz:grid pz:h-[26px] pz:w-[30px] pz:place-items-center pz:rounded-[7px] pz:hover:bg-accent pz:aria-checked:bg-muted pz:aria-checked:text-foreground`,segmented:`pz:rounded-md pz:px-2.5 pz:py-1 pz:aria-checked:bg-card pz:aria-checked:text-foreground pz:aria-checked:shadow-[0_1px_2px_rgba(0,0,0,0.08)]`,raised:`pz:grid pz:size-7 pz:place-items-center pz:rounded-lg pz:hover:bg-accent pz:aria-checked:bg-raised pz:aria-checked:text-foreground pz:aria-checked:shadow-raised`}},defaultVariants:{variant:`solid`}});function ex({value:e,onValueChange:t,variant:n,className:r,items:i}){return(0,V.jsx)(xv,{type:`single`,"data-slot":`toggle-group`,value:e,onValueChange:e=>e&&t(e),className:Wb(Qb({variant:n,className:r})),children:i.map(e=>{let t=!!(e.keys&&e.title),r=(0,V.jsx)(Av,{value:e.value,title:t?void 0:e.title,"aria-label":e.title,"data-slot":`toggle-group-item`,className:$b({variant:n}),children:e.label},e.value);return t?(0,V.jsx)(Xb,{label:e.title,keys:e.keys,children:r},e.value):r})})}function tx({trigger:e,items:t}){let n=(0,z.useRef)(!1);return(0,V.jsxs)(f_,{modal:!1,children:[(0,V.jsx)(m_,{asChild:!0,children:e}),(0,V.jsx)(__,{align:`end`,sideOffset:4,className:`pz:z-10 pz:min-w-40 pz:rounded-[10px] pz:bg-card pz:p-1 pz:shadow-pop pz:outline-none pz:ring-1 pz:ring-black/5 pz:dark:ring-white/10`,onPointerDown:e=>e.stopPropagation(),onEscapeKeyDown:e=>e.stopPropagation(),onCloseAutoFocus:e=>{n.current&&e.preventDefault(),n.current=!1},children:t.map(e=>(0,V.jsxs)(v_,{onSelect:()=>{n.current=!0,e.onSelect()},className:Wb(`pz:flex pz:h-[30px] pz:cursor-default pz:items-center pz:gap-2 pz:rounded-md pz:px-2 pz:outline-none pz:data-highlighted:bg-accent`,e.danger&&`pz:text-danger`),children:[e.icon,e.label]},e.label))})]})}var nx=`pz:absolute pz:-top-3 pz:left-5 pz:w-[300px] pz:select-text pz:overflow-hidden pz:rounded-xl pz:bg-card pz:shadow-pop`,rx=`pz:text-[11.5px] pz:text-muted-foreground`,ix=`pz:whitespace-pre-wrap pz:text-[13.5px] pz:leading-[1.55] pz:[overflow-wrap:anywhere]`;function ax(e){let t=Math.max(1,Math.round((Date.now()-e)/1e3));if(t<60)return`now`;let n=Math.round(t/60);if(n<60)return`${n}m`;let r=Math.round(n/60);return r<24?`${r}h`:`${Math.round(r/24)}d`}function ox(e){return e.split(/\s+/).map(e=>e[0]).join(``).slice(0,2).toUpperCase()}function sx(e){if(e.kind!==`agent`)return null;let t=e.name.toLowerCase();return t.includes(`claude`)?`claude`:t.includes(`codex`)||t.includes(`openai`)||t.includes(`chatgpt`)?`openai`:null}function cx({author:e,size:t=20}){let n=sx(e);return n?(0,V.jsx)(`span`,{className:`pz:inline-grid pz:shrink-0 pz:place-items-center pz:text-foreground`,style:{width:t,height:t},children:(0,V.jsx)(lc,{client:n,size:t})}):(0,V.jsx)(`span`,{className:Wb(`pz:inline-grid pz:shrink-0 pz:place-items-center pz:rounded-full pz:font-semibold`,e.kind===`agent`?`pz:bg-comment-soft pz:text-foreground`:`pz:bg-muted pz:text-foreground`),style:{width:t,height:t,fontSize:t*.42},children:ox(e.name)})}function lx(e,t,n){e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),t()),e.key===`Escape`&&n(),e.stopPropagation()}function ux(e){(0,z.useEffect)(()=>{let t=requestAnimationFrame(()=>{let t=e.current;t&&(t.focus({preventScroll:!0}),t.setSelectionRange(t.value.length,t.value.length))});return()=>cancelAnimationFrame(t)},[e])}function dx({onSubmit:e,onCancel:t,placeholder:n=`Leave a comment…`,draft:r}){let[i,a]=(0,z.useState)(``),[o,s]=hi(r?.key??``,r??{file:``}),c=r?o:i,l=r?s:a,u=(0,z.useRef)(null);ux(u);let d=()=>{let t=c.trim();t&&(e(t),l(``))};return(0,V.jsxs)(`div`,{className:`pz:flex pz:items-end pz:gap-2 pz:border-t pz:py-2 pz:pr-2 pz:pl-3.5 pz:only:border-t-0`,onPointerDown:e=>e.stopPropagation(),children:[(0,V.jsx)(qb,{className:`pz:max-h-40 pz:flex-1 pz:text-[13.5px] pz:leading-[1.55]`,ref:u,value:c,placeholder:n,rows:1,onChange:e=>l(e.target.value),onKeyDown:e=>lx(e,d,t)}),(0,V.jsx)(Kb,{size:`icon-lg`,disabled:!c.trim(),onClick:d,"aria-label":`Send`,children:(0,V.jsx)(W,{name:`send`,size:14})})]})}function fx({initial:e,draft:t,onSave:n,onClose:r}){let[i,a]=hi(t.key,t,e),o=(0,z.useRef)(null);ux(o),(0,z.useEffect)(()=>()=>{let e=fi(t.key);e&&!mi(e)&&pi(t.key,null)},[t.key]);let s=()=>{a(e),r()},c=()=>{let t=i.trim();if(!t||t===e)return s();n(t),a(e)};return(0,V.jsxs)(`div`,{className:`pz:flex pz:flex-col pz:gap-1.5`,children:[(0,V.jsx)(qb,{className:`pz:max-h-60 pz:rounded-lg pz:px-2 pz:text-[13.5px] pz:leading-[1.55] pz:ring-[1.5px] pz:ring-select`,ref:o,value:i,"aria-label":`Edit message`,onChange:e=>a(e.target.value),onKeyDown:e=>lx(e,c,r)}),(0,V.jsxs)(`div`,{className:`pz:flex pz:items-center pz:justify-end pz:gap-1`,children:[(0,V.jsx)(`span`,{className:Wb(rx,`pz:mr-auto`),children:`Enter to save`}),(0,V.jsx)(Kb,{variant:`ghost`,className:`pz:h-6 pz:rounded-md pz:px-2`,onClick:s,children:`Cancel`}),(0,V.jsx)(Kb,{className:`pz:h-6 pz:rounded-md pz:px-2`,disabled:!i.trim(),onClick:c,children:`Save`})]})]})}function px({thread:e,source:t,me:n,file:r=``,readOnly:i=!1,onClose:a}){let[o,s]=(0,z.useState)(()=>{if(i)return null;let t=e=>{let t=fi(di.edit(r,e));return!!(t&&mi(t))};return e.messages.find(e=>t(e.id))?.id??null}),[c,l]=(0,z.useState)(!1),u=(0,z.useRef)(null),d=(0,z.useRef)(!0);(0,z.useLayoutEffect)(()=>{let e=u.current;e&&(d.current=e.scrollHeight-e.clientHeight<8)},[]);let f=(0,z.useRef)(!1),p=(0,z.useRef)(e.messages.length);(0,z.useLayoutEffect)(()=>{let t=u.current,r=e.messages.length>p.current;p.current=e.messages.length;let i=e.messages.at(-1);t&&r&&i&&(i.author.kind===n.kind&&i.author.name===n.name||d.current)&&(f.current=t.scrollHeight-t.scrollTop-t.clientHeight>=8,d.current=!0,t.scrollTop=t.scrollHeight)},[e.messages,n]);let m=()=>{f.current=!1},h=e.status===`resolved`,g=r=>{let i={op:`thread.message`,id:e.id,message:{id:k(`m`),author:n,text:r,createdAt:Date.now()}};t.apply(h?{op:`batch`,ops:[i,{op:`thread.update`,id:e.id,status:`open`}]}:i)},_=()=>{t.apply({op:`thread.update`,id:e.id,status:`resolved`}),a()},v=()=>t.apply({op:`thread.update`,id:e.id,status:`open`}),y=()=>{for(let t of[di.reply(r,e.id),...e.messages.map(e=>di.edit(r,e.id))])pi(t,null);t.apply({op:`thread.delete`,id:e.id}),a()},b=(n,r)=>{t.apply({op:`thread.edit`,id:e.id,messageId:n,text:r,editedAt:Date.now()}),s(null)},x=n=>{pi(di.edit(r,n),null),t.apply({op:`thread.unmessage`,id:e.id,messageId:n})},S=e=>!i&&e.kind===n.kind&&e.name===n.name,C=e.messages[0],w=(e,t)=>t>0&&S(e.author)&&o!==e.id;return(0,V.jsxs)(`div`,{className:nx,onPointerDown:e=>e.stopPropagation(),children:[!i&&(0,V.jsxs)(`div`,{className:`pz:absolute pz:top-1.5 pz:right-1.5 pz:z-[1] pz:flex pz:gap-0.5 pz:rounded-lg pz:bg-card`,children:[h?(0,V.jsx)(Kb,{variant:`ghost`,size:`icon`,onClick:v,title:`Resolved · Reopen`,children:(0,V.jsx)(W,{name:`undo`,size:15})}):(0,V.jsx)(Kb,{variant:`ghost`,size:`icon`,onClick:_,title:`Resolve`,children:(0,V.jsx)(W,{name:`check`,size:15})}),(0,V.jsx)(tx,{trigger:(0,V.jsx)(Kb,{variant:`ghost`,size:`icon`,title:`More`,children:(0,V.jsx)(W,{name:`more`,size:15})}),items:[...C&&S(C.author)?[{label:`Edit`,icon:(0,V.jsx)(W,{name:`edit`,size:14}),onSelect:()=>s(C.id)}]:[],{label:`Delete`,icon:(0,V.jsx)(W,{name:`trash`,size:14}),danger:!0,onSelect:y}]})]}),(0,V.jsx)(`div`,{ref:u,"data-scroll":!0,className:Wb(`pz:flex pz:max-h-80 pz:flex-col pz:gap-1 pz:overflow-y-auto pz:overscroll-contain pz:scroll-smooth pz:px-1.5 pz:pt-1.5 pz:pb-2.5 pz:motion-reduce:scroll-auto`,c&&`pz:[mask-image:linear-gradient(transparent_24px,#000_44px)]`),onScroll:e=>{let t=e.currentTarget;l(t.scrollTop>0);let n=t.scrollHeight-t.scrollTop-t.clientHeight<8;n&&(f.current=!1),f.current||(d.current=n)},onWheel:m,onPointerDown:m,onTouchStart:m,children:e.messages.map((t,n)=>(0,V.jsxs)(`div`,{className:Wb(`pz:group pz:flex pz:flex-col pz:gap-1 pz:rounded-lg pz:px-2 pz:py-1.5`,w(t,n)&&`pz:hover:bg-accent`),children:[(0,V.jsxs)(`div`,{className:Wb(`pz:flex pz:h-6 pz:items-center pz:gap-1.5`,n===0&&!i&&`pz:pr-14`),children:[(0,V.jsx)(cx,{author:t.author,size:18}),(0,V.jsx)(`span`,{className:`pz:truncate pz:font-medium`,children:t.author.name}),(0,V.jsxs)(`span`,{className:Wb(rx,`pz:shrink-0`),children:[ax(t.createdAt),t.editedAt?` · edited`:``]}),w(t,n)&&(0,V.jsxs)(`div`,{className:`pz:ml-auto pz:flex pz:shrink-0 pz:opacity-0 pz:group-hover:opacity-100 pz:focus-within:opacity-100`,children:[(0,V.jsx)(Kb,{variant:`ghost`,size:`icon-sm`,onClick:()=>s(t.id),title:`Edit`,children:(0,V.jsx)(W,{name:`edit`,size:14})}),(0,V.jsx)(Kb,{variant:`ghost`,size:`icon-sm`,onClick:()=>x(t.id),title:`Delete`,children:(0,V.jsx)(W,{name:`trash`,size:14})})]})]}),!i&&o===t.id?(0,V.jsx)(fx,{initial:t.text,draft:{key:di.edit(r,t.id),file:r,thread:e.id},onSave:e=>b(t.id,e),onClose:()=>s(null)}):(0,V.jsx)(`div`,{className:ix,children:t.text})]},t.id))}),!i&&(0,V.jsx)(dx,{onSubmit:g,onCancel:a,placeholder:h?`Reply to reopen…`:`Reply…`,draft:{key:di.reply(r,e.id),file:r,thread:e.id}})]})}var mx=1500,hx=2,gx=2e4,_x=new WeakMap;function vx(e){let t=_x.get(e);if(t)return t;let n=0,r=0,i=!1,a=(e,t)=>{if(e.kind===`text`){t&&(/\binfinite\b/.test(e.value)&&(i=!0),r+=(e.value.match(/url\(\s*["']?(?!#|data:)/g)??[]).length);return}let o=e;n++;let s=o.tag.toLowerCase();(s===`img`||s===`video`||s===`image`||s===`picture`)&&r++,(s===`animate`||s===`animatetransform`||s===`animatemotion`)&&(o.attrs.repeatCount===`indefinite`||o.attrs.repeatcount===`indefinite`)&&(i=!0);let c=Object.entries(o.style);for(let[e,t]of c)/^animation/.test(e)&&/\binfinite\b/.test(t)&&(i=!0),/background/.test(e)&&/url\(\s*["']?(?!#|data:)/.test(t)&&r++;for(let e of o.children)a(e,s===`style`)};a(e.root,!1);let o={elements:n,media:r,loops:i,cheap:n<=mx&&r<=hx&&!i};return _x.set(e,o),o}function yx(e){let t=new Set,n=0;for(let r of e){let e=vx(r);!e.cheap||n+e.elements>gx||(n+=e.elements,t.add(r.id))}return t}function bx(e){let t=e.root.style,n=t[`background-color`]??t.background??``;return/^(#[0-9a-f]{3,8}|rgba?\([^)]*\)|hsla?\([^)]*\)|[a-z]+)$/i.test(n.trim())?n.trim():`#fff`}var xx=8e4;function Sx(e){let t=new Set,n=0;for(let r of e){let e=vx(r);e.cheap||n+e.elements>xx||(n+=e.elements,t.add(r.id))}return t}var Cx=`img,video,image,picture,canvas{visibility:hidden!important}
|
|
2359
2359
|
*,*::before,*::after{animation:none!important;transition:none!important;filter:none!important;backdrop-filter:none!important}`,wx=class{origin;file;opts;state;listeners=new Set;opListeners=new Set;socket=null;req=0;retry=0;closed=!1;theme;writing=[];seq=0;syncing=!1;assetBase;renditions=!0;constructor(e,t,n={}){this.origin=e,this.file=t,this.opts=n,this.state={status:`connecting`,doc:null,path:t,presence:[],canUndo:!1,canRedo:!1},this.assetBase=`${e}/files/${encodeURIComponent(t)}`,this.connect()}snapshotUrl(e,t,n,r){let i=new URLSearchParams({file:this.file,artboard:e,scale:String(t),v:n,scheme:r});return`${this.origin}/api/snapshot?${i}`}loopsUrl(e,t,n){let r=new URLSearchParams({file:this.file,artboard:e,v:t,scheme:n});return`${this.origin}/api/loops?${r}`}connect(){let e=this.opts.watch?`&watch=1`:``,t=`${this.origin.replace(/^http/,`ws`)}/ws?file=${encodeURIComponent(this.file)}${e}`,n=new WebSocket(t);this.socket=n,n.onmessage=e=>this.onMessage(JSON.parse(String(e.data))),n.onopen=()=>{this.retry=0,this.theme&&this.send({t:`theme`,theme:this.theme}),this.writing.length&&this.send({t:`writing`,threads:this.writing})},n.onclose=()=>{if(this.closed)return;this.set({status:`offline`,presence:[]});let e=Math.min(5e3,250*2**this.retry++);setTimeout(()=>!this.closed&&this.connect(),e)}}onMessage(e){switch(e.t){case`hello`:this.seq=e.seq,this.syncing=!1,this.set({status:`ready`,doc:e.doc,path:e.path,presence:e.presence,canUndo:e.canUndo,canRedo:e.canRedo});break;case`op`:{let t=this.state.doc;if(!t||this.syncing)return;if(e.seq!==this.seq+1)return this.sync(`gap`);let n=structuredClone(t);try{re(n,e.op)}catch{return this.sync(`apply`)}this.seq=e.seq;for(let t of this.opListeners)try{t(e.op,e.origin,n)}catch(e){console.error(`[ponzu] op listener failed:`,e)}this.set({doc:n,canUndo:e.canUndo,canRedo:e.canRedo,lastOrigin:e.origin});break}case`reset`:this.seq=e.seq,this.syncing=!1,this.set({doc:e.doc});break;case`presence`:this.set({presence:e.presence});break;case`focus`:this.set({focus:{artboard:e.artboard,page:e.page,at:Date.now()}});break;case`error`:this.set({error:e.message})}}sync(e){this.syncing||(this.syncing=!0,this.send({t:`sync`,reason:e}))}send(e){this.socket?.readyState===WebSocket.OPEN&&this.socket.send(JSON.stringify(e))}set(e){this.state={...this.state,...e};for(let e of this.listeners)e(this.state)}subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}getState(){return this.state}onOp(e){return this.opListeners.add(e),()=>this.opListeners.delete(e)}apply(e){this.send({t:`op`,req:++this.req,op:e})}undo(){this.send({t:`undo`,req:++this.req})}redo(){this.send({t:`redo`,req:++this.req})}setTheme(e){this.opts.watch||e===this.theme||(this.theme=e,this.send({t:`theme`,theme:e}))}setWriting(e){this.opts.watch||e.join(` `)===this.writing.join(` `)||(this.writing=e,this.send({t:`writing`,threads:e}))}async upload(e){let t=new FormData;t.set(`file`,e);let n=await fetch(`${this.assetBase}/upload`,{method:`POST`,body:t});if(!n.ok)throw Error(await n.text());return(await n.json()).path}close(){this.closed=!0,this.socket?.close()}};function Tx(e){return{subscribe:t=>e.subscribe(t),getState:()=>e.getState(),apply(){},undo(){},redo(){},assetBase:e.assetBase,renditions:e.renditions,setTheme:e.setTheme?t=>e.setTheme?.(t):void 0,onOp:e.onOp?t=>e.onOp(t):void 0,snapshotUrl:e.snapshotUrl?.bind(e),loopsUrl:e.loopsUrl?.bind(e)}}var Ex=new WeakMap,Dx=4,Ox=3e3,kx=6e4,Ax=160,jx=new Map,Mx=512;async function Nx(e,t=fetch){try{let n=await t(`${e}${e.includes(`?`)?`&`:`?`}wait=0`),r=n.headers.get(`x-pz-version`),i=new URL(e,globalThis.location?.href).searchParams.get(`v`);if(n.status===202||r&&i&&r!==i)return`pending`;if(n.status>=500||n.status===429)return`failed`;if(n.status===204||!n.ok)return null;let a=await n.json();return{...a,regions:a.regions.map(t=>({...t,src:new URL(t.src,e).href}))}}catch{return`failed`}}function Px(e){let[t,n]=(0,z.useState)(`pending`);return(0,z.useEffect)(()=>{if(!e)return n(null);n(`pending`);let t=!0,r,i=0,a=()=>{let o=jx.get(e);o?jx.delete(e):o=Nx(e),jx.set(e,o),jx.size>Mx&&jx.delete(jx.keys().next().value),o.then(o=>{t&&(n(o===`failed`?`pending`:o),(o===`pending`||o===`failed`)&&(jx.delete(e),i=o===`failed`?i+1:0,r=setTimeout(a,Math.min(kx,Ox*2**i))))})};return a(),()=>{t=!1,clearTimeout(r)}},[e]),t}function Fx(e,t){let n=e.map(()=>[]),r=new Map;e.forEach((e,t)=>{for(let n of e.ids)r.set(n,t)});for(let e of t){let t=(e.effect?.target)?.closest(`[data-id]`)?.getAttribute(`data-id`),i=t?r.get(t):void 0;i!==void 0&&n[i].push(e)}return n}function Ix(e){for(let t of e){let e=t.currentTime;if(typeof e==`number`)return e}return null}function Lx(e){for(let t of e){let e=t.time();if(e!==null)return e}return null}function Rx(e,t,n,r){let i=Math.max(1,Math.ceil((r-t-e)/n));return t+e+i*n}function zx(e,t,n){return((e-t)%n+n)%n}var Bx=new WeakMap;function Vx(e,t){if(!e)return;let n=t?Ex.get(t)??null:null,r=t?[...t.querySelectorAll(`video`)]:[],i=fn(e),a=Bx.get(e);Bx.delete(e);let o=a?i.filter(e=>a.has(e)&&e.playState===`paused`):[],s=[];if(n){let t=new Set,a=Fx(n.regions,i);n.regions.forEach((i,o)=>{let c=r[o];if(!c||c.readyState<1)return;let l=a[o],u=pn(e,i.ids),d=Ix(l)??Lx(u)??0,f=Rx(c.currentTime*1e3,n.t0,i.period,d);for(let e of l)s.push([e,f]),t.add(e);for(let e of u)e.phase(f)});for(let e of i){if(t.has(e)||e.timeline!==document.timeline)continue;let r=e.effect?.getComputedTiming(),i=Number(r?.duration)*(String(r?.direction).includes(`alternate`)?2:1);if(Number.isFinite(r?.iterations)||!(i>0))continue;let a=Number(e.currentTime)||0;s.push([e,n.t0+Math.max(1,Math.ceil((a-n.t0)/i))*i])}}for(let[e,t]of s)e.currentTime=t;for(let e of o)e.play()}async function Hx(e,t,n,r,i){let a=[...t.querySelectorAll(`video`)];if(await Promise.all(a.map(e=>e.readyState>=1?Promise.resolve():new Promise(t=>{e.addEventListener(`loadedmetadata`,()=>t(),{once:!0}),e.addEventListener(`error`,()=>t(),{once:!0})}))),i())return!1;let o=e?Fx(n.regions,fn(e)):[],s=n.regions.map((t,n)=>({r:t,anims:o[n]??[],fields:e?pn(e,t.ids):[]})),c=e=>Ix(e.anims)??Lx(e.fields);for(let t=Ax;t<=1280;t*=2){let o=performance.now(),l=s.map(e=>{let{r}=e,i=c(e);return i===null?null:zx(i+t,n.t0,r.period)});if(await Promise.all(a.map((e,t)=>new Promise(n=>{let r=l[t];if(e.pause(),r==null)return n();e.addEventListener(`seeked`,()=>n(),{once:!0}),setTimeout(n,1e3),e.currentTime=r/1e3}))),i())return!1;let u=o+t;if(performance.now()>u-4)continue;if(await new Promise(e=>{let t=n=>n>=u-8?e():requestAnimationFrame(t);requestAnimationFrame(t)}),i())return!1;let d=s.map((e,t)=>{let r=l[t];return r==null?null:Rx(r,n.t0,e.r.period,(c(e)??0)-e.r.period/2)}),f=s.map(({anims:e})=>e.filter(e=>e.playState===`running`)),p=new Set;f.forEach((e,t)=>{let n=d[t];if(n!=null)for(let t of e)t.currentTime=n,t.pause(),p.add(t)}),e&&Bx.set(e,p),r();for(let e of a)qx.want(e);return!0}r();for(let e of a)qx.want(e);return!0}var Ux=new WeakMap;function Wx(e){e.readyState>=1&&e.currentTime>0&&Ux.set(e,e.currentTime),e.pause(),e.removeAttribute(`src`),e.load()}function Gx(e,t){let n=Ux.get(e);Ux.delete(e),n&&e.addEventListener(`loadedmetadata`,()=>{e.currentTime=n},{once:!0}),e.src=t}function Kx(e,t){return new Set([...e].sort((e,t)=>t[1]-e[1]).slice(0,t).map(([e])=>e))}var qx=(()=>{let e=new Map,t=new Map,n=null,r=!1,i=()=>{let n=r?new Set:Kx(t,Dx);for(let[t,r]of e)n.has(t)?(r&&!t.getAttribute(`src`)&&Gx(t,r),t.paused&&t.play().catch(()=>{})):r?t.getAttribute(`src`)&&Wx(t):t.paused||t.pause()},a=()=>n??=new IntersectionObserver(e=>{for(let n of e){let e=n.target,r=n.intersectionRect;n.isIntersecting?t.set(e,r.width*r.height):t.delete(e)}i()});return{want(t,n){e.set(t,n),a().observe(t),i()},drop(r){let a=e.get(r);e.delete(r),t.delete(r),n?.unobserve(r),a?Wx(r):r.pause(),Ux.delete(r),i()},hold(e){e!==r&&(r=e,i())}}})();function Jx(e){let{loops:t,play:n,visible:r}=e,i=e=>{if(e)return n?qx.want(e):qx.drop(e),()=>qx.drop(e)};return(0,V.jsx)(`div`,{ref:n=>{n&&Ex.set(n,t),e.layerRef(n)},"data-pz-loops":``,style:{position:`absolute`,inset:0,pointerEvents:`none`,visibility:r?`visible`:`hidden`},children:t.regions.map(e=>(0,V.jsx)(`video`,{ref:i,src:e.src,muted:!0,loop:!0,playsInline:!0,preload:`auto`,disablePictureInPicture:!0,style:{position:`absolute`,left:e.x,top:e.y,width:e.width,height:e.height,objectFit:`fill`,display:`block`}},e.src))})}var Yx=.5;Yx*.8;var Xx=[.25,.5,1],Zx=120,Qx=350,$x=8,eS=700,tS=3e4,nS=250,rS=6e4;function iS(e){for(let t of Xx)if(t>=e)return t;return Xx[Xx.length-1]}function aS(e){return e.attention?`live`:e.onScreen?e.pictures?e.moving&&e.current!==`live`&&e.pictured?`picture`:e.scale>=(e.current===`picture`?.5:.4)||e.motion>=64&&!e.looped&&!e.moving?`live`:`picture`:`live`:`away`}var oS=`missing`,sS=`failed`;function cS(e,t){let n=e.headers.get(`x-pz-version`);return e.status===202||e.ok&&n&&t&&n!==t?oS:e.status>=500||e.status===429?sS:e.ok?`draw`:null}var lS=new Map,uS=new Map,dS=new Map;function fS(e){return dS.set(e,(dS.get(e)??0)+1),()=>{let t=(dS.get(e)??1)-1;t>0?dS.set(e,t):dS.delete(e)}}function pS(e,t,n,r){let i=[];for(let a of e){if(t-i.length<=n)break;r(a)||i.push(a)}return i}function mS(e){let t=uS.get(e);lS.delete(e),uS.delete(e),t&&!dS.has(t)&&URL.revokeObjectURL(t)}function hS(e,t){lS.delete(e),lS.set(e,t);let n=pS(lS.keys(),lS.size,256,e=>{let t=uS.get(e);return!t||dS.has(t)});for(let e of n)lS.delete(e),URL.revokeObjectURL(uS.get(e)),uS.delete(e)}var gS=[],_S=0;function vS(){for(;_S<$x&&gS.length;)_S++,gS.shift()()}function yS(e,t=!1){let n=lS.get(e);if(n)return hS(e,n),n;let r=new Promise(n=>{let r=async()=>{let t;try{let r=await fetch(`${e}&wait=0`),i=new URL(e,location.href).searchParams.get(`v`),a=cS(r,i);if(a!==`draw`)return a!==null&&lS.delete(e),n(a);let o=r.headers.get(`x-pz-loops`)===`1`,s=Number(r.headers.get(`x-pz-loop-size`))||0;t=URL.createObjectURL(await r.blob());let c=new Image;c.src=t,await c.decode(),uS.set(e,t);let l=r.headers.get(`x-pz-partial`)===`1`;l&&setTimeout(()=>mS(e),tS),n({url:t,version:i??``,loops:o,loopSize:s,partial:l})}catch{t&&URL.revokeObjectURL(t),lS.delete(e),n(sS)}finally{_S--,vS()}};t?gS.unshift(r):gS.push(r),vS()});return hS(e,r),r}var bS=4e3,xS=[],SS=0;function CS(e,t){e.sort((e,t)=>e.rank-t.rank);let n=0,r=0;for(;r<e.length&&(r===0||n+e[r].cost<=t);)n+=e[r++].cost;return e.splice(0,r)}function wS(){SS=0;for(let e of CS(xS,bS))e.go();xS.length&&(SS=requestAnimationFrame(wS))}function TS(e,t,n){let r={go:e,rank:t(),cost:n};return xS.push(r),SS||=requestAnimationFrame(wS),()=>{let e=xS.indexOf(r);e>=0&&xS.splice(e,1)}}var ES=1,DS=1e3,OS=80,kS=1200;function AS(e){if(!e.regions.length||e.attention||e.intent||e.scale>=ES)return!1;let t=0;for(let n of e.regions){if(n.ids.length>=48)return!0;t+=n.ids.length}return t>DS}function jS(e,t){if(!e||e.style.contentVisibility!==`hidden`)return t();e.style.contentVisibility=`visible`;try{return t()}finally{e.style.contentVisibility=`hidden`}}function MS(e){let{id:t,scale:n,onScreen:r,moving:i,attention:a,snapshotUrl:o,loopsUrl:s,cheap:c}=e,l=(0,z.useRef)({rank:e.rank,cost:e.cost??0});l.current={rank:e.rank,cost:e.cost??0};let u=()=>l.current.rank?.()??0,[d,f]=(0,z.useState)(()=>o&&!a?`pending`:`live`),[p,m]=(0,z.useState)(null),h=o?NS(o(t,1)):``,g=p&&p.version===h?p:null,[_,v]=(0,z.useState)(!1),[y,b]=(0,z.useState)(!1),[x,S]=(0,z.useState)(0),C=(0,z.useRef)(0),w=(0,z.useRef)(null);w.current=g;let T=iS(n),E=iS(T*1.01),D=n<=(g?.loops?ES:Yx*1.5),O=o&&D?o(t,T):``,k=o&&D&&E>T&&n>T*.7?o(t,E):``,A=Px(s&&g?.loops&&n<ES?s(t):null),j=A&&A!==`pending`?A:null,M=aS({scale:n,current:d===`pending`?`picture`:d,onScreen:r,pictures:!!o&&!_,pictured:!!g,motion:(g?.loopSize??0)*n,looped:!!j,moving:i,attention:a});M===`live`&&g&&j&&AS({regions:j.regions,scale:n,attention:a,intent:!!e.intent})&&(M=`picture`),M===`picture`&&!g&&y&&c&&(M=`live`),(0,z.useEffect)(()=>{if(!O)return;let e=setTimeout(()=>b(e=>e||!w.current),nS);return()=>clearTimeout(e)},[O]),(0,z.useEffect)(()=>{if(!O)return;let e=!0,t;return k&&yS(k),yS(O,r).then(n=>{if(e){if(n===oS||n===sS){b(!0),C.current=n===sS?C.current+1:0;let e=eS*2**C.current;t=setTimeout(()=>S(e=>e+1),Math.min(rS,e))}else{if(C.current=0,!n)return v(!0);b(!1),m(e=>e?.url===n.url?e:n),n.partial&&(t=setTimeout(()=>S(e=>e+1),30050))}}}),()=>{e=!1,clearTimeout(t)}},[O,k,T,E,r,x]),(0,z.useEffect)(()=>{if(M===d||M===`picture`&&!g||M===`picture`&&d===`live`&&g?.loops&&s&&A===`pending`)return;if(d===`pending`){let e=setTimeout(()=>f(M),Zx);return()=>clearTimeout(e)}if(M===`live`){let e=()=>f(`live`);if(d!==`picture`||a&&!i)return TS(e,u,l.current.cost);let t=()=>{},n=setTimeout(()=>{t=TS(e,u,l.current.cost)},Qx);return()=>{clearTimeout(n),t()}}let e=requestAnimationFrame(()=>f(M));return()=>cancelAnimationFrame(e)},[M,d,g,A,s,a,i]);let ee=g?.url;return(0,z.useEffect)(()=>ee?fS(ee):void 0,[ee]),{tier:d,picture:g,loops:j,missing:y}}function NS(e){return/[?&]v=([^&#]*)/.exec(e)?.[1]??``}var PS=new WeakMap;function FS(e,t,n){let r=PS.get(e);if(r&&r.tokens===t)return r.v;let i=Be(n(),t);return PS.set(e,{tokens:t,v:i}),i}var IS={x:NaN,y:NaN};function LS(e){let[t,n]=(0,z.useState)(!1),r=(0,z.useRef)(void 0);return(0,z.useEffect)(()=>()=>clearTimeout(r.current),[]),{on:t,move:i=>{let a=i.clientX!==IS.x||i.clientY!==IS.y;IS={x:i.clientX,y:i.clientY},a&&!e&&i.pointerType!==`touch`&&(clearTimeout(r.current),t||(r.current=setTimeout(()=>n(!0),OS)))},leave:()=>{clearTimeout(r.current),t&&(r.current=setTimeout(()=>n(!1),kS))}}}var RS=120;function zS(e){let t=LS(e.moving),{tier:n,picture:r,loops:i,missing:a}=MS({...e,intent:t.on}),o=(0,z.useRef)(null),s=(0,z.useRef)(null),c=n===`picture`&&r?`picture`:n===`picture`?`pending`:n,[l,u]=(0,z.useState)(c),[d,f]=(0,z.useState)(null),p=(0,z.useRef)(e.moving);p.current=e.moving;let m=(e,t)=>{u(e),f(t&&!p.current?{kind:t,of:e}:null)},h=d&&d.of===l&&!e.moving?d.kind:null,g=()=>o.current?.querySelector(`[data-artboard-host]`)?.shadowRoot;(0,z.useEffect)(()=>{if(c!==l){if(c===`live`&&l===`picture`&&r)m(`thaw`);else if(l===`thaw`&&c!==`live`)m(c);else{if(l===`thaw`){let e=0,t=requestAnimationFrame(()=>{e=requestAnimationFrame(()=>{Vx(g(),s.current),(0,Rc.flushSync)(()=>m(`live`,`out`))})});return()=>{cancelAnimationFrame(t),cancelAnimationFrame(e)}}if(c===`picture`&&l===`live`&&i&&s.current){let e=!1;return Hx(g(),s.current,i,()=>(0,Rc.flushSync)(()=>m(`picture`,`in`)),()=>e),()=>{e=!0}}m(c,c===`picture`&&l===`live`?`in`:void 0)}}},[c,l,i,r]);let _=(0,z.useRef)(null);(0,z.useLayoutEffect)(()=>{let e=_.current;if(!e)return;let t=e.style.opacity?Number(e.style.opacity):null;if(!h){e.style.opacity=``;return}let n=+(h===`in`),r=t??1-n,i=RS*Math.abs(n-r);e.style.opacity=String(r);let a=0,o=0,s=t=>{a||=t;let c=i?Math.min(1,(t-a)/i):1;e.style.opacity=String(r+(n-r)*c),c<1?o=requestAnimationFrame(s):f(null)};return o=requestAnimationFrame(s),()=>cancelAnimationFrame(o)},[h]),(0,z.useEffect)(()=>{e.moving&&f(null)},[e.moving]);let v=l===`picture`&&!!i?.regions.length&&!e.moving;(0,z.useEffect)(()=>{if(!v)return;let e=globalThis.requestIdleCallback??(e=>setTimeout(e,200)),t=globalThis.cancelIdleCallback??clearTimeout,n=e(()=>jS(o.current,()=>mn(g())),{timeout:2e3});return()=>t(n)},[v]);let y=(l===`picture`||l===`thaw`)&&r,b=!!(y||h===`out`&&r),x=l===`pending`&&a&&!!e.skeleton,S=l!==`live`&&l!==`thaw`&&!x&&h!==`in`;(0,z.useLayoutEffect)(()=>{let e=g();if(!e)return;let t=e.querySelector(`style[data-pz-skeleton]`);x&&!t?(t=document.createElement(`style`),t.setAttribute(`data-pz-skeleton`,``),t.textContent=Cx,e.appendChild(t)):!x&&t&&t.remove()},[x]);let C={position:`absolute`,left:0,top:0,width:e.w,height:e.h,pointerEvents:`none`};return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`div`,{ref:o,onPointerMove:t.move,onPointerLeave:t.leave,"data-pz-tier":l===`thaw`?`thaw`:y?`picture`:x?`skeleton`:l,style:{contentVisibility:S?`hidden`:void 0,containIntrinsicSize:`${e.w}px ${e.h}px`},children:e.children(S)}),l===`pending`&&!x&&(0,V.jsx)(`div`,{"data-pz-placeholder":a?`missing`:`waiting`,style:{...C,background:e.fill??`#fff`}}),(0,V.jsxs)(`div`,{ref:_,"data-pz-cover":``,style:C,children:[r&&(b||c===`picture`)&&(0,V.jsx)(`img`,{alt:``,draggable:!1,src:r.url,style:{...C,visibility:b?`visible`:`hidden`}}),y&&l===`picture`&&(0,V.jsx)(BS,{root:g,scale:e.scale}),i&&r&&(0,V.jsx)(Jx,{loops:i,play:b,visible:b,layerRef:e=>{s.current=e}})]})]})}function BS({root:e,scale:t}){let[n,r]=(0,z.useState)([]);return(0,z.useLayoutEffect)(()=>{let n=e(),i=n?.querySelector(`[data-artboard]`);if(!n||!i)return;let a=i.getBoundingClientRect(),o=i.offsetWidth/(a.width||1);r([...n.querySelectorAll(`video`)].filter(e=>e.currentSrc&&e.loop&&(e.autoplay||e.played.length)).map(e=>{let n=e.getBoundingClientRect(),r=n.width*o,i=n.height*o;return Math.max(r,i)*t<64?null:{src:e.currentSrc,x:(n.left-a.left)*o,y:(n.top-a.top)*o,w:r,h:i,t:e.currentTime,fit:getComputedStyle(e).objectFit}}).filter(e=>e!==null))},[e,t]),(0,V.jsx)(V.Fragment,{children:n.map(e=>(0,V.jsx)(VS,{...e},e.src+e.x+e.y))})}function VS(e){let t=(0,z.useRef)(null),{src:n,t:r}=e;return(0,z.useEffect)(()=>{let e=t.current;if(!e)return;let i=()=>{r&&(e.currentTime=r%(e.duration||1/0))};return e.addEventListener(`loadedmetadata`,i,{once:!0}),qx.want(e,n),()=>{e.removeEventListener(`loadedmetadata`,i),qx.drop(e)}},[n,r]),(0,V.jsx)(`video`,{ref:t,muted:!0,loop:!0,playsInline:!0,disablePictureInPicture:!0,style:{position:`absolute`,left:e.x,top:e.y,width:e.w,height:e.h,objectFit:e.fit,pointerEvents:`none`}})}function HS(e){return(0,z.useSyncExternalStore)((0,z.useCallback)(t=>e.subscribe(t),[e]),()=>e.getState(),()=>e.getState())}var US=.02,WS=8;function GS(e){let t=e,n=0,r=new Set,i=()=>{n&&cancelAnimationFrame(n),n=0;for(let e of r)e(t)};return{get:()=>t,set(e,r=!1){t=typeof e==`function`?e(t):e,r?i():n||=requestAnimationFrame(i)},subscribe(e){return r.add(e),()=>r.delete(e)}}}function KS(e={x:80,y:80,zoom:.5}){let[t]=(0,z.useState)(()=>GS(e));return{camera:t,zoomAt:(0,z.useCallback)((e,n,r)=>{t.set(t=>{let i=Math.min(WS,Math.max(US,t.zoom*e)),a=i/t.zoom;return{zoom:i,x:n-(n-t.x)*a,y:r-(r-t.y)*a}})},[t]),panBy:(0,z.useCallback)((e,n)=>t.set(t=>({...t,x:t.x+e,y:t.y+n})),[t]),fit:(0,z.useCallback)((e,n,r=64,i=1)=>{if(!(e.w>0&&e.h>0&&Number.isFinite(e.x+e.y+e.w+e.h)))return;let a=Math.min(i,(n.w-r*2)/e.w,(n.h-r*2)/e.h),o=Math.max(US,a);t.set({zoom:o,x:(n.w-e.w*o)/2-e.x*o,y:(n.h-e.h*o)/2-e.y*o},!0)},[t])}}function qS(e){return(0,z.useSyncExternalStore)((0,z.useCallback)(t=>e.subscribe(t),[e]),()=>Math.round(e.get().zoom*100),()=>Math.round(e.get().zoom*100))}function JS(e,t,n=150){let r=(0,z.useRef)(t);r.current=t;let[i,a]=(0,z.useState)(()=>({...e.get(),moving:!1}));return(0,z.useEffect)(()=>YS(e,e=>r.current(e),a,n),[e,n]),i}function YS(e,t,n,r=150){let i,a=!1,o=t(e.get()),s=e=>n({...e,moving:a});s(e.get());let c=e.subscribe(n=>{let c=t(n);(!a||c!==o)&&(a=!0,o=c,s(n)),clearTimeout(i),i=setTimeout(()=>{a=!1,o=t(e.get()),s(e.get())},r)});return()=>{c(),clearTimeout(i)}}var XS=2**18,ZS=XS/2;function QS(e,t,n,r,i,a,o=150){let s=(0,z.useRef)(a);s.current=a,(0,z.useLayoutEffect)(()=>{let a=t.current;if(!i||!a)return;let c,l=NaN,u=0,d=0,f=ZS,p=ZS,m=()=>{let e=`translate(${u}px, ${d}px)`;n.current&&(n.current.style.transform=`${e} scale(${l})`);let t=r.current;t&&(t.style.transform=e,t.style.setProperty(`--z`,String(l)))},h=(e,t)=>{f=e,p=t,a.scrollLeft!==e&&(a.scrollLeft=e),a.scrollTop!==t&&(a.scrollTop=t)},g=e=>{if(e.zoom!==l){l=e.zoom,u=e.x+f,d=e.y+p,m();return}let t=Math.round(u-e.x),n=Math.round(d-e.y);if(Math.abs(t-ZS)<ZS/2&&Math.abs(n-ZS)<ZS/2)return h(t,n);u=e.x+ZS,d=e.y+ZS,m(),h(ZS,ZS)},_=()=>{if(a.scrollLeft===f&&a.scrollTop===p)return;if(Math.abs(a.scrollLeft-f)>a.clientWidth||Math.abs(a.scrollTop-p)>a.clientHeight){a.scrollLeft=f,a.scrollTop=p;return}f=a.scrollLeft,p=a.scrollTop;let t=u-f,n=d-p;e.set(e=>({...e,x:t,y:n}))},v=`${a.clientWidth}x${a.clientHeight}`,y=new ResizeObserver(()=>{let t=`${a.clientWidth}x${a.clientHeight}`;t!==v&&(v=t,e.set(e=>({...e})))});y.observe(a);let b=()=>{clearTimeout(c),c=void 0,n.current?.style.removeProperty(`will-change`)};h(ZS,ZS),g(e.get()),a.addEventListener(`scroll`,_,{passive:!0});let x=e.subscribe(e=>{c===void 0&&n.current?.style.setProperty(`will-change`,`transform`),g(e),clearTimeout(c),c=setTimeout(()=>{b(),s.current?.()},o)});return()=>{x(),y.disconnect(),a.removeEventListener(`scroll`,_),b()}},[e,t,n,r,i,o])}function $S(e){let[t,n]=(0,z.useState)(!1);return(0,z.useEffect)(()=>{let t=t=>{t.code===e&&!tC(t)&&(n(!0),e===`Space`&&t.preventDefault())},r=t=>t.code===e&&n(!1),i=()=>n(!1);return window.addEventListener(`keydown`,t),window.addEventListener(`keyup`,r),window.addEventListener(`blur`,i),()=>{window.removeEventListener(`keydown`,t),window.removeEventListener(`keyup`,r),window.removeEventListener(`blur`,i)}},[e]),t}function eC(e,t=250){let[n,r]=(0,z.useState)(!1);return(0,z.useEffect)(()=>{let n,i=!1,a=e=>{i=e,r(e)},o=()=>{clearTimeout(n),a(!1)},s=r=>{let s=r.metaKey===(e===`Meta`)&&r.ctrlKey===(e===`Control`)&&r.altKey===(e===`Alt`)&&!r.shiftKey;r.key===e?r.repeat||(o(),s&&!tC(r)&&(n=setTimeout(()=>a(!0),t))):i&&s&&/^Digit[0-9]$/.test(r.code)||o()},c=t=>t.key===e&&o();return window.addEventListener(`keydown`,s,!0),window.addEventListener(`keyup`,c,!0),window.addEventListener(`pointerdown`,o,!0),window.addEventListener(`wheel`,o,!0),window.addEventListener(`blur`,o),()=>{clearTimeout(n),window.removeEventListener(`keydown`,s,!0),window.removeEventListener(`keyup`,c,!0),window.removeEventListener(`pointerdown`,o,!0),window.removeEventListener(`wheel`,o,!0),window.removeEventListener(`blur`,o)}},[e,t]),n}function tC(e){let t=e.composedPath()[0];return!!t&&(t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.isContentEditable)}function nC({size:e=20,dark:t=!1,dry:n=!1}){let r=n?t?`#5e5b54`:`#c9c5bc`:`#ffc81e`;return(0,V.jsx)(`svg`,{width:e,height:e,viewBox:`0 0 64 64`,role:`img`,"aria-label":`Loading`,className:n?`pz-juice pz-juice-slow`:`pz-juice`,children:(0,V.jsx)(`g`,{fill:r,stroke:r,strokeWidth:sc,strokeLinejoin:`round`,children:oc.map(e=>(0,V.jsx)(`path`,{d:e},e))})})}function rC({columns:e=24,className:t,label:n,title:r}){return(0,V.jsx)(`span`,{className:`pz-rain pz:inline-flex pz:shrink-0 pz:items-center${t?` ${t}`:``}`,...n?{role:`img`,"aria-label":n}:{"aria-hidden":!0},title:r,children:iC.slice(0,e).map((e,t)=>(0,V.jsx)(`span`,{style:{"--i":t,"--fall":`${e.fall}s`,"--drift":`${e.drift}s`}},t))})}var iC=Array.from({length:24},(e,t)=>{let n=e=>(Math.sin((t+1)*e)*43758.5453%1+1)%1;return{fall:(1.05+n(12.9898)*.5).toFixed(2),drift:(-n(78.233)*1.5).toFixed(2)}});function aC(e,t=300){let[n,r]=(0,z.useState)(!1);return(0,z.useEffect)(()=>{if(!e){r(!1);return}let n=setTimeout(()=>r(!0),t);return()=>clearTimeout(n)},[e,t]),e&&n}function oC(e,t){let[n,r]=(0,z.useState)(e),[i,a]=(0,z.useState)(new Map);if(e!==n){r(e);let i=[...n.keys()].filter(t=>!e.has(t));if(i.length){let e=performance.now()+t;a(t=>new Map([...t,...i.map(t=>[t,e])]))}}(0,z.useEffect)(()=>{if(!i.size)return;let e=Math.min(...i.values()),t=setTimeout(()=>{let e=performance.now();a(t=>new Map([...t].filter(([,t])=>t>e)))},Math.max(0,e-performance.now()));return()=>clearTimeout(t)},[i]);let o=new Map;for(let e of i.keys())o.set(e,!0);for(let t of e.keys())o.set(t,!1);return o}var sC=new WeakMap;function cC(e,t){let n=sC.get(t);if(n&&n.tokens===e)return n.themed;let r=D(e,t.root);return sC.set(t,{tokens:e,themed:r}),r}var lC=38,uC=22,dC=4,fC=4;function pC(e,t,n){let r=e.y-uC/n;return t.some(t=>t.id!==e.id&&t.x<e.x+e.w&&t.x+t.w>e.x&&t.y<e.y&&t.y+t.h>r)}function mC(e,t,n){let r=e.x*t.zoom+t.x,i=e.y*t.zoom+t.y,a=e.w*t.zoom,o=e.h*t.zoom;return r+a<=0||i+o<=0||r>=n.w||i>=n.h||Math.max(a,o)<160}function hC(e,t,n){let r=0;for(let i of e){if(mC(i,t,n))continue;let e=i.x*t.zoom+t.x,a=i.y*t.zoom+t.y,o=i.w*t.zoom,s=i.h*t.zoom;if((Math.min(e+o,n.w)-Math.max(e,0))*(Math.min(a+s,n.h)-Math.max(a,0))>=o*s*.25&&++r>4)return!0}return!1}function gC(e,t,n){let r=Math.min(e.x,t.x),i=Math.max(e.x,t.x),a=Math.min(e.y,t.y),o=Math.max(e.y,t.y);return n.filter(e=>e.x<=i&&e.x+e.w>=r&&e.y<=o&&e.y+e.h>=a).map(e=>e.id)}function _C(e){let t=Number.parseFloat(e.root.style.width??``)||1440,n=e.root.style.height;return{w:t,h:n&&/^\d+(\.\d+)?px$/.test(n)?Number.parseFloat(n):null}}function vC({source:e,me:t={kind:`user`,name:`You`},theme:n=`light`,footer:r=!0,footerExtra:i,readOnly:a=!1,page:o,onPageChange:s,initialFit:c=`page`,artboard:l,className:u}){let d=(0,z.useMemo)(()=>a?Tx(e):e,[e,a]),f=HS(d),p=f.doc,[m,h]=(0,z.useState)(null),g=o??m,_=e=>{h(e),s?.(e)},v=p?.pages.find(e=>e.id===g)??p?.pages[0],[y,b]=(0,z.useState)(`select`),x=$S(`Space`),S=y===`hand`||x,{camera:C,zoomAt:w,panBy:T,fit:E}=KS(),D=wr(),O=(0,z.useRef)(null),A=(0,z.useRef)(null),j=(0,z.useRef)(null),M=(0,z.useRef)(null),[te,re]=(0,z.useState)({}),[ie,ae]=(0,z.useState)(null),[oe,se]=(0,z.useState)(null),[ce,le]=(0,z.useState)(null),[ue,de]=(0,z.useState)([]),fe=(0,z.useRef)(null),pe=(0,z.useMemo)(()=>{let e=new Map;for(let t of f.presence)if(!(t.file&&t.file!==f.path))for(let n of t.working)e.set(n,[...e.get(n)??[],{id:t.id,name:t.name,client:t.client,status:t.status}]);return e},[f.presence,f.path]),me=(0,z.useMemo)(()=>new Set(p?.pages.filter(e=>e.artboards.some(e=>pe.has(e.id))).map(e=>e.id)),[p,pe]),P=aC(!p||!v);(0,z.useEffect)(()=>d.setTheme?.(n),[d,n]);let F=(0,z.useMemo)(()=>new Qr,[d]),[,I]=(0,z.useState)(0);(0,z.useEffect)(()=>{let e,t=d.onOp?.((t,n,r)=>{(n.kind===`agent`||n.kind===`disk`)&&(F.add(t,r,void 0,d.getState().doc),clearTimeout(e),e=setTimeout(()=>I(e=>e+1),F.until()))});return()=>{t?.(),clearTimeout(e)}},[d,F]);let L=oC(pe,500),R=v?.artboards??[],he=(0,z.useMemo)(()=>yx(R),[R]),ge=(0,z.useMemo)(()=>Sx(R),[R]),_e=e=>_C(e).h??te[e.id]??900,ve=(0,z.useMemo)(()=>p&&v?p.threads.filter(e=>(e.status===`open`||e.id===oe)&&N(p,e)?.id===v.id):[],[p,v,oe]),ye=gi(),be=d.assetBase??f.path,xe=(0,z.useMemo)(()=>a||!v?[]:ye.flatMap(e=>e.file===be&&e.pin&&mi(e)&&(e.pin.artboardId?R.some(t=>t.id===e.pin.artboardId):e.pin.pageId===v.id)?[e.pin]:[]),[ye,be,a,v,R]),Se=(0,z.useMemo)(()=>a?[]:[...new Set(ye.flatMap(e=>e.file===be&&e.thread&&mi(e)?[e.thread]:[]))],[ye,be,a]),Ce=Se.join(` `);(0,z.useEffect)(()=>{d.setWriting?.(Ce?Ce.split(` `):[])},[d,Ce]);let we=(0,z.useMemo)(()=>{if(!R.length)return null;let e=1/0,t=1/0,n=-1/0,r=-1/0;for(let i of R){let{w:a}=_C(i);e=Math.min(e,i.x),t=Math.min(t,i.y),n=Math.max(n,i.x+a),r=Math.max(r,i.y+_e(i))}return{x:e,y:t,w:n-e,h:r-t}},[R,te]),Te=(0,z.useMemo)(()=>R.map(e=>({id:e.id,x:e.x,y:e.y,w:_C(e).w,h:_e(e)})),[R,te]),Ee=()=>{let e=O.current?.getBoundingClientRect();return{w:e?.width??1200,h:e?.height??800}},De=(0,z.useCallback)(()=>{we&&E(we,Ee(),72,1)},[we,E]),Oe=(0,z.useCallback)(()=>{let e=[...R].sort((e,t)=>e.y-t.y||e.x-t.x)[0];if(!e)return;let t=Ee(),n=Math.min(1,(t.w-32)/_C(e).w);n>0&&C.set({zoom:n,x:(t.w-_C(e).w*n)/2-e.x*n,y:lC-e.y*n},!0)},[R,C]);(0,z.useLayoutEffect)(()=>{if(!v||!we)return;let e=`${v.id}:${c}`;fe.current!==e&&(fe.current=e,c===`first`?Oe():De())},[v,we,De,Oe,c]);let ke=(e,t)=>{e!==v?.id&&(fe.current=`${e}:${c}`,_(e)),t&&E({x:t.x,y:t.y,w:_C(t).w,h:_e(t)},Ee(),96,1)},Ae=(0,z.useRef)(null);(0,z.useLayoutEffect)(()=>{if(!l||!p)return;let e=ne(p,l),t=!!e&&(_C(e.artboard).h!==null||te[l]!==void 0),n=Ae.current;(n?.id!==l||!n.sized&&t)&&(Ae.current={id:l,sized:t},e&&ke(e.page.id,e.artboard))},[l,p,te]);let je=(0,z.useRef)(!1),Me=()=>{je.current=!0};(0,z.useEffect)(()=>{je.current=!1},[e]),(0,z.useEffect)(()=>{let e=f.focus;e&&p&&!je.current&&ke(e.page,ne(p,e.artboard)?.artboard)},[f.focus?.at]),(0,z.useEffect)(()=>{let e=O.current;if(!e)return;let t=new Map;for(let n of R){if(_C(n).h!==null)continue;let r=e.querySelector(`[data-artboard-host="${n.id}"]`);r?.shadowRoot&&t.set(n.id,r.shadowRoot)}if(!t.size)return;let n=new Map,r=new ResizeObserver(()=>i()),i=()=>{let e={};for(let[i,a]of t){let t=a.querySelector(`[data-artboard]`);if(t){if(n.get(i)!==t){let e=n.get(i);e&&r.unobserve(e),r.observe(t),n.set(i,t)}e[i]=t.offsetHeight}}re(t=>Object.keys(e).some(n=>e[n]!==t[n])?{...t,...e}:t)};i();let a=0,o=()=>{a||=requestAnimationFrame(()=>{a=0,i()})},s=new MutationObserver(o);for(let e of t.values())e.addEventListener(`load`,o,!0),e.addEventListener(`error`,o,!0),s.observe(e,{childList:!0});return document.fonts?.addEventListener(`loadingdone`,o),()=>{r.disconnect(),s.disconnect(),cancelAnimationFrame(a);for(let e of t.values())e.removeEventListener(`load`,o,!0),e.removeEventListener(`error`,o,!0);document.fonts?.removeEventListener(`loadingdone`,o)}},[R,p?.tokens]);let Ne=!!(p&&v);(0,z.useEffect)(()=>{if(!Ne)return;let e=O.current;if(!e)return;let t=t=>{let n=e.getBoundingClientRect();if(t.ctrlKey||t.metaKey){t.preventDefault(),w(Math.exp(-t.deltaY*.01),t.clientX-n.left,t.clientY-n.top);return}let r=t.composedPath(),i=r.findIndex(e=>e instanceof Element&&e.hasAttribute(`data-comment-open`));i>=0&&r.slice(0,i).some(e=>e instanceof HTMLElement&&kC(e,t))||(t.preventDefault(),i<0&&T(-t.deltaX,-t.deltaY))};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},[Ne,w,T]),(0,z.useEffect)(()=>{if(!oe&&!ie)return;let e=e=>{e.composedPath().some(e=>e instanceof Element&&e.hasAttribute(`data-comment-open`))||(se(null),ae(null))};return window.addEventListener(`pointerdown`,e,!0),()=>window.removeEventListener(`pointerdown`,e,!0)},[oe,ie]);let Pe=eC(`Alt`),Fe=v?.id;(0,z.useEffect)(()=>{Fe&&de([])},[Fe]);let Ie=e=>{Me(),_(e),ae(null),se(null)};(0,z.useEffect)(()=>{let e=e=>{b(e);let t=document.activeElement;t instanceof HTMLElement&&t.closest(`[data-slot="canvas-bar"]`)&&t.blur()},t=t=>{if(tC(t))return;let n=t.metaKey||t.ctrlKey,r=/^Digit([1-9])$/.exec(t.code)?.[1];if(t.altKey&&!n&&!t.shiftKey&&r&&p){t.preventDefault();let e=r===`9`?p.pages.at(-1):p.pages[Number(r)-1];e&&Ie(e.id)}else if(n&&t.key.toLowerCase()===`z`)t.preventDefault(),a||(t.shiftKey?d.redo():d.undo());else if(n&&(t.key===`=`||t.key===`+`)){t.preventDefault();let e=Ee();Me(),w(1.25,e.w/2,e.h/2)}else if(n&&t.key===`-`){t.preventDefault();let e=Ee();Me(),w(.8,e.w/2,e.h/2)}else if(t.shiftKey&&!n&&!t.altKey&&r===`1`)Me(),De();else if(t.shiftKey&&!n&&!t.altKey&&r===`2`&&ue[0]&&p){let e=ee(p,ue[0]);if(e){let{w:t}=_C(e.artboard);Me(),E({x:e.artboard.x,y:e.artboard.y,w:t,h:_e(e.artboard)},Ee(),96,2)}}else if(!n&&t.key===`v`)e(`select`);else if(!n&&t.key===`h`)e(`hand`);else if(!n&&t.key===`c`&&!a)e(`comment`);else if(t.key===`Escape`)ae(null),se(null),de([]),ze.current?.kind===`marquee`&&(ze.current=null),Ge(null),e(`select`);else if((t.key===`Backspace`||t.key===`Delete`)&&!a&&ue.length&&p){let e=ue.filter(e=>ne(p,e));e.length&&d.apply(e.length===1?{op:`artboard.delete`,id:e[0]}:{op:`batch`,ops:e.map(e=>({op:`artboard.delete`,id:e}))}),de([])}};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)});let Le=(e,t)=>{let n=O.current.getBoundingClientRect(),r=C.get();return{x:(e-n.left-r.x)/r.zoom,y:(t-n.top-r.y)/r.zoom}},Re=e=>{let t=Le(e.clientX,e.clientY),n=[...R].reverse().find(e=>t.x>=e.x&&t.x<=e.x+_C(e).w&&t.y>=e.y&&t.y<=e.y+_e(e));if(!n)return null;let r=O.current.querySelector(`[data-artboard-host="${n.id}"]`);return{artboard:n,nodeId:jS(r?.parentElement,()=>r?.shadowRoot?r.shadowRoot.elementsFromPoint(e.clientX,e.clientY):[]).find(e=>e.hasAttribute(`data-id`)&&!e.hasAttribute(`data-artboard`))?.getAttribute(`data-id`)??void 0}},ze=(0,z.useRef)(null),Be=e=>{if(e.button===1||S){ze.current={kind:`pan`,startX:e.clientX,startY:e.clientY,ids:[],origin:[],moved:!1},e.target.setPointerCapture?.(e.pointerId);return}if(e.button!==0||!p)return;let t=Re(e);if(y===`comment`&&!a){if(!v)return;let n=Le(e.clientX,e.clientY);se(null),ae(t?{artboardId:t.artboard.id,pageId:v.id,nodeId:t.nodeId,x:n.x-t.artboard.x,y:n.y-t.artboard.y}:{pageId:v.id,x:n.x,y:n.y});return}if(ae(null),se(null),!t){let t=e.pointerType!==`touch`,n=t&&e.shiftKey?ue:[];de(n),ze.current={kind:t?`marquee`:`pan`,startX:e.clientX,startY:e.clientY,ids:n,origin:[],anchor:Le(e.clientX,e.clientY),moved:!1},e.target.setPointerCapture?.(e.pointerId);return}let n=e.altKey||!t.nodeId?t.artboard.id:t.nodeId,r=e.shiftKey?ue.includes(n)?ue.filter(e=>e!==n):[...ue,n]:[n];de(r)},Ve=(e,t)=>{if(e.button!==0||S)return;if(e.stopPropagation(),a){ae(null),se(null),de([t.id]);return}let n=ue.includes(t.id)?ue.filter(e=>ne(p,e)):[t.id];ue.includes(t.id)||de([t.id]),ze.current={kind:`move`,startX:e.clientX,startY:e.clientY,ids:n,origin:n.map(e=>{let t=ne(p,e).artboard;return{id:e,x:t.x,y:t.y}}),moved:!1},e.target.setPointerCapture?.(e.pointerId)},[He,Ue]=(0,z.useState)(null),[We,Ge]=(0,z.useState)(null),Ke=e=>{if(!e.anchor||!e.pointer)return;let t=Le(e.pointer.x,e.pointer.y);Ge({a:e.anchor,b:t});let n=gC(e.anchor,t,Te);de([...e.ids,...n.filter(t=>!e.ids.includes(t))])},qe=(0,z.useRef)(Ke);qe.current=Ke,(0,z.useEffect)(()=>C.subscribe(()=>{let e=ze.current;e?.kind===`marquee`&&e.moved&&qe.current(e)}),[C]);let Je=e=>{(!a||e===null)&&le(e)},Ye=(0,z.useRef)({startMove:Ve,setRenaming:Je,apply:d.apply});Ye.current={startMove:Ve,setRenaming:Je,apply:e=>d.apply(e)};let Xe=(0,z.useMemo)(()=>({down:(e,t)=>Ye.current.startMove(e,t),rename:e=>Ye.current.setRenaming(e),apply:e=>Ye.current.apply(e)}),[]),Ze=e=>{let t=ze.current;if(!t)return;let n=e.clientX-t.startX,r=e.clientY-t.startY;if(Math.abs(n)+Math.abs(r)>2&&(t.moved=!0),t.kind===`pan`)T(e.movementX,e.movementY);else if(t.kind===`marquee`){if(!t.moved)return;t.pointer={x:e.clientX,y:e.clientY},Ke(t)}else if(t.moved){let{zoom:e}=C.get();Ue({dx:n/e,dy:r/e})}},Qe=()=>{let e=ze.current;if(ze.current=null,e?.kind===`move`&&e.moved&&He&&!a){let t=e.origin.map(e=>({op:`artboard.update`,id:e.id,x:Math.round(e.x+He.dx),y:Math.round(e.y+He.dy)}));d.apply(t.length===1?t[0]:{op:`batch`,ops:t})}Ue(null),Ge(null)},$e=e=>{if(!ie||a)return;let n=Date.now(),r={id:k(`th`),...ie.artboardId?{artboardId:ie.artboardId}:{pageId:ie.pageId},...ie.nodeId?{nodeId:ie.nodeId}:{},x:Math.round(ie.x),y:Math.round(ie.y),status:`open`,createdAt:n,updatedAt:n,messages:[{id:k(`m`),author:t,text:e,createdAt:n}]};d.apply({op:`thread.create`,thread:r}),ae(null)},[et,tt]=(0,z.useState)(null),nt=(e,t)=>{S||e.button!==0||(e.stopPropagation(),e.target.setPointerCapture?.(e.pointerId),tt({id:t.id,startX:e.clientX,startY:e.clientY,moved:!1,...Le(e.clientX,e.clientY)}))},rt=e=>{if(!et||a)return;let t=et.moved||Math.abs(e.clientX-et.startX)+Math.abs(e.clientY-et.startY)>3;if(!t)return;let n=Re(e);tt({...et,moved:t,...Le(e.clientX,e.clientY),target:n?n.nodeId??n.artboard.id:void 0})},it=(e,t)=>{let n=et;if(tt(null),!n||n.id!==t.id||!v)return;if(!n.moved||a){ae(null),se(oe===t.id?null:t.id);return}let r=Le(e.clientX,e.clientY),i=Re(e);d.apply(i?{op:`thread.update`,id:t.id,artboardId:i.artboard.id,pageId:null,nodeId:i.nodeId??null,x:Math.round(r.x-i.artboard.x),y:Math.round(r.y-i.artboard.y)}:{op:`thread.update`,id:t.id,artboardId:null,pageId:v.id,nodeId:null,x:Math.round(r.x),y:Math.round(r.y)})},[at,ot]=(0,z.useState)({}),st=(0,z.useRef)(()=>{});st.current=()=>{let e=O.current;if(!e)return;let t={},n=(n,r)=>{if(!(t[n]||R.some(e=>e.id===n)))for(let i of r?[r]:R){let r=IC(e,i,n);if(r){t[n]={...r,artboardId:i.id};return}}};for(let e of ue)n(e);et?.moved&&et.target&&n(et.target);for(let e of ve){let t=R.find(t=>t.id===e.artboardId);t&&e.nodeId&&n(e.nodeId,t)}ot(e=>PC(e,t)?e:t)};let ct=et?.moved?et.target:void 0;(0,z.useLayoutEffect)(()=>st.current(),[p,v,ue,te,ct]),QS(C,A,j,M,Ne,()=>st.current());let lt=typeof window>`u`?1:window.devicePixelRatio||1,ut=(0,z.useRef)(()=>0);ut.current=e=>{let t=R.find(t=>t.id===e);return t?zn({x:t.x,y:t.y,w:_C(t).w,h:_e(t)},C.get(),Ee()):0};let dt=(0,z.useCallback)(e=>ut.current(e),[]),ft=JS(C,e=>{let t=Ee(),n=String(Vn(e.zoom,lt));for(let r of R){let i={x:r.x,y:r.y,w:_C(r).w,h:_e(r)},a=Un(i,e,t);n+=Bn(i,e,t)?`+${a?`${a.y0}:${a.y1}`:``}`:`-`}return n}),pt=ft.moving&&hC(Te,ft,Ee());if((0,z.useEffect)(()=>qx.hold(pt||D),[pt,D]),!p||!v){let e=f.status===`offline`,t=f.path.split(`/`).pop()?.replace(/\.design$/,``);return(0,V.jsx)(`div`,{className:Wb(`pz-root`,`pz-${n}`,D&&`pz-still`,u),children:P&&(0,V.jsxs)(`div`,{className:`pz-appear pz:pointer-events-none pz:absolute pz:inset-0 pz:flex pz:flex-col pz:items-center pz:justify-center pz:gap-3 pz:text-muted-foreground`,children:[(0,V.jsx)(nC,{size:44,dark:n===`dark`,dry:e}),(0,V.jsx)(`span`,{children:f.error?f.error:e?`Reconnecting to Ponzu`:t?`Opening ${t}`:`Opening`})]})})}let mt=e=>He&&ze.current?.ids.includes(e)?He:null,ht=e=>LC(e,R,_e,mt,at),gt=ht(ue),_t=Ee(),vt=Vn(ft.zoom,lt),yt=F.boardsArriving(R);return(0,V.jsxs)(`div`,{className:Wb(`pz-root`,`pz-${n}`,D&&`pz-still`,u),onPointerDownCapture:Me,onWheelCapture:Me,onClickCapture:Me,children:[(0,V.jsx)(hr,{}),(0,V.jsx)(`div`,{ref:O,className:Wb(`pz:relative pz:min-h-0 pz:flex-1 pz:touch-none pz:overflow-hidden`,S?`pz:cursor-grab pz:active:cursor-grabbing`:y===`comment`?`pz:cursor-crosshair`:`pz:cursor-default`),onPointerDown:Be,onPointerMove:Ze,onPointerUp:Qe,onPointerCancel:Qe,onDragOver:e=>e.preventDefault(),children:(0,V.jsxs)(`div`,{ref:A,className:`pz:absolute pz:inset-0 pz:touch-none pz:overflow-scroll pz:overscroll-none pz:outline-none pz:[overflow-anchor:none] pz:[scrollbar-width:none]`,tabIndex:-1,onMouseDown:e=>e.button===1&&e.preventDefault(),children:[(0,V.jsx)(`div`,{"aria-hidden":!0,style:{width:XS,height:XS}}),(0,V.jsx)(`div`,{ref:j,className:`pz:absolute pz:top-0 pz:left-0 pz:origin-top-left`,children:R.map(e=>{let t=mt(e.id),r={x:e.x,y:e.y,w:_C(e).w,h:_e(e)},i=Un(r,ft,_t);return(0,V.jsx)(DC,{artboard:e,dx:t?.dx??0,dy:t?.dy??0,h:r.h,tokens:p.tokens,source:d,colorScheme:cC(p.tokens,e)?n:`light`,zoom:ft.zoom*lt,scale:vt,onScreen:Bn(r,ft,_t),moving:ft.moving,y0:i?.y0,y1:i?.y1,attention:!!t||ue.includes(e.id)||pe.has(e.id)||ce===e.id||yt.has(e.id),cheap:he.has(e.id),skeleton:ge.has(e.id),rankOf:dt,arrivals:F,radius:dC*lt/vt,hold:pt||mC({...r,x:r.x+(t?.dx??0),y:r.y+(t?.dy??0)},ft,_t)},e.id)})}),(0,V.jsxs)(`div`,{ref:M,className:`pz:pointer-events-none pz:absolute pz:top-0 pz:left-0 pz:origin-top-left`,children:[R.map(e=>{let t=mt(e.id);return(0,V.jsx)(OC,{artboard:e,dx:t?.dx??0,dy:t?.dy??0,who:pe.get(e.id),selected:ue.includes(e.id),renaming:ce===e.id,covered:pC({id:e.id,x:e.x+(t?.dx??0),y:e.y+(t?.dy??0),w:_C(e).w},Te,ft.zoom),events:Xe,arrivedAt:F.boardAt(e.id)},e.id)}),R.map(e=>{let t=F.boardAt(e.id),n=L.get(e.id);if(t===void 0&&n===void 0)return null;let r=mt(e.id),i={x:e.x+(r?.dx??0),y:e.y+(r?.dy??0),w:_C(e).w,h:_e(e)};return(0,V.jsxs)(z.Fragment,{children:[n!==void 0&&(0,V.jsx)(SC,{...i,leaving:n,delay:ai(t)}),t!==void 0&&(0,V.jsx)(CC,{...i,at:t})]},e.id)}),et?.moved&&et.target&&ht([et.target]).map(e=>(0,V.jsx)(`div`,{className:`pz:pointer-events-none pz:absolute pz:outline-[1.5px] pz:outline-select`,style:jC(e)},e.id)),gt.map(e=>(0,V.jsx)(`div`,{className:Wb(`pz:pointer-events-none pz:absolute pz:outline-select`,e.artboard?`pz:outline-2`:`pz:outline-[1.5px]`),style:jC(e)},e.id)),We&&(0,V.jsx)(`div`,{className:`pz:pointer-events-none pz:absolute pz:bg-select/8 pz:outline-1 pz:outline-select`,style:jC({x:Math.min(We.a.x,We.b.x),y:Math.min(We.a.y,We.b.y),w:Math.abs(We.b.x-We.a.x),h:Math.abs(We.b.y-We.a.y)})}),ve.map(e=>{let n=R.find(t=>t.id===e.artboardId),r=et?.id===e.id&&et.moved?et:null,i=oe===e.id,o=r??FC(e,n,at);return(0,V.jsxs)(`div`,{className:Wb(wC,i?`pz:z-[3]`:`pz:z-[2]`),style:{left:AC(o.x),top:AC(o.y)},"data-comment-open":i||void 0,children:[(0,V.jsx)(`button`,{type:`button`,title:a?`Open thread`:Se.includes(e.id)?`Unsent reply · Drag to move`:`Drag to move`,className:Wb(TC,`pz:bg-comment pz:text-comment-foreground`,Se.includes(e.id)&&`pz:outline-[1.5px] pz:outline-dashed pz:outline-offset-2 pz:outline-comment`,S?`pz:cursor-grab`:`pz:cursor-pointer`,(i||r)&&`pz:scale-112`,r&&`pz:cursor-grabbing pz:shadow-[0_0_0_1px_rgba(17,17,16,0.18),0_4px_12px_rgba(0,0,0,0.25)]`),onPointerDown:t=>nt(t,e),onPointerMove:rt,onPointerUp:t=>it(t,e),onPointerCancel:()=>tt(null),onClick:t=>t.detail===0&&se(i?null:e.id),children:e.messages.length}),i&&(0,V.jsx)(px,{thread:e,source:d,me:t,file:be,readOnly:a,onClose:()=>se(null)})]},e.id)}),xe.map(e=>{let t=di.comment(be,e);if(ie&&t===di.comment(be,ie))return null;let n=R.find(t=>t.id===e.artboardId);return(0,V.jsx)(`div`,{className:Wb(wC,`pz:z-[2]`),style:{left:AC((n?.x??0)+e.x),top:AC((n?.y??0)+e.y)},children:(0,V.jsx)(`button`,{type:`button`,title:`Unsent comment`,className:Wb(TC,`pz:cursor-pointer pz:bg-card pz:text-foreground pz:outline-[1.5px] pz:outline-dashed pz:outline-comment`),onPointerDown:t=>{S||t.button!==0||(t.stopPropagation(),se(null),ae(e))},onClick:t=>{t.detail===0&&(se(null),ae(e))},children:`+`})},t)}),ie&&(()=>{let e=R.find(e=>e.id===ie.artboardId);return(0,V.jsxs)(`div`,{className:Wb(wC,`pz:z-[3]`),style:{left:AC((e?.x??0)+ie.x),top:AC((e?.y??0)+ie.y)},"data-comment-open":!0,children:[(0,V.jsx)(`span`,{className:Wb(TC,`pz:scale-112 pz:bg-comment pz:text-comment-foreground`),children:`+`}),(0,V.jsx)(`div`,{className:`pz:absolute pz:-top-3 pz:left-5 pz:w-[300px] pz:select-text pz:overflow-hidden pz:rounded-xl pz:bg-card pz:shadow-pop`,children:(0,V.jsx)(dx,{onSubmit:$e,onCancel:()=>ae(null),draft:{key:di.comment(be,ie),file:be,pin:ie}},di.comment(be,ie))})]})})()]})]})}),r&&(0,V.jsx)(Yb,{children:(0,V.jsxs)(`div`,{className:`pz:pointer-events-none pz:absolute pz:inset-x-2.5 pz:bottom-2.5 pz:z-[3] pz:flex pz:items-end pz:justify-between pz:gap-2.5`,children:[(0,V.jsxs)(bC,{name:`Pages`,className:`pz:min-w-0 pz:shrink`,children:[(0,V.jsx)(`div`,{className:`pz:flex pz:min-w-0 pz:items-center pz:gap-0.5 pz:overflow-x-auto pz:[scrollbar-width:none]`,children:p.pages.map((e,t)=>(0,V.jsx)(EC,{name:e.name,shortcut:t<8?t+1:t===p.pages.length-1?9:void 0,showShortcut:Pe,icon:e.icon,active:e.id===v.id,working:me.has(e.id),onClick:()=>Ie(e.id),onRename:a?void 0:t=>d.apply({op:`page.update`,id:e.id,name:t})},e.id))}),!a&&(0,V.jsx)(Xb,{label:`New page`,children:(0,V.jsx)(Kb,{variant:`ghost`,size:`icon-lg`,"aria-label":`New page`,onClick:()=>{let e=k(`pg`);d.apply({op:`page.create`,index:p.pages.length,page:{id:e,name:`Page ${p.pages.length+1}`}}),_(e)},children:(0,V.jsx)(W,{name:`add`,size:15})})})]}),(0,V.jsxs)(bC,{name:`Controls`,className:`pz:shrink-0`,children:[i,(0,V.jsx)(ex,{variant:`raised`,value:S?`hand`:y,onValueChange:b,items:yC.filter(e=>!a||e.value!==`comment`).map(e=>({value:e.value,title:e.label,keys:[e.key],label:(0,V.jsx)(W,{name:e.value,size:16})}))}),(0,V.jsx)(`span`,{"aria-hidden":!0,className:`pz:mx-1.5 pz:h-4 pz:w-px pz:bg-foreground/10`}),(0,V.jsx)(Xb,{label:`Zoom out`,keys:[`⌘`,`−`],children:(0,V.jsx)(Kb,{variant:`ghost`,size:`icon`,"aria-label":`Zoom out`,onClick:()=>w(.8,Ee().w/2,Ee().h/2),children:(0,V.jsx)(W,{name:`minus`,size:14})})}),(0,V.jsx)(Xb,{label:`Zoom to fit`,keys:[`⇧`,`1`],children:(0,V.jsx)(Kb,{variant:`ghost`,className:`pz:h-7 pz:min-w-9 pz:rounded-lg pz:px-0.5 pz:text-foreground pz:tabular-nums`,"aria-label":`Zoom to fit`,onClick:De,children:(0,V.jsx)(NC,{camera:C})})}),(0,V.jsx)(Xb,{label:`Zoom in`,keys:[`⌘`,`+`],children:(0,V.jsx)(Kb,{variant:`ghost`,size:`icon`,"aria-label":`Zoom in`,onClick:()=>w(1.25,Ee().w/2,Ee().h/2),children:(0,V.jsx)(W,{name:`plus`,size:14})})})]})]})})]})}var yC=[{value:`select`,label:`Select`,key:`V`},{value:`hand`,label:`Hand`,key:`H`},{value:`comment`,label:`Comment`,key:`C`}];function bC({name:e,className:t,children:n}){return(0,V.jsx)(`div`,{role:`toolbar`,"aria-label":e,"data-slot":`canvas-bar`,className:Wb(`pz:pointer-events-auto pz:flex pz:items-center pz:gap-0.5 pz:rounded-xl pz:bg-bar pz:p-1 pz:shadow-bar pz:backdrop-blur-[18px] pz:backdrop-saturate-[1.6]`,t),onPointerDown:e=>e.stopPropagation(),onMouseDown:e=>{e.target instanceof Element&&e.target.closest(`input, textarea`)||e.preventDefault()},onWheel:e=>e.stopPropagation(),children:n})}function xC({who:e}){return(0,V.jsx)(rC,{className:`pz-rain-fit pz:ml-auto`,label:`Working`,title:e.map(e=>`${e.name}: ${e.status??`working`}`).join(`
|
|
2360
|
-
`)})}function SC({x:e,y:t,w:n,h:r,leaving:i=!1,delay:a=0}){let[o]=(0,z.useState)(a);return(0,V.jsx)(`div`,{className:`pz:pointer-events-none pz:absolute pz:transition-opacity pz:duration-500`,style:{...MC({x:e,y:t,w:n,h:r}),opacity:+!i},"aria-hidden":!0,children:(0,V.jsx)(`div`,{className:`pz-ring pz:absolute pz:inset-0`,style:{borderRadius:8,animationDelay:`${o}ms`}})})}function CC({x:e,y:t,w:n,h:r,at:i}){let a=(0,z.useRef)(null);return(0,z.useLayoutEffect)(()=>{a.current&&ii(a.current,i)},[i]),(0,V.jsx)(`svg`,{className:`pz:pointer-events-none pz:absolute pz:overflow-visible pz:text-[var(--pz-rind)]`,style:MC({x:e,y:t,w:n,h:r}),"aria-hidden":!0,children:(0,V.jsx)(`rect`,{ref:a,x:1,y:1,style:{width:`calc(100% - 2px)`,height:`calc(100% - 2px)`},rx:8,pathLength:100,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeDasharray:`100 100`,strokeDashoffset:100})})}var wC=`pz:pointer-events-auto pz:absolute pz:size-0`,TC=`pz:absolute pz:top-0 pz:left-0 pz:grid pz:size-6 pz:-translate-1/2 pz:place-items-center pz:rounded-full pz:font-semibold pz:text-[11px] pz:tabular-nums pz:shadow-[0_0_0_1px_rgba(17,17,16,0.18),0_1px_3px_rgba(0,0,0,0.25)] pz:transition-transform pz:duration-[120ms] pz:hover:scale-112`;function EC({name:e,shortcut:t,showShortcut:n,icon:r,active:i,working:a,onClick:o,onRename:s}){let[c,l]=(0,z.useState)(!1);return(0,V.jsxs)(`button`,{type:`button`,className:Wb(`pz:inline-flex pz:h-7 pz:shrink-0 pz:items-center pz:gap-1.5 pz:whitespace-nowrap pz:rounded-lg pz:px-2.5`,i?`pz:bg-raised pz:text-foreground pz:shadow-raised`:`pz:text-muted-foreground pz:hover:bg-accent pz:hover:text-foreground`),onClick:o,onDoubleClick:()=>s&&l(!0),children:[(0,V.jsx)(Zb,{modifier:`⌥`,n:t,shown:n,index:t,children:(0,V.jsx)(W,{name:r&&r in rc?r:`board`,size:14})}),c?(0,V.jsx)(`input`,{autoFocus:!0,className:`pz:w-[9em] pz:bg-transparent pz:outline-0`,defaultValue:e,onClick:e=>e.stopPropagation(),onBlur:t=>{let n=t.target.value.trim();n&&n!==e&&s?.(n),l(!1)},onKeyDown:e=>{e.key===`Enter`&&e.target.blur(),e.key===`Escape`&&l(!1),e.stopPropagation()}}):(0,V.jsx)(`span`,{className:Wb(a&&`pz-shimmer`),children:e})]})}var DC=(0,z.memo)(function({artboard:e,dx:t,dy:n,h:r,tokens:i,source:a,colorScheme:o,zoom:s,scale:c,onScreen:l,moving:u,y0:d,y1:f,attention:p,cheap:m,skeleton:h,rankOf:g,arrivals:_,radius:v,hold:y}){let{w:b,h:x}=_C(e),S=(0,z.useCallback)(()=>g(e.id),[g,e.id]),C=FS(e,i,()=>je(e)),w=(0,z.useMemo)(()=>a.snapshotUrl&&((e,t)=>a.snapshotUrl(e,t,C,o)),[a,C,o]),T=(0,z.useMemo)(()=>a.loopsUrl&&(e=>a.loopsUrl(e,C,o)),[a,C,o]),E=d===void 0||f===void 0?void 0:{y0:d,y1:f};return(0,V.jsx)(`div`,{ref:t=>{let n=t?_.takeBoard(e.id):void 0;t&&n!==void 0&&ni(t,n)},className:`pz:absolute pz:shadow-board`,style:{left:e.x+t,top:e.y+n,width:b,height:x??void 0,borderRadius:v,"--pz-board-radius":`${v}px`},children:(0,V.jsx)(zS,{id:e.id,w:b,h:r,scale:s,onScreen:l,moving:u,attention:p,snapshotUrl:w,loopsUrl:T,cheap:m,rank:S,cost:vx(e).elements,skeleton:h,fill:bx(e),children:t=>(0,V.jsx)(kr,{artboard:e,tokens:i,assetBase:a.assetBase,renditions:a.renditions,colorScheme:o,detail:{hidden:t,scale:c,moving:u,visible:E},arrivals:_,rounded:!0,hold:y})})})}),OC=(0,z.memo)(function({artboard:e,dx:t,dy:n,who:r,selected:i,renaming:a,covered:o,events:s,arrivedAt:c}){let l=o&&!r&&!a&&!i,u=(0,z.useRef)(null);return(0,z.useLayoutEffect)(()=>{u.current&&c!==void 0&&ri(u.current,c)},[c]),(0,V.jsx)(`div`,{className:`pz:absolute pz:h-0`,style:{left:AC(e.x+t),top:AC(e.y+n),width:AC(_C(e).w),visibility:l?`hidden`:void 0},children:(0,V.jsxs)(`div`,{className:Wb(`pz:pointer-events-auto pz:absolute pz:top-[-22px] pz:left-0 pz:flex pz:cursor-default pz:items-center pz:gap-[0.5em] pz:whitespace-nowrap pz:text-[12px] pz:leading-[1.4]`,!a&&`pz:max-w-full`,r&&`pz:right-0`,i?`pz:text-select`:`pz:text-muted-foreground pz:hover:text-foreground`),onPointerDown:t=>s.down(t,e),onDoubleClick:()=>s.rename(e.id),children:[a?(0,V.jsx)(`input`,{autoFocus:!0,className:`pz:rounded-[3px] pz:bg-card pz:px-[0.3em] pz:text-[12px] pz:outline-1 pz:outline-select`,defaultValue:e.name,onPointerDown:e=>e.stopPropagation(),onBlur:t=>{let n=t.target.value.trim();n&&n!==e.name&&s.apply({op:`artboard.update`,id:e.id,name:n}),s.rename(null)},onKeyDown:e=>{e.key===`Enter`&&e.target.blur(),e.key===`Escape`&&s.rename(null)}}):(0,V.jsx)(`span`,{ref:u,"data-board-name":!0,className:`pz:min-w-0 pz:truncate`,title:e.name,children:e.name}),r&&(0,V.jsx)(xC,{who:r})]})})});function kC(e,t){let n=getComputedStyle(e),r=/auto|scroll/.test(n.overflowY)&&(t.deltaY>0&&e.scrollTop+e.clientHeight<e.scrollHeight||t.deltaY<0&&e.scrollTop>0),i=/auto|scroll/.test(n.overflowX)&&(t.deltaX>0&&e.scrollLeft+e.clientWidth<e.scrollWidth||t.deltaX<0&&e.scrollLeft>0);return r||i}function AC(e){return`calc(var(--z) * ${e}px)`}function jC(e){return{left:AC(e.x),top:AC(e.y),width:AC(e.w),height:AC(e.h)}}function MC(e){return{left:`calc(var(--z) * ${e.x}px - ${fC}px)`,top:`calc(var(--z) * ${e.y}px - ${fC}px)`,width:`calc(var(--z) * ${e.w}px + 8px)`,height:`calc(var(--z) * ${e.h}px + 8px)`}}function NC({camera:e}){return(0,V.jsxs)(V.Fragment,{children:[qS(e),`%`]})}function PC(e,t){let n=Object.keys(e);return n.length===Object.keys(t).length&&n.every(n=>{let r=e[n],i=t[n];return!!i&&r.artboardId===i.artboardId&&Math.abs(r.x-i.x)<.5&&Math.abs(r.y-i.y)<.5&&Math.abs(r.w-i.w)<.5&&Math.abs(r.h-i.h)<.5})}function FC(e,t,n){let{x:r,y:i}=e,a=t&&e.nodeId?n[e.nodeId]:void 0;return a&&a.artboardId===t?.id&&(r=Math.min(Math.max(r,a.x),a.x+a.w),i=Math.min(Math.max(i,a.y),a.y+a.h)),{x:(t?.x??0)+r,y:(t?.y??0)+i}}function IC(e,t,n){let r=e.querySelector(`[data-artboard-host="${CSS.escape(t.id)}"]`),i=r?.parentElement,a=r?.shadowRoot?.querySelector(`[data-id="${CSS.escape(n)}"]`);if(!i||!a)return null;let o=i.getBoundingClientRect(),s=a.getBoundingClientRect(),c=o.width/_C(t).w;return c?{x:(s.left-o.left)/c,y:(s.top-o.top)/c,w:s.width/c,h:s.height/c}:null}function LC(e,t,n,r,i){let a=[];for(let o of e){let e=t.find(e=>e.id===o),s=e?{x:0,y:0,w:_C(e).w,h:n(e)}:void 0;if(!s){let n=i[o];e=n&&t.find(e=>e.id===n.artboardId),s=n}if(!e||!s)continue;let c=r(e.id);a.push({id:o,x:e.x+(c?.dx??0)+s.x,y:e.y+(c?.dy??0)+s.y,w:s.w,h:s.h,artboard:e.id===o})}return a}function RC(e){return Array.isArray?Array.isArray(e):JC(e)===`[object Array]`}function zC(e){if(typeof e==`string`)return e;if(typeof e==`bigint`)return e.toString();let t=e+``;return t==`0`&&1/e==-1/0?`-0`:t}function BC(e){return e==null?``:zC(e)}function VC(e){return typeof e==`string`}function HC(e){return typeof e==`number`}function UC(e){return e===!0||e===!1||GC(e)&&JC(e)==`[object Boolean]`}function WC(e){return typeof e==`object`}function GC(e){return WC(e)&&e!==null}function KC(e){return e!=null}function qC(e){return!e.trim().length}function JC(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var YC=`Incorrect 'index' type`,XC=`Invalid doc index: must be a non-negative integer within the bounds of the docs array`,ZC=e=>`Invalid value for key ${e}`,QC=e=>`Pattern length exceeds max of ${e}.`,$C=e=>`Missing ${e} property in key`,ew=e=>`Property 'weight' in key '${e}' must be a positive integer`,tw=`Fuse.match does not support useTokenSearch: token search requires corpus-level statistics (df, fieldCount) that a one-off string comparison does not have. Use new Fuse(...).search(...) instead.`,nw=Object.prototype.hasOwnProperty,rw=class{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(e=>{let n=iw(e);this._keys.push(n),this._keyMap[n.id]=n,t+=n.weight}),this._keys.forEach(e=>{e.weight/=t})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}};function iw(e){let t=null,n=null,r=null,i=1,a=null;if(VC(e)||RC(e))r=e,t=aw(e),n=ow(e);else{if(!nw.call(e,`name`))throw Error($C(`name`));let o=e.name;if(r=o,nw.call(e,`weight`)&&e.weight!==void 0&&(i=e.weight,i<=0))throw Error(ew(ow(o)));t=aw(o),n=ow(o),a=e.getFn??null}return{path:t,id:n,weight:i,src:r,getFn:a}}function aw(e){return RC(e)?e:e.split(`.`)}function ow(e){return RC(e)?e.join(`.`):e}function sw(e,t){let n=[],r=!1,i=(e,t,a,o)=>{if(KC(e)){if(!t[a])n.push(o===void 0?e:{v:e,i:o});else{let s=e[t[a]];if(!KC(s))return;if(a===t.length-1&&(VC(s)||HC(s)||UC(s)||typeof s==`bigint`))n.push(o===void 0?BC(s):{v:BC(s),i:o});else if(RC(s)){r=!0;for(let e=0,n=s.length;e<n;e+=1)i(s[e],t,a+1,e)}else t.length&&i(s,t,a+1,o)}}};return i(e,VC(t)?t.split(`.`):t,0),r?n:n[0]}var cw={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},lw={isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1},uw={location:0,threshold:.6,distance:100},dw={useExtendedSearch:!1,useTokenSearch:!1,tokenize:void 0,tokenMatch:`any`,getFn:sw,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},$=Object.freeze({...lw,...cw,...uw,...dw});function fw(e){return e>=9&&e<=13||e===32||e===160}function pw(e=1,t=3){let n=new Map,r=10**t;return{get(t){let i=0,a=!1;for(let e=0;e<t.length;e++)fw(t.charCodeAt(e))?a=!1:a||=(i++,!0);if(i===0&&(i=1),n.has(i))return n.get(i);let o=Math.round(r/i**(.5*e))/r;return n.set(i,o),o},clear(){n.clear()}}}var mw=class{constructor({getFn:e=$.getFn,fieldNormWeight:t=$.fieldNormWeight}={}){this.norm=pw(t,3),this.getFn=e,this.isCreated=!1,this.docs=[],this.keys=[],this._keysMap={},this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach((e,t)=>{this._keysMap[e.id]=t})}create(){if(this.isCreated||!this.docs.length)return;this.isCreated=!0;let e=this.docs.length;this.records=Array(e);let t=0;if(VC(this.docs[0]))for(let n=0;n<e;n++){let e=this._createStringRecord(this.docs[n],n);e&&(this.records[t++]=e)}else for(let n=0;n<e;n++)this.records[t++]=this._createObjectRecord(this.docs[n],n);this.records.length=t,this.norm.clear()}add(e,t){if(!Number.isInteger(t)||t<0)throw Error(XC);if(VC(e)){let n=this._createStringRecord(e,t);return n&&this.records.push(n),n}let n=this._createObjectRecord(e,t);return this.records.push(n),n}removeAt(e){if(!Number.isInteger(e)||e<0)throw Error(XC);for(let t=0,n=this.records.length;t<n;t+=1)if(this.records[t].i===e){this.records.splice(t,1);break}for(let t=0,n=this.records.length;t<n;t+=1)this.records[t].i>e&&--this.records[t].i}removeAll(e){let t=new Set;for(let n of e)Number.isInteger(n)&&n>=0&&t.add(n);if(t.size===0)return;this.records=this.records.filter(e=>!t.has(e.i));let n=Array.from(t).sort((e,t)=>e-t);for(let e of this.records){let t=0,r=n.length;for(;t<r;){let i=t+r>>>1;n[i]<e.i?t=i+1:r=i}e.i-=t}}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_createStringRecord(e,t){return!KC(e)||qC(e)?null:{v:e,i:t,n:this.norm.get(e)}}_createObjectRecord(e,t){let n={i:t,$:{}};for(let t=0,r=this.keys.length;t<r;t++){let r=this.keys[t],i=r.getFn?r.getFn(e):this.getFn(e,r.path);if(KC(i)){if(RC(i)){let e=[];for(let t=0,n=i.length;t<n;t+=1){let n=i[t];if(KC(n)){if(VC(n)){if(!qC(n)){let r={v:n,i:t,n:this.norm.get(n)};e.push(r)}}else if(KC(n.v)){let t=VC(n.v)?n.v:BC(n.v);if(!qC(t)){let r={v:t,i:n.i,n:this.norm.get(t)};e.push(r)}}}}n.$[t]=e}else if(VC(i)&&!qC(i)){let e={v:i,n:this.norm.get(i)};n.$[t]=e}}}return n}toJSON(){return{keys:this.keys.map(({getFn:e,...t})=>t),records:this.records}}};function hw(e,t,{getFn:n=$.getFn,fieldNormWeight:r=$.fieldNormWeight}={}){let i=new mw({getFn:n,fieldNormWeight:r});return i.setKeys(e.map(iw)),i.setSources(t),i.create(),i}function gw(e,{getFn:t=$.getFn,fieldNormWeight:n=$.fieldNormWeight}={}){let{keys:r,records:i}=e,a=new mw({getFn:t,fieldNormWeight:n});return a.setKeys(r),a.setIndexRecords(i),a}function _w(e=[],t=$.minMatchCharLength){let n=[],r=-1,i=-1,a=0;for(let o=e.length;a<o;a+=1){let o=e[a];o&&r===-1?r=a:!o&&r!==-1&&(i=a-1,i-r+1>=t&&n.push([r,i]),r=-1)}return e[a-1]&&a-r>=t&&n.push([r,a-1]),n}function vw(e,t,n,{location:r=$.location,distance:i=$.distance,threshold:a=$.threshold,findAllMatches:o=$.findAllMatches,minMatchCharLength:s=$.minMatchCharLength,includeMatches:c=$.includeMatches,ignoreLocation:l=$.ignoreLocation}={}){if(t.length>32)throw Error(QC(32));let u=t.length,d=e.length,f=Math.max(0,Math.min(r,d)),p=a,m=f,h=(e,t)=>{let n=e/u;if(l)return n;let r=Math.abs(f-t);return i?n+r/i:r?1:n},g=s>1||c,_=g?Array(d):[],v;for(;(v=e.indexOf(t,m))>-1;){let e=h(0,v);if(p=Math.min(e,p),m=v+u,g){let e=0;for(;e<u;)_[v+e]=1,e+=1}}m=-1;let y=[],b=1,x=0,S=u+d,C=1<<u-1;for(let t=0;t<u;t+=1){let r=0,i=S;for(;r<i;)h(t,f+i)<=p?r=i:S=i,i=Math.floor((S-r)/2+r);S=i;let a=Math.max(1,f-i+1),s=o?d:Math.min(f+i,d)+u,c=Array(s+2);c[s+1]=(1<<t)-1;for(let r=s;r>=a;--r){let i=r-1,o=n[e[i]];if(c[r]=(c[r+1]<<1|1)&o,t&&(c[r]|=(y[r+1]|y[r])<<1|1|y[r+1]),c[r]&C&&(b=h(t,i),b<=p)){if(p=b,m=i,x=t,m<=f)break;a=Math.max(1,2*f-m)}}if(h(t+1,f)>p)break;y=c}if(g&&m>=0){let t=Math.min(d-1,m+u-1+x);for(let r=m;r<=t;r+=1)n[e[r]]&&(_[r]=1)}let w={isMatch:m>=0,score:Math.max(.001,b)};if(g){let e=_w(_,s);e.length?c&&(w.indices=e):w.isMatch=!1}return w}function yw(e){let t={};for(let n=0,r=e.length;n<r;n+=1){let i=e.charAt(n);t[i]=(t[i]||0)|1<<r-n-1}return t}function bw(e){if(e.length<=1)return e;e.sort((e,t)=>e[0]-t[0]||e[1]-t[1]);let t=[e[0]];for(let n=1,r=e.length;n<r;n+=1){let r=t[t.length-1],i=e[n];i[0]<=r[1]+1?r[1]=Math.max(r[1],i[1]):t.push(i)}return t}var xw={ł:`l`,Ł:`L`,đ:`d`,Đ:`D`,ø:`o`,Ø:`O`,ħ:`h`,Ħ:`H`,ŧ:`t`,Ŧ:`T`,ı:`i`,ß:`ss`},Sw=RegExp(`[`+Object.keys(xw).join(``)+`]`,`g`),Cw=typeof String.prototype.normalize==`function`?e=>e.normalize(`NFD`).replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,``).replace(Sw,e=>xw[e]):e=>e,ww=class{constructor(e,{location:t=$.location,threshold:n=$.threshold,distance:r=$.distance,includeMatches:i=$.includeMatches,findAllMatches:a=$.findAllMatches,minMatchCharLength:o=$.minMatchCharLength,isCaseSensitive:s=$.isCaseSensitive,ignoreDiacritics:c=$.ignoreDiacritics,ignoreLocation:l=$.ignoreLocation}={}){if(this.options={location:t,threshold:n,distance:r,includeMatches:i,findAllMatches:a,minMatchCharLength:o,isCaseSensitive:s,ignoreDiacritics:c,ignoreLocation:l},e=s?e:e.toLowerCase(),e=c?Cw(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;let u=(e,t)=>{this.chunks.push({pattern:e,alphabet:yw(e),startIndex:t})},d=this.pattern.length;if(d>32){let e=0,t=d%32,n=d-t;for(;e<n;)u(this.pattern.substr(e,32),e),e+=32;if(t){let e=d-32;u(this.pattern.substr(e),e)}}else u(this.pattern,0)}searchIn(e){let{isCaseSensitive:t,ignoreDiacritics:n,includeMatches:r}=this.options;if(e=t?e:e.toLowerCase(),e=n?Cw(e):e,this.pattern===e){if(e.length<this.options.minMatchCharLength)return{isMatch:!1,score:1};let t={isMatch:!0,score:0};return r&&(t.indices=[[0,e.length-1]]),t}let{location:i,distance:a,threshold:o,findAllMatches:s,minMatchCharLength:c,ignoreLocation:l}=this.options,u=[],d=0,f=!1;this.chunks.forEach(({pattern:t,alphabet:n,startIndex:p})=>{let{isMatch:m,score:h,indices:g}=vw(e,t,n,{location:i+p,distance:a,threshold:o,findAllMatches:s,minMatchCharLength:c,includeMatches:r,ignoreLocation:l});m&&(f=!0),d+=h,m&&g&&u.push(...g)});let p={isMatch:f,score:f?d/this.chunks.length:1};return f&&r&&(p.indices=bw(u)),p}},Tw=new Set([`fuzzy`,`include`]);function Ew(e){return e.startsWith(`inverse`)}var Dw=[{type:`exact`,multiRegex:/^="(.*)"$/,singleRegex:/^=(.*)$/,create:e=>({type:`exact`,search(t){let n=t===e;return{isMatch:n,score:+!n,indices:[0,e.length-1]}}})},{type:`include`,multiRegex:/^'"(.*)"$/,singleRegex:/^'(.*)$/,create:e=>({type:`include`,search(t){let n=0,r,i=[],a=e.length;for(;(r=t.indexOf(e,n))>-1;)n=r+a,i.push([r,n-1]);let o=!!i.length;return{isMatch:o,score:+!o,indices:i}}})},{type:`prefix-exact`,multiRegex:/^\^"(.*)"$/,singleRegex:/^\^(.*)$/,create:e=>({type:`prefix-exact`,search(t){let n=t.startsWith(e);return{isMatch:n,score:+!n,indices:[0,e.length-1]}}})},{type:`inverse-prefix-exact`,multiRegex:/^!\^"(.*)"$/,singleRegex:/^!\^(.*)$/,create:e=>({type:`inverse-prefix-exact`,search(t){let n=!t.startsWith(e);return{isMatch:n,score:+!n,indices:[0,t.length-1]}}})},{type:`inverse-suffix-exact`,multiRegex:/^!"(.*)"\$$/,singleRegex:/^!(.*)\$$/,create:e=>({type:`inverse-suffix-exact`,search(t){let n=!t.endsWith(e);return{isMatch:n,score:+!n,indices:[0,t.length-1]}}})},{type:`suffix-exact`,multiRegex:/^"(.*)"\$$/,singleRegex:/^(.*)\$$/,create:e=>({type:`suffix-exact`,search(t){let n=t.endsWith(e);return{isMatch:n,score:+!n,indices:[t.length-e.length,t.length-1]}}})},{type:`inverse-exact`,multiRegex:/^!"(.*)"$/,singleRegex:/^!(.*)$/,create:e=>({type:`inverse-exact`,search(t){let n=t.indexOf(e)===-1;return{isMatch:n,score:+!n,indices:[0,t.length-1]}}})},{type:`fuzzy`,multiRegex:/^"(.*)"$/,singleRegex:/^(.*)$/,create:(e,t={})=>{let n=new ww(e,{location:t.location??$.location,threshold:t.threshold??$.threshold,distance:t.distance??$.distance,includeMatches:t.includeMatches??$.includeMatches,findAllMatches:t.findAllMatches??$.findAllMatches,minMatchCharLength:t.minMatchCharLength??$.minMatchCharLength,isCaseSensitive:t.isCaseSensitive??$.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics??$.ignoreDiacritics,ignoreLocation:t.ignoreLocation??$.ignoreLocation});return{type:`fuzzy`,search(e){return n.searchIn(e)}}}}],Ow=Dw.length,kw=`\0`,Aw=`|`;function jw(e){let t=[],n=e.length,r=0;for(;r<n;){for(;r<n&&e[r]===` `;)r++;if(r>=n)break;let i=r;for(;i<n&&e[i]!==` `&&e[i]!==`"`;)i++;if(i<n&&e[i]===`"`){for(i++;i<n;){if(e[i]===`"`){let t=i+1;if(t>=n||e[t]===` `){i++;break}if(e[t]===`$`&&(t+1>=n||e[t+1]===` `)){i+=2;break}}i++}t.push(e.substring(r,i)),r=i}else{for(;i<n&&e[i]!==` `;)i++;t.push(e.substring(r,i)),r=i}}return t}function Mw(e,t){let n=e.match(t);return n?n[1]:null}function Nw(e,t={}){return e.replace(/\\\|/g,kw).split(Aw).map(e=>{let n=jw(e.replace(/\u0000/g,`|`).trim()).filter(e=>e&&!!e.trim()),r=[];for(let e=0,i=n.length;e<i;e+=1){let i=n[e],a=!1,o=-1;for(;!a&&++o<Ow;){let e=Dw[o],n=Mw(i,e.multiRegex);n&&(r.push(e.create(n,t)),a=!0)}if(!a)for(o=-1;++o<Ow;){let e=Dw[o],n=Mw(i,e.singleRegex);if(n){r.push(e.create(n,t));break}}}return r})}var Pw=class{constructor(e,{isCaseSensitive:t=$.isCaseSensitive,ignoreDiacritics:n=$.ignoreDiacritics,includeMatches:r=$.includeMatches,minMatchCharLength:i=$.minMatchCharLength,ignoreLocation:a=$.ignoreLocation,findAllMatches:o=$.findAllMatches,location:s=$.location,threshold:c=$.threshold,distance:l=$.distance}={}){this.query=null,this.options={isCaseSensitive:t,ignoreDiacritics:n,includeMatches:r,minMatchCharLength:i,findAllMatches:o,ignoreLocation:a,location:s,threshold:c,distance:l},e=t?e:e.toLowerCase(),e=n?Cw(e):e,this.pattern=e,this.query=Nw(this.pattern,this.options)}static condition(e,t){return t.useExtendedSearch}searchIn(e){let t=this.query;if(!t)return{isMatch:!1,score:1};let{includeMatches:n,isCaseSensitive:r,ignoreDiacritics:i}=this.options;e=r?e:e.toLowerCase(),e=i?Cw(e):e;let a=0,o=[],s=0,c=!1;for(let r=0,i=t.length;r<i;r+=1){let i=t[r];o.length=0,a=0,c=!1;for(let t=0,r=i.length;t<r;t+=1){let r=i[t],{isMatch:l,indices:u,score:d}=r.search(e);if(l)a+=1,s+=d,Ew(r.type)&&(c=!0),n&&(Tw.has(r.type)?o.push(...u):o.push(u));else{s=0,a=0,o.length=0,c=!1;break}}if(a){let e={isMatch:!0,score:s/a};return c&&(e.hasInverse=!0),n&&(e.indices=bw(o)),e}}return{isMatch:!1,score:1}}},Fw=[];function Iw(...e){Fw.push(...e)}function Lw(e,t){for(let n=0,r=Fw.length;n<r;n+=1){let r=Fw[n];if(r.condition(e,t))return new r(e,t)}return new ww(e,t)}var Rw={AND:`$and`,OR:`$or`},zw={PATH:`$path`,PATTERN:`$val`},Bw=e=>!!(e[Rw.AND]||e[Rw.OR]),Vw=e=>!!e[zw.PATH],Hw=e=>!RC(e)&&WC(e)&&!Bw(e),Uw=e=>({[Rw.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function Ww(e,t,{auto:n=!0}={}){let r=e=>{if(VC(e)){let r={keyId:null,pattern:e};return n&&(r.searcher=Lw(e,t)),r}let i=Object.keys(e),a=Vw(e);if(!a&&i.length>1&&!Bw(e))return r(Uw(e));if(Hw(e)){let r=a?e[zw.PATH]:i[0],o=a?e[zw.PATTERN]:e[r];if(!VC(o))throw Error(ZC(r));let s={keyId:ow(r),pattern:o};return n&&(s.searcher=Lw(o,t)),s}let o={children:[],operator:i[0]};return i.forEach(t=>{let n=e[t];RC(n)&&n.forEach(e=>{o.children.push(r(e))})}),o};return Bw(e)||(e=Uw(e)),r(e)}function Gw(e,{ignoreFieldNorm:t=$.ignoreFieldNorm}){let n=1;return e.forEach(({key:e,norm:r,score:i})=>{let a=e?e.weight:null;n*=(i===0&&a?2**-52:i)**+((a||1)*(t?1:r))}),n}function Kw(e,{ignoreFieldNorm:t=$.ignoreFieldNorm}){e.forEach(e=>{e.score=Gw(e.matches,{ignoreFieldNorm:t})})}var qw=class{constructor(e,t){this.limit=e,this.heap=[],this.comparator=t}get size(){return this.heap.length}insert(e){this.size<this.limit?(this.heap.push(e),this._bubbleUp(this.size-1)):this.comparator(e,this.heap[0])<0&&(this.heap[0]=e,this._sinkDown(0))}extractSorted(){return this.heap.sort(this.comparator)}_bubbleUp(e){let t=this.heap;for(;e>0;){let n=e-1>>1;if(this.comparator(t[e],t[n])<=0)break;let r=t[e];t[e]=t[n],t[n]=r,e=n}}_sinkDown(e){let t=this.heap,n=t.length,r=e;do{e=r;let i=2*e+1,a=2*e+2;if(i<n&&this.comparator(t[i],t[r])>0&&(r=i),a<n&&this.comparator(t[a],t[r])>0&&(r=a),r!==e){let n=t[e];t[e]=t[r],t[r]=n}}while(r!==e)}};function Jw(e){let t=[];return e.matches.forEach(e=>{if(!KC(e.indices)||!e.indices.length)return;let n={indices:e.indices,value:e.value};e.key&&(n.key=e.key.id),e.idx>-1&&(n.refIndex=e.idx),t.push(n)}),t}function Yw(e,t,{includeMatches:n=$.includeMatches,includeScore:r=$.includeScore}={}){return e.map(e=>{let{idx:i}=e,a={item:t[i],refIndex:i};return n&&(a.matches=Jw(e)),r&&(a.score=e.score),a})}var Xw=/[\p{L}\p{M}\p{N}_]+/gu,Zw=new WeakSet;function Qw(e){Zw.has(e)||(Zw.add(e),console.warn(`[Fuse] tokenize regex ${e} lacks the global flag; only the first match per text will be returned. Add the 'g' flag.`))}function $w(e){if(typeof e==`function`){let t=!1;return n=>{let r=e(n);if(!t&&(t=!0,!Array.isArray(r)||r.some(e=>typeof e!=`string`)))throw Error(`[Fuse] tokenize function must return string[]; received ${Array.isArray(r)?`array containing non-strings`:typeof r}.`);return r}}return e instanceof RegExp?(e.global||Qw(e),t=>t.match(e)||[]):e=>e.match(Xw)||[]}function eT({isCaseSensitive:e=!1,ignoreDiacritics:t=!1,tokenize:n}={}){let r=$w(n);return{tokenize(n){return e||(n=n.toLowerCase()),t&&(n=Cw(n)),r(n)}}}var tT=class{static condition(e,t){return t.useTokenSearch}constructor(e,t){this.options=t,this.analyzer=eT({isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,tokenize:t.tokenize});let n=this.analyzer.tokenize(e),{df:r,fieldCount:i}=t._invertedIndex;this.termSearchers=[],this.idfWeights=[];for(let e of n){this.termSearchers.push(new ww(e,{location:t.location,threshold:t.threshold,distance:t.distance,includeMatches:t.includeMatches,findAllMatches:t.findAllMatches,minMatchCharLength:t.minMatchCharLength,isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,ignoreLocation:!0}));let n=r.get(e)||0,a=Math.log(1+(i-n+.5)/(n+.5));this.idfWeights.push(a)}this.combineAll=t.tokenMatch===`all`,this.numTerms=this.termSearchers.length,this.useMask=this.numTerms<=31}searchIn(e){if(!this.termSearchers.length)return{isMatch:!1,score:1};let t=[],n=0,r=0,i=0,a=0,o=this.combineAll&&!this.useMask?new Set:null;for(let s=0;s<this.termSearchers.length;s++){let c=this.termSearchers[s].searchIn(e),l=this.idfWeights[s];r+=l,c.isMatch&&(i++,n+=l*(1-c.score),c.indices&&t.push(...c.indices),this.combineAll&&(this.useMask?a|=1<<s:o.add(s)))}if(i===0)return{isMatch:!1,score:1};let s=r>0?1-n/r:0,c={isMatch:!0,score:Math.max(.001,s)};return this.options.includeMatches&&t.length&&(c.indices=bw(t)),this.combineAll&&(this.useMask?c.matchedMask=a:c.matchedTerms=o,c.termCount=this.numTerms),c}};function nT(e,t,n,r){let i=r.tokenize(t);if(!i.length)return;e.fieldCount++,e.docFieldCount.set(n,(e.docFieldCount.get(n)||0)+1);let a=new Set(i),o=e.docTermFieldHits.get(n);o||(o=new Map,e.docTermFieldHits.set(n,o));for(let t of a)o.set(t,(o.get(t)||0)+1),e.df.set(t,(e.df.get(t)||0)+1)}function rT(e,t,n,r){let{i,v:a,$:o}=t;if(a!==void 0)nT(e,a,i,r);else if(o)for(let t=0;t<n;t++){let n=o[t];if(n){if(Array.isArray(n))for(let t of n)nT(e,t.v,i,r);else nT(e,n.v,i,r)}}}function iT(e,t,n){let r={fieldCount:0,df:new Map,docFieldCount:new Map,docTermFieldHits:new Map};for(let i of e)rT(r,i,t,n);return r}function aT(e,t,n,r){rT(e,t,n,r)}function oT(e,t){let n=e.docFieldCount.get(t);if(n===void 0)return;e.fieldCount-=n,e.docFieldCount.delete(t);let r=e.docTermFieldHits.get(t);if(r){for(let[t,n]of r){let r=(e.df.get(t)||0)-n;r<=0?e.df.delete(t):e.df.set(t,r)}e.docTermFieldHits.delete(t)}}function sT(e,t){if(t.length===0)return;let n=Array.from(new Set(t)).sort((e,t)=>e-t);for(let t of n)oT(e,t);let r=e=>{let t=0,r=n.length;for(;t<r;){let i=t+r>>>1;n[i]<e?t=i+1:r=i}return e-t},i=n[0],a=new Map;for(let[t,n]of e.docFieldCount)a.set(t>i?r(t):t,n);e.docFieldCount=a;let o=new Map;for(let[t,n]of e.docTermFieldHits)o.set(t>i?r(t):t,n);e.docTermFieldHits=o}var cT=class{constructor(e,t,n){this.options={...$,...t},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new rw(this.options.keys),this._docs=e,this._myIndex=null,this._invertedIndex=null,this.setCollection(e,n),this._lastQuery=null,this._lastSearcher=null}_getSearcher(e){if(this._lastQuery===e)return this._lastSearcher;let t=Lw(e,this._invertedIndex?{...this.options,_invertedIndex:this._invertedIndex}:this.options);return this._lastQuery=e,this._lastSearcher=t,t}setCollection(e,t){if(this._docs=e,t&&!(t instanceof mw))throw Error(YC);if(this._myIndex=t||hw(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){let e=eT({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});this._invertedIndex=iT(this._myIndex.records,this._myIndex.keys.length,e)}this._invalidateSearcherCache()}add(e){if(!KC(e))return;this._docs.push(e);let t=this._myIndex.add(e,this._docs.length-1);if(this._invertedIndex&&t){let e=eT({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});aT(this._invertedIndex,t,this._myIndex.keys.length,e)}this._invalidateSearcherCache()}remove(e=()=>!1){let t=[],n=[];for(let r=0,i=this._docs.length;r<i;r+=1)e(this._docs[r],r)&&(t.push(this._docs[r]),n.push(r));if(n.length){this._invertedIndex&&sT(this._invertedIndex,n);let e=new Set(n);this._docs=this._docs.filter((t,n)=>!e.has(n)),this._myIndex.removeAll(n),this._invalidateSearcherCache()}return t}removeAt(e){if(!Number.isInteger(e)||e<0||e>=this._docs.length)throw Error(XC);this._invertedIndex&&sT(this._invertedIndex,[e]);let t=this._docs.splice(e,1)[0];return this._myIndex.removeAt(e),this._invalidateSearcherCache(),t}_invalidateSearcherCache(){this._lastQuery=null,this._lastSearcher=null}getIndex(){return this._myIndex}_normalizedKeys(){return this._myIndex.keys.map(e=>this._keyStore.get(e.id)||e)}search(e,t){let{limit:n=-1}=t||{},{includeMatches:r,includeScore:i,shouldSort:a,sortFn:o,ignoreFieldNorm:s}=this.options;if(VC(e)&&!e.trim()){let e=this._docs.map((e,t)=>({item:e,refIndex:t}));return HC(n)&&n>-1&&(e=e.slice(0,n)),e}let c=a&&HC(n)&&n>0&&VC(e),l=o,u=(e,t)=>l(e,t)||e.idx-t.idx,d;if(c){let t=new qw(n,u);VC(this._docs[0])?this._searchStringList(e,{heap:t,ignoreFieldNorm:s}):this._searchObjectList(e,{heap:t,ignoreFieldNorm:s}),d=t.extractSorted()}else d=VC(e)?VC(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e),Kw(d,{ignoreFieldNorm:s}),a&&d.sort(VC(e)?u:l),HC(n)&&n>-1&&(d=d.slice(0,n));return Yw(d,this._docs,{includeMatches:r,includeScore:i})}_searchStringList(e,{heap:t,ignoreFieldNorm:n}={}){let r=this._getSearcher(e),i=this.options.useTokenSearch&&this.options.tokenMatch===`all`,{records:a}=this._myIndex,o=t?null:[];return a.forEach(({v:e,i:a,n:s})=>{if(!KC(e))return;let c=r.searchIn(e);if(c.isMatch){let r={score:c.score,value:e,norm:s,indices:c.indices};i&&(r.matchedMask=c.matchedMask,r.matchedTerms=c.matchedTerms,r.termCount=c.termCount);let l=[r];if(!i||this._coversAllTokens(l)){let r={item:e,idx:a,matches:l};t?(r.score=Gw(r.matches,{ignoreFieldNorm:n}),t.insert(r)):o.push(r)}}}),o}_searchLogical(e){let t=Ww(e,this.options),n=this._normalizedKeys(),r=(e,t,i)=>{if(!(`children`in e)){let{keyId:r,searcher:a}=e,o;return r===null?(o=[],n.forEach((e,n)=>{o.push(...this._findMatches({key:e,value:t[n],searcher:a}))})):o=this._findMatches({key:this._keyStore.get(r),value:this._myIndex.getValueForItemAtKeyId(t,r),searcher:a}),o&&o.length?[{idx:i,item:t,matches:o}]:[]}let{children:a,operator:o}=e,s=[];for(let e=0,n=a.length;e<n;e+=1){let n=a[e],c=r(n,t,i);if(c.length)s.push(...c);else if(o===Rw.AND)return[]}return s},i=this._myIndex.records,a=new Map,o=[];return i.forEach(({$:e,i:n})=>{if(KC(e)){let i=r(t,e,n);i.length&&(a.has(n)||(a.set(n,{idx:n,item:e,matches:[]}),o.push(a.get(n))),i.forEach(({matches:e})=>{a.get(n).matches.push(...e)}))}}),o}_searchObjectList(e,{heap:t,ignoreFieldNorm:n}={}){let r=this._getSearcher(e),i=this.options.useTokenSearch&&this.options.tokenMatch===`all`,{records:a}=this._myIndex,o=this._normalizedKeys(),s=t?null:[];return a.forEach(({$:e,i:a})=>{if(!KC(e))return;let c=[],l=!1,u=!1;if(o.forEach((t,n)=>{let i=this._findMatches({key:t,value:e[n],searcher:r});i.length?(c.push(...i),i[0].hasInverse&&(u=!0)):l=!0}),!(u&&l)&&c.length&&(!i||this._coversAllTokens(c))){let r={idx:a,item:e,matches:c};t?(r.score=Gw(r.matches,{ignoreFieldNorm:n}),t.insert(r)):s.push(r)}}),s}_findMatches({key:e,value:t,searcher:n}){if(!KC(t))return[];let r=[];if(RC(t))t.forEach(({v:t,i,n:a})=>{if(!KC(t))return;let o=n.searchIn(t);if(o.isMatch){let n={score:o.score,key:e,value:t,idx:i,norm:a,indices:o.indices,hasInverse:o.hasInverse};o.termCount!==void 0&&(n.matchedMask=o.matchedMask,n.matchedTerms=o.matchedTerms,n.termCount=o.termCount),r.push(n)}});else{let{v:i,n:a}=t,o=n.searchIn(i);if(o.isMatch){let t={score:o.score,key:e,value:i,norm:a,indices:o.indices,hasInverse:o.hasInverse};o.termCount!==void 0&&(t.matchedMask=o.matchedMask,t.matchedTerms=o.matchedTerms,t.termCount=o.termCount),r.push(t)}}return r}_coversAllTokens(e){let t=e.length?e[0].termCount:void 0;if(t===void 0)return!0;if(t<=31){let n=0;for(let t=0;t<e.length;t++)n|=e[t].matchedMask||0;return n===2**t-1}let n=new Set;for(let t=0;t<e.length;t++){let r=e[t].matchedTerms;if(r)for(let e of r)n.add(e)}return n.size===t}};cT.version=`7.5.0`,cT.createIndex=hw,cT.parseIndex=gw,cT.config=$,cT.match=function(e,t,n){if(n&&n.useTokenSearch)throw Error(tw);return Lw(e,{...$,...n}).searchIn(t)},cT.parseQuery=Ww,Iw(Pw),Iw(tT),cT.use=function(...e){e.forEach(e=>Iw(e))};var lT=cT;function uT(...e){return Hb(dc(e))}function dT(e,t){return e?.files.find(e=>e.key===t.key&&e.base===t.base)}function fT(e){return e.replace(/^\/private(?=\/(tmp|var|etc)(\/|$))/,``).replace(/^\/(Users|home)\/[^/]+/,`~`)}function pT(e){return e.git?.root??(e.key.slice(0,e.key.lastIndexOf(`/`))||`/`)}function mT(e){return e.git?.branch??e.git?.commit}function hT(e){let t=e.git;if(!t)return null;let n=t.project??t.root;return{id:n,name:t.projectName??n.split(`/`).pop()??n}}function gT({machine:e}){return(0,V.jsxs)(`span`,{className:`flex items-center gap-[5px]`,children:[(0,V.jsx)(W,{name:e?.kind===`laptop`?`laptop`:`desktop`,size:13,strokeWidth:1.7,className:`text-faint`}),e?.name??`This Mac`]})}function _T({file:e,className:t,project:n=!0}){let r=mT(e),i=n?hT(e):null,a=r??fT(pT(e));return(0,V.jsxs)(`span`,{className:uT(`flex min-w-0 items-center gap-[5px] text-muted-foreground text-xs`,t),title:fT(e.key),children:[i&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(W,{name:`repo`,size:13,strokeWidth:1.7,className:`shrink-0 text-faint`}),(0,V.jsx)(`span`,{className:`min-w-0 shrink-0 truncate`,children:i.name}),(0,V.jsx)(`span`,{className:`text-faint`,children:`·`})]}),(0,V.jsx)(W,{name:r?`branch`:`folder`,size:13,strokeWidth:1.7,className:`shrink-0 text-faint`}),(0,V.jsx)(`span`,{className:`min-w-0 truncate`,dir:r?void 0:`rtl`,children:(0,V.jsx)(`bdi`,{children:a})})]})}function vT({file:e,name:t,machine:n}){let r=e&&hT(e),i=e&&mT(e),a=e&&!r&&pT(e);return(0,V.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[(0,V.jsx)(`b`,{className:`truncate font-semibold text-[14px]`,title:e&&fT(e.key),children:e?.name??t}),(r||a)&&(0,V.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[r&&(0,V.jsx)(yT,{icon:`repo`,label:bT(r),title:fT(r.id)}),i&&(0,V.jsx)(yT,{icon:`branch`,label:i,title:e?.git?.branch?i:`Detached at ${i}`}),a&&(0,V.jsx)(yT,{icon:`folder`,label:fT(a),title:fT(a),fromEnd:!0})]}),e?.locked&&(0,V.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:`Open it to let Ponzu read this folder.`}),(0,V.jsxs)(`div`,{className:`flex items-center gap-[5px] whitespace-nowrap border-t pt-2.5 text-muted-foreground text-xs`,children:[(0,V.jsx)(gT,{machine:n}),e?.modified?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`text-faint`,children:`·`}),xT(e.modified)]}):null]})]})}function yT({icon:e,label:t,title:n,fromEnd:r}){return(0,V.jsxs)(`span`,{className:`flex min-w-0 items-center gap-[5px] text-xs`,title:n,children:[(0,V.jsx)(W,{name:e,size:13,strokeWidth:1.7,className:`shrink-0 text-faint`}),(0,V.jsx)(`span`,{className:`min-w-0 truncate`,dir:r?`rtl`:void 0,children:(0,V.jsx)(`bdi`,{children:t})})]})}function bT(e){return e.id.startsWith(`/`)?e.name:e.id.slice(e.id.indexOf(`/`)+1)}function xT(e){if(!e)return`Edited a while ago`;let t=ax(e);if(t===`now`)return`Just now`;let n=t.slice(-1),r=Number(t.slice(0,-1));return n===`m`?`${CT(r,`min`)} ago`:n===`h`?`${CT(r,`hour`)} ago`:r===1?`Yesterday`:r<7?`${r} days ago`:new Date(e).toLocaleDateString(void 0,{month:`short`,day:`numeric`})}function ST(e){if(!e)return``;let t=ax(e);return t===`now`?`now`:/^\d+[mhd]$/.test(t)&&!(t.endsWith(`d`)&&Number(t.slice(0,-1))>=7)?t:new Date(e).toLocaleDateString(void 0,{month:`short`,day:`numeric`})}function CT(e,t){return`${e} ${t}${e===1?``:`s`}`}var wT=`z-50 min-w-[200px] rounded-[11px] bg-popover p-[5px] text-[13px] text-popover-foreground shadow-[0_0_0_1px_var(--hairline-strong),0_1px_2px_rgba(0,0,0,0.06),0_8px_28px_rgba(0,0,0,0.1)] outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0`,TT=`flex h-[30px] cursor-default select-none items-center gap-[9px] rounded-[7px] px-2.5 outline-none data-[disabled]:pointer-events-none data-[highlighted]:bg-accent data-[disabled]:opacity-40 [&_svg]:text-muted-foreground`,ET=`mx-1.5 my-1 h-px bg-[var(--hairline-strong)]`,DT=f_,OT=m_;function kT({className:e,sideOffset:t=6,...n}){return(0,V.jsx)(h_,{children:(0,V.jsx)(__,{"data-slot":`dropdown-menu-content`,sideOffset:t,className:uT(wT,e),...n})})}function AT({className:e,...t}){return(0,V.jsx)(v_,{"data-slot":`dropdown-menu-item`,className:uT(TT,e),...t})}function jT({className:e,...t}){return(0,V.jsx)(y_,{className:uT(ET,e),...t})}var MT=Yg,NT=Zg;function PT({className:e,...t}){return(0,V.jsx)(Qg,{children:(0,V.jsx)(e_,{"data-slot":`context-menu-content`,className:uT(wT,e),...t})})}function FT({className:e,...t}){return(0,V.jsx)(t_,{"data-slot":`context-menu-item`,className:uT(TT,e),...t})}function IT({className:e,...t}){return(0,V.jsx)(n_,{className:uT(ET,e),...t})}var LT=navigator.userAgent.includes(`Mac`),RT=LT?`⌘`:`Ctrl+`,zT=8,BT=12,VT=4,HT=1e4;function UT({catalog:e,onOpen:t,onOpenFolder:n,onNew:r,onShelve:i}){let[a,o]=(0,z.useState)(``),[s,c]=(0,z.useState)(`recent`),[l,u]=(0,z.useState)(null),[d,f]=(0,z.useState)(null),p=(0,z.useRef)(null);(0,z.useEffect)(()=>{let e=e=>{e.metaKey===LT&&e.ctrlKey===!LT&&!e.shiftKey&&!e.altKey&&e.key.toLowerCase()===`f`&&(e.preventDefault(),p.current?.focus(),p.current?.select())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]);let m=(0,z.useMemo)(()=>x(e?.files??[]),[e?.files]),h=e?.agents.some(e=>e.found&&e.connected)??!1,g=m.some(e=>e.machine===`local`),_=e!==null&&!g&&!(h&&m.length>0),v=eE(e!==null,_),b=a.trim(),C=yE(m),w=(0,z.useMemo)(()=>{let e={recent:[],archived:[]};for(let t of m)e[y(t)].push(t);return{recent:S(e.recent),archived:S(e.archived)}},[m]),T=w.recent,E=w[s],D=YT(E),O=l!==null&&D.some(e=>e.id===l)?l:null,k=O===null?E:E.filter(e=>(hT(e.file)?.id??qT)===O),A=e=>f({text:e instanceof Error&&e.message?e.message:`That didn’t work.`}),j=i?async(e,t)=>{let n=t=>Promise.all([e.file,...e.copies].map(e=>i(e,t)));try{await n(t)}catch(e){A(e);return}let r={archive:`restore`,restore:`archive`};f({text:KT[t](e.file.name),undo:()=>{f(null),n(r[t]).catch(A)}})}:void 0;return(0,z.useEffect)(()=>{if(!d)return;let e=setTimeout(()=>f(null),6e3);return()=>clearTimeout(e)},[d]),(0,V.jsxs)(`div`,{className:`h-full overflow-auto rounded-xl bg-home`,children:[(0,V.jsxs)(`div`,{className:`mx-auto flex max-w-[1088px] flex-col gap-7 px-8 pt-12 pb-12`,children:[(0,V.jsx)(Yb,{children:(0,V.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,V.jsxs)(`label`,{className:`search flex h-10 flex-1 items-center gap-2.5 rounded-[10px] bg-card px-3.5 text-[14px]`,children:[(0,V.jsx)(W,{name:`search`,size:18,className:`shrink-0 text-faint`}),(0,V.jsx)(`input`,{ref:p,value:a,onChange:e=>o(e.target.value),onKeyDown:e=>{e.key===`Escape`&&(o(``),e.currentTarget.blur())},placeholder:`Search designs`,spellCheck:!1,className:`h-full min-w-0 flex-1 bg-transparent outline-none placeholder:text-faint`}),b?(0,V.jsx)(`button`,{type:`button`,"aria-label":`Clear search`,className:`grid size-5 place-items-center rounded text-faint hover:text-foreground`,onClick:()=>{o(``),p.current?.focus()},children:(0,V.jsx)(W,{name:`close`,size:14,strokeWidth:1.8})}):(0,V.jsxs)(`span`,{className:`text-faint text-xs`,children:[RT,`F`]})]}),(0,V.jsx)(`span`,{className:`w-1.5`}),n&&(0,V.jsx)(aE,{label:`Open`,keys:[`⌘`,`O`],icon:`folderOpen`,onClick:n}),r&&(0,V.jsx)(aE,{label:`New`,keys:[`⌘`,`N`],icon:`add`,onClick:r})]})}),e===null||_&&v?(0,V.jsx)(rE,{}):b?(0,V.jsx)(TE,{query:b,cards:T,onOpen:t,onShelve:j,live:C}):_?(0,V.jsx)(sE,{catalog:e,files:m,onOpen:t,live:C}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`div`,{className:`-mb-3.5 flex h-7 items-center justify-between gap-4`,children:[(0,V.jsx)(JT,{view:s,counts:{recent:w.recent.length,archived:w.archived.length},onView:c}),D.length>1&&(0,V.jsx)(XT,{projects:D,total:E.length,scope:O,onScope:u})]}),k.length?(0,V.jsx)(dE,{children:k.map(e=>(0,V.jsx)(fE,{card:e,onOpen:t,onShelve:j,live:C.has(e.file.id),short:!!O},e.file.id))}):(0,V.jsx)(`p`,{className:`mt-6 text-center text-muted-foreground`,children:GT[s]})]})]}),d&&(0,V.jsx)(iE,{text:d.text,onUndo:d.undo,onClose:()=>f(null)})]})}var WT=[{id:`recent`,label:`Recent`,icon:`clock`},{id:`archived`,label:`Archived`,icon:`shelved`}],GT={recent:`Nothing here yet.`,archived:`Nothing archived.`},KT={archive:e=>`Archived “${e}”. It comes back when you open it or an agent edits it.`,restore:e=>`Restored “${e}”.`},qT=``;function JT({view:e,counts:t,onView:n}){return(0,V.jsx)(`div`,{className:`flex items-center gap-[18px] text-[13px]`,role:`tablist`,children:WT.map(r=>r.id===`recent`||t[r.id]||e===r.id?(0,V.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":e===r.id,onClick:()=>n(r.id),className:uT(`group flex items-center gap-1.5`,e===r.id?`font-medium text-foreground`:`text-muted-foreground hover:text-foreground`),children:[(0,V.jsx)(W,{name:r.icon,size:14,className:e===r.id?`text-foreground`:`text-faint group-hover:text-muted-foreground`}),r.label,(0,V.jsx)(`span`,{className:`font-normal text-[11px] text-faint tabular-nums`,children:t[r.id]})]},r.id):null)})}function YT(e){return(0,z.useMemo)(()=>{let t=new Map;for(let{file:n}of e){let e=hT(n),r=e?.id??qT,i=t.get(r);i?i.count++:t.set(r,{id:r,name:e?.name??`Not in a project`,count:1})}let n=new Map;for(let e of t.values())n.set(e.name,(n.get(e.name)??0)+1);for(let e of t.values())e.id!==qT&&(n.get(e.name)??0)>1&&(e.name=e.id.split(`/`).slice(-2).join(`/`));return[...t.values()].sort((e,t)=>Number(e.id===qT)-Number(t.id===qT)||t.count-e.count||e.name.localeCompare(t.name))},[e])}function XT({projects:e,total:t,scope:n,onScope:r}){let i=e.find(e=>e.id===n);return(0,V.jsxs)(DT,{children:[(0,V.jsx)(OT,{asChild:!0,children:(0,V.jsxs)(`button`,{type:`button`,"aria-label":`Project: ${i?i.name:`All projects`}`,className:uT(`flex h-7 items-center gap-1.5 whitespace-nowrap rounded-[7px] pr-2 pl-2.5 text-[13px] outline-none hover:bg-accent focus-visible:shadow-[0_0_0_2px_var(--ring)] data-[state=open]:bg-accent`,i?`font-medium text-foreground`:`text-muted-foreground hover:text-foreground data-[state=open]:text-foreground`),children:[(0,V.jsx)(W,{name:i?i.id===qT?`loose`:`folder`:`folders`,size:14,strokeWidth:1.6,className:i?`text-foreground`:void 0}),i?i.name:`All projects`,(0,V.jsx)(`span`,{className:`font-normal text-[11px] text-faint tabular-nums`,children:i?i.count:t}),(0,V.jsx)(W,{name:`chevronDown`,size:13,strokeWidth:2,className:`text-faint`})]})}),(0,V.jsxs)(kT,{align:`end`,className:`min-w-56`,children:[(0,V.jsx)(ZT,{on:n===null,onSelect:()=>r(null),count:t,icon:`folders`,children:`All projects`}),(0,V.jsx)(jT,{}),e.map(e=>(0,V.jsx)(ZT,{on:n===e.id,onSelect:()=>r(e.id),count:e.count,icon:e.id===qT?`loose`:`folder`,title:e.id||void 0,children:e.name},e.id))]})]})}function ZT({on:e,onSelect:t,count:n,icon:r,title:i,children:a}){return(0,V.jsxs)(AT,{onSelect:t,title:i,"aria-checked":e,role:`menuitemcheckbox`,children:[(0,V.jsx)(`span`,{className:`grid w-3.5 place-items-center`,children:e&&(0,V.jsx)(W,{name:`check`,size:14,strokeWidth:2})}),(0,V.jsx)(`span`,{className:`grid w-3.5 place-items-center text-muted-foreground`,children:r&&(0,V.jsx)(W,{name:r,size:14,strokeWidth:1.6})}),(0,V.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:a}),(0,V.jsx)(`span`,{className:`text-[11px] text-faint tabular-nums`,children:n})]})}var QT=`ponzu.setUp`,$T=3e4;function eE(e,t){let[n,r]=(0,z.useState)(()=>{try{return localStorage.getItem(QT)===`1`}catch{return!1}}),[i,a]=(0,z.useState)(null),[,o]=(0,z.useState)(0),s=e&&!t;return(0,z.useEffect)(()=>{if(s){r(!0);try{localStorage.setItem(QT,`1`)}catch{}}},[s]),(0,z.useEffect)(()=>{a(e=>t?e??Date.now():null)},[t]),(0,z.useEffect)(()=>{if(i===null)return;let e=setTimeout(()=>o(Date.now()),i+$T-Date.now());return()=>clearTimeout(e)},[i]),!n||!t?!1:i===null||Date.now()-i<$T}var tE=[`62%`,`48%`,`71%`,`55%`,`44%`,`66%`,`52%`,`60%`],nE=[`34%`,`26%`,`40%`,`30%`,`24%`,`36%`,`28%`,`32%`];function rE(){return aC(!0)?(0,V.jsxs)(`div`,{className:`pz-appear flex flex-col gap-7`,role:`status`,"aria-label":`Loading designs`,children:[(0,V.jsx)(`div`,{className:`-mb-3.5 flex h-7 items-center text-[13px]`,children:(0,V.jsxs)(`span`,{className:`flex items-center gap-1.5 font-medium text-foreground`,children:[(0,V.jsx)(W,{name:`clock`,size:14,className:`text-foreground`}),`Recent`]})}),(0,V.jsx)(dE,{children:tE.map((e,t)=>(0,V.jsxs)(`div`,{className:`flex flex-col gap-2.5 motion-safe:animate-pulse`,style:{animationDelay:`${t*90}ms`},children:[(0,V.jsx)(`div`,{className:`aspect-[16/11] rounded-xl bg-preview shadow-[0_0_0_1px_var(--hairline)]`}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-0.5 px-0.5`,children:[(0,V.jsxs)(`span`,{className:`flex h-5 items-center gap-2`,children:[(0,V.jsx)(`span`,{className:`flex-1`,children:(0,V.jsx)(`span`,{className:`block h-[11px] rounded-full bg-secondary`,style:{width:e}})}),(0,V.jsx)(`span`,{className:`h-[9px] w-5 rounded-full bg-secondary`})]}),(0,V.jsxs)(`span`,{className:`flex h-4 items-center gap-[5px]`,children:[(0,V.jsx)(`span`,{className:`size-[11px] shrink-0 rounded-[3px] bg-secondary`}),(0,V.jsx)(`span`,{className:`h-[9px] rounded-full bg-secondary`,style:{width:nE[t]}}),(0,V.jsx)(`span`,{className:`size-[11px] shrink-0 rounded-[3px] bg-secondary`}),(0,V.jsx)(`span`,{className:`h-[9px] w-[22%] rounded-full bg-secondary`})]})]})]},t))})]}):null}function iE({text:e,onUndo:t,onClose:n}){return(0,V.jsxs)(`div`,{role:`status`,className:`fixed bottom-6 left-1/2 z-50 flex h-10 -translate-x-1/2 items-center gap-3.5 rounded-xl bg-foreground pr-2 pl-3.5 text-[13px] text-home shadow-[0_1px_2px_rgba(0,0,0,0.06),0_8px_28px_rgba(0,0,0,0.1)]`,children:[(0,V.jsx)(`span`,{children:e}),t?(0,V.jsx)(`button`,{type:`button`,onClick:t,className:`flex h-7 items-center rounded-lg bg-home/15 px-2.5 font-medium hover:bg-home/25`,children:`Undo`}):(0,V.jsx)(`button`,{type:`button`,"aria-label":`Dismiss`,onClick:n,className:`px-1.5 opacity-70`,children:(0,V.jsx)(W,{name:`close`,size:13})})]})}function aE({label:e,keys:t,icon:n,onClick:r}){return(0,V.jsx)(Xb,{label:e,keys:t,children:(0,V.jsx)(`button`,{type:`button`,"aria-label":e,onClick:r,className:`grid size-10 place-items-center rounded-[10px] text-muted-foreground hover:bg-accent hover:text-foreground`,children:(0,V.jsx)(W,{name:n,size:20,strokeWidth:1.5})})})}var oE=`Design a landing page for my app in Ponzu.`;function sE({catalog:e,files:t,onOpen:n,live:r}){let[i,a]=(0,z.useState)(!1),o=e?.agents.filter(e=>e.found)??[],s=o.some(e=>e.connected),c=t.find(e=>e.busy&&e.machine===`local`),l=!!c;return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`div`,{className:`mt-3 flex max-w-[640px] flex-col gap-4`,children:[(0,V.jsx)(`h1`,{className:`m-0 font-semibold text-[22px] leading-7 tracking-[-0.02em]`,children:`Get started`}),(0,V.jsxs)(`div`,{className:`flex flex-col rounded-[14px] bg-card shadow-[0_0_0_1px_var(--hairline),0_1px_2px_rgba(0,0,0,0.03)]`,children:[(0,V.jsx)(cE,{n:1,done:s,active:!s,title:o.length?s?`Your agents are connected`:window.ponzuDesktop?`Connecting your agents…`:`Connect your agents`:`Install a coding agent`,children:o.length?(0,V.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[o.map(e=>(0,V.jsxs)(`span`,{className:`flex h-[30px] items-center gap-2 rounded-lg bg-secondary pr-2.5 pl-[9px] text-[12.5px]`,children:[(0,V.jsx)(lc,{client:e.id===`codex`?`openai`:e.id,size:14}),e.label,e.connected?(0,V.jsx)(W,{name:`check`,size:13,strokeWidth:2,className:`text-online`}):window.ponzuDesktop?(0,V.jsx)(`span`,{className:`size-3 animate-spin rounded-full border-[1.5px] border-current border-r-transparent text-faint`}):(0,V.jsx)(`span`,{className:`text-faint`,children:`not set up`})]},e.id)),!s&&!window.ponzuDesktop&&(0,V.jsxs)(`span`,{className:`text-[12.5px] text-muted-foreground`,children:[`Run `,(0,V.jsx)(`code`,{className:`font-mono text-xs`,children:`ponzu install`})]})]}):(0,V.jsx)(`p`,{className:`m-0 text-[12.5px] text-muted-foreground`,children:`Ponzu works with Claude Code, Codex and Cursor. Install one and it connects on its own.`})}),(0,V.jsx)(`i`,{className:`mx-5 block h-px bg-hairline`}),(0,V.jsx)(cE,{n:2,done:l,active:s&&!l,title:`Ask one for a design`,children:l?(0,V.jsxs)(`p`,{className:`m-0 text-[12.5px] text-muted-foreground`,children:[lE(c?.busy,e?.agent?.name),` is designing`,` `,(0,V.jsx)(`b`,{className:`font-medium text-foreground`,children:c?.name}),`.`]}):(0,V.jsxs)(`div`,{className:`flex h-11 items-center gap-3 rounded-[10px] bg-secondary pr-3 pl-3.5 shadow-[inset_0_0_0_1px_var(--hairline)]`,children:[(0,V.jsx)(`span`,{className:`flex-1 font-mono text-[12.5px]`,children:oE}),(0,V.jsxs)(`button`,{type:`button`,onClick:()=>{navigator.clipboard.writeText(oE),a(!0),setTimeout(()=>a(!1),1400)},className:uT(`flex items-center gap-1.5 text-[12.5px]`,i?`text-online`:`text-muted-foreground hover:text-foreground`),children:[(0,V.jsx)(W,{name:i?`check`:`copy`,size:15}),i?`Copied`:`Copy`]})]})})]})]}),(0,V.jsx)(uE,{left:`Recent`}),t.length?(0,V.jsx)(dE,{children:S(t).map(e=>(0,V.jsx)(fE,{card:e,onOpen:n,live:r.has(e.file.id)},e.file.id))}):(0,V.jsx)(dE,{children:[0,1,2,3].map(e=>(0,V.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[(0,V.jsx)(`div`,{className:`ghost aspect-[16/11] rounded-xl`}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-1.5 px-0.5`,children:[(0,V.jsx)(`i`,{className:`block h-[9px] w-[46%] rounded bg-secondary`}),(0,V.jsx)(`i`,{className:`block h-2 w-[30%] rounded bg-secondary/70`})]})]},e))})]})}function cE({n:e,done:t,active:n,title:r,children:i}){return(0,V.jsxs)(`div`,{className:`flex gap-3.5 px-5 py-[18px]`,children:[t?(0,V.jsx)(`span`,{className:`grid size-[22px] shrink-0 place-items-center rounded-full bg-foreground text-background`,children:(0,V.jsx)(W,{name:`check`,size:13,strokeWidth:2.2})}):(0,V.jsx)(`span`,{className:uT(`grid size-[22px] shrink-0 place-items-center rounded-full font-semibold text-xs`,n?`bg-flesh text-[#0e0e0e]`:`text-faint shadow-[inset_0_0_0_1.5px_var(--hairline-strong)]`),children:e}),(0,V.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-2.5 pt-0.5`,children:[(0,V.jsx)(`span`,{className:uT(`font-medium text-[14px]`,!t&&!n&&`text-muted-foreground`),children:r}),i]})]})}function lE(e,t){return e===`claude`?`Claude`:e===`openai`?`Codex`:e===`cursor`?`Cursor`:t??`Your agent`}function uE({left:e}){return(0,V.jsx)(`div`,{className:`-mb-3.5 text-muted-foreground text-xs`,children:e})}function dE({children:e,columns:t=4}){return(0,V.jsx)(`div`,{className:uT(`grid gap-x-5 gap-y-7`,t===4?`grid-cols-4 max-[1100px]:grid-cols-3 max-[820px]:grid-cols-2`:`grid-cols-3 max-[820px]:grid-cols-2`),children:e})}function fE({card:e,onOpen:t,onShelve:n,match:r,pathMatch:i,live:a,short:o}){let{file:s,copies:c}=e,l=!!s.busy,u=y(s)===`archived`,d=()=>t({key:s.key,base:s.base}),f=(0,V.jsxs)(`div`,{role:`button`,tabIndex:0,className:`group relative flex min-w-0 cursor-default flex-col gap-2.5 text-left outline-none`,onClick:d,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),d())},title:s.locked?`Open it to let Ponzu read this folder.`:void 0,children:[(0,V.jsx)(`div`,{className:`relative aspect-[16/11] overflow-hidden rounded-xl bg-preview shadow-[0_0_0_1px_var(--hairline)] transition-shadow group-hover:shadow-[0_0_0_1px_var(--hairline-strong),0_4px_14px_rgba(0,0,0,0.06)] group-focus-visible:shadow-[0_0_0_2px_var(--ring)]`,children:(0,V.jsxs)(`div`,{className:uT(`absolute inset-0`,u&&`opacity-55 grayscale`),children:[(0,V.jsx)(vE,{src:s.preview,working:l}),a&&(0,V.jsx)(SE,{file:s})]})}),(0,V.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5 px-0.5`,children:[(0,V.jsxs)(`span`,{className:`flex min-w-0 items-baseline gap-2`,children:[(0,V.jsx)(`span`,{className:uT(`min-w-0 flex-1 truncate font-medium text-[13.5px]`,l&&`pz-shimmer`,u&&`text-muted-foreground`),children:(0,V.jsx)(OE,{text:s.name,ranges:r})}),(0,V.jsx)(`span`,{className:`shrink-0 text-faint text-xs tabular-nums`,title:u&&s.archived?`Archived ${new Date(s.archived).toLocaleString()}`:void 0,children:s.busy?(0,V.jsx)(rC,{columns:BT,className:`self-center text-[17px]`,label:`${lE(s.busy)} is working`,title:`${lE(s.busy)} is working`}):ST(s.modified)})]}),u&&!i?(0,V.jsx)(pE,{file:s}):i?(0,V.jsx)(`span`,{className:`truncate font-mono text-[11px] text-muted-foreground`,dir:`rtl`,children:(0,V.jsx)(`bdi`,{children:(0,V.jsx)(OE,{text:s.key,ranges:i})})}):(0,V.jsxs)(`span`,{className:`flex min-w-0 items-center gap-[5px] text-muted-foreground text-xs`,children:[c.length?(0,V.jsx)(hE,{card:e}):(0,V.jsx)(_T,{file:s,project:!o,className:`min-w-0 shrink`}),o&&s.git&&!c.length&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`text-faint`,children:`·`}),(0,V.jsx)(`span`,{className:`min-w-0 shrink-[2] truncate`,children:pT(s).split(`/`).pop()})]})]})]})]});return n?(0,V.jsxs)(MT,{children:[(0,V.jsx)(NT,{asChild:!0,children:f}),(0,V.jsx)(PT,{onClick:e=>e.stopPropagation(),children:(0,V.jsx)(_E,{card:e,onOpen:t,onShelve:n})})]}):f}function pE({file:e}){let[t,n]=e.archivedFor===`idle`?[`clock`,`Not opened since ${mE(e.active??e.modified)}`]:e.archivedFor===`scratch`||e.shelf===`scratch`?[`bot`,`Made by an agent`]:e.archivedFor===`temp`?[`bot`,`In a temporary folder`]:[`shelved`,`You archived it`];return(0,V.jsxs)(`span`,{className:`flex min-w-0 items-center gap-[5px] text-muted-foreground text-xs`,title:e.archived?`Archived ${new Date(e.archived).toLocaleString()}`:void 0,children:[(0,V.jsx)(W,{name:t,size:13,strokeWidth:1.7,className:`shrink-0 text-faint`}),(0,V.jsx)(`span`,{className:`truncate`,children:n})]})}function mE(e){let t=new Date(e);return t.toLocaleDateString(void 0,{month:`short`,day:`numeric`,...t.getFullYear()===new Date().getFullYear()?{}:{year:`numeric`}})}function hE({card:e}){let t=gE(e),n=[e.file,...e.copies].every(e=>e.git?.branch);return(0,V.jsxs)(`span`,{className:`flex min-w-0 items-center gap-[5px] text-muted-foreground text-xs`,title:`The same design, unchanged, on ${t.map(e=>e.label).join(`, `)}`,children:[(0,V.jsx)(W,{name:`branch`,size:13,strokeWidth:1.7,className:`shrink-0 text-faint`}),(0,V.jsxs)(`span`,{className:`truncate`,children:[t.length,` `,n?`branches`:`checkouts`]})]})}function gE(e){return[e.file,...e.copies].map(e=>({file:e,label:mT(e)??fT(pT(e))})).sort((e,t)=>e.label.localeCompare(t.label))}function _E({card:e,onOpen:t,onShelve:n}){let{file:r,copies:i}=e,a=window.ponzuDesktop,o=r.machine===`local`;return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(FT,{onSelect:()=>t({key:r.key,base:r.base}),children:[(0,V.jsx)(W,{name:`folderOpen`,size:15}),`Open`]}),i.length>0&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(IT,{}),(0,V.jsx)(`div`,{className:`px-2.5 pt-1 pb-0.5 text-[11.5px] text-faint`,children:`Open on`}),(0,V.jsx)(`div`,{className:`max-h-[225px] overflow-y-auto`,children:gE(e).map(({file:e,label:n})=>(0,V.jsxs)(FT,{title:fT(e.key),onSelect:()=>t({key:e.key,base:e.base}),children:[(0,V.jsx)(W,{name:`branch`,size:15}),(0,V.jsx)(`span`,{className:`min-w-0 max-w-[240px] truncate`,children:n})]},e.id))}),(0,V.jsx)(IT,{})]}),a&&o&&(0,V.jsxs)(FT,{onSelect:()=>a.reveal(r.key),children:[(0,V.jsx)(W,{name:`folder`,size:15}),`Show in Finder`]}),(0,V.jsxs)(FT,{onSelect:()=>void navigator.clipboard.writeText(r.key),children:[(0,V.jsx)(W,{name:`copy`,size:15}),`Copy path`]}),(0,V.jsx)(IT,{}),y(r)===`archived`?(0,V.jsxs)(FT,{onSelect:()=>void n(e,`restore`),children:[(0,V.jsx)(W,{name:`unarchive`,size:15}),`Restore`]}):(0,V.jsxs)(FT,{onSelect:()=>void n(e,`archive`),children:[(0,V.jsx)(W,{name:`shelved`,size:15}),`Archive`]})]})}function vE({src:e,working:t}){let[n,r]=(0,z.useState)(!1);return(0,z.useEffect)(()=>r(!1),[e]),!e||n?(0,V.jsx)(`span`,{className:`absolute inset-0 grid place-items-center text-faint`,children:t?(0,V.jsx)(rC,{columns:zT,className:`text-[30px]`}):(0,V.jsx)(W,{name:`blank`,size:28,strokeWidth:1.3})}):(0,V.jsxs)(`picture`,{children:[(0,V.jsx)(`source`,{srcSet:`${e}&theme=dark`,media:`(prefers-color-scheme: dark)`}),(0,V.jsx)(`img`,{src:e,alt:``,loading:`lazy`,draggable:!1,onError:()=>r(!0),className:`absolute inset-0 size-full object-contain`})]})}function yE(e){let t=(0,z.useRef)(new Set),n=(0,z.useRef)(new Map),[,r]=(0,z.useState)(0),i=Date.now();for(let r of e)r.busy?(t.current.add(r.id),n.current.delete(r.id)):t.current.delete(r.id)&&n.current.set(r.id,i+HT);let a=new Set;for(let t of e){if(a.size===VT)break;(t.busy||(n.current.get(t.id)??0)>i)&&a.add(t.id)}let o=Math.min(...[...a].map(e=>n.current.get(e)??0).filter(e=>e>i));return(0,z.useEffect)(()=>{if(!Number.isFinite(o))return;let e=setTimeout(()=>r(e=>e+1),o-Date.now()+50);return()=>clearTimeout(e)},[o]),a}var bE=window.matchMedia(`(prefers-color-scheme: dark)`);function xE(){let[e,t]=(0,z.useState)(bE.matches);return(0,z.useEffect)(()=>{let e=()=>t(bE.matches);return bE.addEventListener(`change`,e),()=>bE.removeEventListener(`change`,e)},[]),e?`dark`:`light`}function SE({file:e}){let t=xE(),[n,r]=(0,z.useState)(null);return(0,z.useEffect)(()=>{let t=new wx(`${window.location.origin}${e.base}`,e.key,{watch:!0});return r(t),()=>t.close()},[e.base,e.key]),n?(0,V.jsx)(CE,{source:n,scheme:t}):null}function CE({source:e,scheme:t}){let{doc:n}=HS(e),r=(0,z.useMemo)(()=>n&&Le(n,t),[n,t]),i=(0,z.useRef)(null),[a,o]=(0,z.useState)(null),s=r?Number.parseFloat(r.root.style.width):0,c=r?Number.parseFloat(r.root.style.height):0;return(0,z.useEffect)(()=>{let e=i.current;if(!e||!s||!c)return;let t=()=>o(Math.min(e.clientWidth/s,e.clientHeight/c));t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[s,c]),(0,V.jsx)(`div`,{ref:i,inert:!0,"aria-hidden":!0,className:uT(`pointer-events-none absolute inset-0 grid place-items-center overflow-hidden transition-opacity duration-300`,r&&a?`opacity-100`:`opacity-0`),children:r&&(0,V.jsx)(`div`,{style:{width:s*(a??0),height:c*(a??0)},children:(0,V.jsx)(`div`,{style:{width:s,height:c,transform:`scale(${a??0})`,transformOrigin:`0 0`},children:(0,V.jsx)(kr,{artboard:r,tokens:n.tokens,assetBase:e.assetBase,colorScheme:t})})})})}var wE={includeMatches:!0,ignoreLocation:!0,threshold:.32,minMatchCharLength:2};function TE({query:e,cards:t,onOpen:n,onShelve:r,live:i}){let a=(0,z.useMemo)(()=>new lT(t,{...wE,keys:[{name:`file.name`,weight:3},{name:`file.key`,weight:.5}]}),[t]),o=(0,z.useMemo)(()=>t.flatMap(({file:e})=>e.artboards.map(t=>({file:e,artboard:t,page:e.pages.find(e=>e.id===t.page)?.name}))),[t]),s=(0,z.useMemo)(()=>new lT(o,{...wE,keys:[{name:`artboard.name`,weight:3},{name:`page`,weight:1}]}),[o]),c=a.search(e,{limit:24}),l=s.search(e,{limit:30});return!c.length&&!l.length?(0,V.jsxs)(`p`,{className:`mt-6 text-center text-muted-foreground`,children:[`Nothing matches “`,e,`”.`]}):(0,V.jsxs)(V.Fragment,{children:[c.length>0&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(uE,{left:`Files`}),(0,V.jsx)(dE,{children:c.map(({item:e,matches:t})=>(0,V.jsx)(fE,{card:e,onOpen:n,onShelve:r,live:i.has(e.file.id),match:DE(t,`file.name`),pathMatch:DE(t,`file.name`)?void 0:DE(t,`file.key`)},e.file.id))})]}),l.length>0&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(uE,{left:`Frames`}),(0,V.jsx)(dE,{columns:3,children:l.map(({item:e,matches:t})=>(0,V.jsx)(EE,{hit:e,match:DE(t,`artboard.name`),pageMatch:DE(t,`page`),onOpen:n},`${e.file.id}:${e.artboard.id}`))})]})]})}function EE({hit:e,match:t,pageMatch:n,onOpen:r}){let[i,a]=(0,z.useState)(!1);return(0,V.jsxs)(`button`,{type:`button`,className:`group flex min-w-0 flex-col gap-2.5 text-left`,onClick:()=>r({key:e.file.key,base:e.file.base}),children:[(0,V.jsx)(`div`,{className:`grid h-[200px] place-items-center overflow-hidden rounded-xl bg-preview p-5 shadow-[0_0_0_1px_var(--hairline)] transition-shadow group-hover:shadow-[0_0_0_1px_var(--hairline-strong),0_4px_14px_rgba(0,0,0,0.06)]`,children:i?(0,V.jsx)(W,{name:`board`,size:28,strokeWidth:1.3,className:`text-faint`}):(0,V.jsx)(`img`,{src:e.artboard.thumb,alt:``,loading:`lazy`,draggable:!1,onError:()=>a(!0),className:`block max-h-[160px] max-w-full object-contain shadow-[0_0_0_1px_rgba(0,0,0,0.06),0_2px_6px_rgba(0,0,0,0.06)] dark:shadow-[0_0_0_1px_rgba(255,255,255,0.08)]`})}),(0,V.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5 px-0.5`,children:[(0,V.jsx)(`span`,{className:`truncate font-medium text-[13.5px]`,children:(0,V.jsx)(OE,{text:e.artboard.name,ranges:t})}),(0,V.jsx)(`span`,{className:`flex min-w-0 items-center gap-[5px] text-muted-foreground text-xs`,children:(0,V.jsxs)(`span`,{className:`truncate`,children:[e.page?(0,V.jsx)(OE,{text:e.page,ranges:n}):`Artboard`,` in`,` `,e.file.name]})})]})]})}function DE(e,t){return e?.find(e=>e.key===t)?.indices}function OE({text:e,ranges:t}){let n=(t??[]).filter(([e,t])=>t>e).sort((e,t)=>e[0]-t[0]);if(!n.length)return(0,V.jsx)(V.Fragment,{children:e});let r=[],i=0;for(let[t,a]of n)t<i||(r.push(e.slice(i,t)),r.push((0,V.jsx)(`mark`,{className:`rounded-[2px] bg-highlight text-inherit`,children:e.slice(t,a+1)},t)),i=a+1);return r.push(e.slice(i)),(0,V.jsx)(V.Fragment,{children:r})}function kE({...e}){return(0,V.jsx)(mf,{"data-slot":`dialog`,...e})}function AE({...e}){return(0,V.jsx)(vf,{"data-slot":`dialog-portal`,...e})}function jE({className:e,...t}){return(0,V.jsx)(bf,{"data-slot":`dialog-overlay`,className:uT(`fixed inset-0 z-50 bg-black/40 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0`,e),...t})}function ME({className:e,children:t,showCloseButton:n=!0,...r}){return(0,V.jsxs)(AE,{"data-slot":`dialog-portal`,children:[(0,V.jsx)(jE,{}),(0,V.jsxs)(wf,{"data-slot":`dialog-content`,className:uT(`fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-xl bg-popover p-6 text-popover-foreground shadow-[0_1px_2px_rgba(0,0,0,0.06),0_8px_28px_rgba(0,0,0,0.1)] outline-none duration-200 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-md`,e),...r,children:[t,n&&(0,V.jsxs)(jf,{"data-slot":`dialog-close`,className:`absolute top-4 right-4 grid size-7 place-items-center rounded-lg text-muted-foreground outline-none transition-colors hover:bg-accent hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50`,children:[(0,V.jsx)(W,{name:`close`,size:15}),(0,V.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]})}function NE({className:e,...t}){return(0,V.jsx)(Of,{"data-slot":`dialog-title`,className:uT(`font-semibold text-[17px] leading-none tracking-[-0.01em]`,e),...t})}function PE({className:e,...t}){return(0,V.jsx)(kf,{"data-slot":`dialog-description`,className:uT(`text-muted-foreground`,e),...t})}var FE=(e=>(e[e.Border=-1]=`Border`,e[e.Data=0]=`Data`,e[e.Function=1]=`Function`,e[e.Position=2]=`Position`,e[e.Timing=3]=`Timing`,e[e.Alignment=4]=`Alignment`,e))(FE||{}),IE=[0,1],LE=[1,0],RE=[2,3],zE=[3,2],BE={L:IE,M:LE,Q:RE,H:zE},VE=/^\d*$/,HE=/^[A-Z0-9 $%*+./:-]*$/,UE=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`,WE=1,GE=40,KE=3,qE=3,JE=40,YE=10,XE=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],ZE=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],QE=class{constructor(e,t,n,r){if(this.version=e,this.ecc=t,e<WE||e>GE)throw RangeError(`Version value out of range`);if(r<-1||r>7)throw RangeError(`Mask value out of range`);this.size=e*4+17;let i=Array.from({length:this.size}).fill(!1);for(let e=0;e<this.size;e++)this.modules.push(i.slice()),this.types.push(i.map(()=>0));this.drawFunctionPatterns();let a=this.addEccAndInterleave(n);if(this.drawCodewords(a),r===-1){let e=1e9;for(let t=0;t<8;t++){this.applyMask(t),this.drawFormatBits(t);let n=this.getPenaltyScore();n<e&&(r=t,e=n),this.applyMask(t)}}this.mask=r,this.applyMask(r),this.drawFormatBits(r)}size;mask;modules=[];types=[];getModule(e,t){return e>=0&&e<this.size&&t>=0&&t<this.size&&this.modules[t][e]}drawFunctionPatterns(){for(let e=0;e<this.size;e++)this.setFunctionModule(6,e,e%2==0,FE.Timing),this.setFunctionModule(e,6,e%2==0,FE.Timing);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);let e=this.getAlignmentPatternPositions(),t=e.length;for(let n=0;n<t;n++)for(let r=0;r<t;r++)n===0&&r===0||n===0&&r===t-1||n===t-1&&r===0||this.drawAlignmentPattern(e[n],e[r]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(e){let t=this.ecc[1]<<3|e,n=t;for(let e=0;e<10;e++)n=n<<1^(n>>>9)*1335;let r=(t<<10|n)^21522;for(let e=0;e<=5;e++)this.setFunctionModule(8,e,eD(r,e));this.setFunctionModule(8,7,eD(r,6)),this.setFunctionModule(8,8,eD(r,7)),this.setFunctionModule(7,8,eD(r,8));for(let e=9;e<15;e++)this.setFunctionModule(14-e,8,eD(r,e));for(let e=0;e<8;e++)this.setFunctionModule(this.size-1-e,8,eD(r,e));for(let e=8;e<15;e++)this.setFunctionModule(8,this.size-15+e,eD(r,e));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let e=this.version;for(let t=0;t<12;t++)e=e<<1^(e>>>11)*7973;let t=this.version<<12|e;for(let e=0;e<18;e++){let n=eD(t,e),r=this.size-11+e%3,i=Math.floor(e/3);this.setFunctionModule(r,i,n),this.setFunctionModule(i,r,n)}}drawFinderPattern(e,t){for(let n=-4;n<=4;n++)for(let r=-4;r<=4;r++){let i=Math.max(Math.abs(r),Math.abs(n)),a=e+r,o=t+n;a>=0&&a<this.size&&o>=0&&o<this.size&&this.setFunctionModule(a,o,i!==2&&i!==4,FE.Position)}}drawAlignmentPattern(e,t){for(let n=-2;n<=2;n++)for(let r=-2;r<=2;r++)this.setFunctionModule(e+r,t+n,Math.max(Math.abs(r),Math.abs(n))!==1,FE.Alignment)}setFunctionModule(e,t,n,r=FE.Function){this.modules[t][e]=n,this.types[t][e]=r}addEccAndInterleave(e){let t=this.version,n=this.ecc;if(e.length!==hD(t,n))throw RangeError(`Invalid argument`);let r=ZE[n[0]][t],i=XE[n[0]][t],a=Math.floor(mD(t)/8),o=r-a%r,s=Math.floor(a/r),c=[],l=gD(i);for(let t=0,n=0;t<r;t++){let r=e.slice(n,n+s-i+(t<o?0:1));n+=r.length;let a=_D(r,l);t<o&&r.push(0),c.push(r.concat(a))}let u=[];for(let e=0;e<c[0].length;e++)c.forEach((t,n)=>{(e!==s-i||n>=o)&&u.push(t[e])});return u}drawCodewords(e){if(e.length!==Math.floor(mD(this.version)/8))throw RangeError(`Invalid argument`);let t=0;for(let n=this.size-1;n>=1;n-=2){n===6&&(n=5);for(let r=0;r<this.size;r++)for(let i=0;i<2;i++){let a=n-i,o=n+1&2?r:this.size-1-r;!this.types[o][a]&&t<e.length*8&&(this.modules[o][a]=eD(e[t>>>3],7-(t&7)),t++)}}}applyMask(e){if(e<0||e>7)throw RangeError(`Mask value out of range`);for(let t=0;t<this.size;t++)for(let n=0;n<this.size;n++){let r;switch(e){case 0:r=(n+t)%2==0;break;case 1:r=t%2==0;break;case 2:r=n%3==0;break;case 3:r=(n+t)%3==0;break;case 4:r=(Math.floor(n/3)+Math.floor(t/2))%2==0;break;case 5:r=n*t%2+n*t%3==0;break;case 6:r=(n*t%2+n*t%3)%2==0;break;case 7:r=((n+t)%2+n*t%3)%2==0;break;default:throw Error(`Unreachable`)}!this.types[t][n]&&r&&(this.modules[t][n]=!this.modules[t][n])}}getPenaltyScore(){let e=0;for(let t=0;t<this.size;t++){let n=!1,r=0,i=[0,0,0,0,0,0,0];for(let a=0;a<this.size;a++)this.modules[t][a]===n?(r++,r===5?e+=KE:r>5&&e++):(this.finderPenaltyAddHistory(r,i),n||(e+=this.finderPenaltyCountPatterns(i)*JE),n=this.modules[t][a],r=1);e+=this.finderPenaltyTerminateAndCount(n,r,i)*JE}for(let t=0;t<this.size;t++){let n=!1,r=0,i=[0,0,0,0,0,0,0];for(let a=0;a<this.size;a++)this.modules[a][t]===n?(r++,r===5?e+=KE:r>5&&e++):(this.finderPenaltyAddHistory(r,i),n||(e+=this.finderPenaltyCountPatterns(i)*JE),n=this.modules[a][t],r=1);e+=this.finderPenaltyTerminateAndCount(n,r,i)*JE}for(let t=0;t<this.size-1;t++)for(let n=0;n<this.size-1;n++){let r=this.modules[t][n];r===this.modules[t][n+1]&&r===this.modules[t+1][n]&&r===this.modules[t+1][n+1]&&(e+=qE)}let t=0;for(let e of this.modules)t=e.reduce((e,t)=>e+ +!!t,t);let n=this.size*this.size,r=Math.ceil(Math.abs(t*20-n*10)/n)-1;return e+=r*YE,e}getAlignmentPatternPositions(){if(this.version===1)return[];{let e=Math.floor(this.version/7)+2,t=this.version===32?26:Math.ceil((this.version*4+4)/(e*2-2))*2,n=[6];for(let r=this.size-7;n.length<e;r-=t)n.splice(1,0,r);return n}}finderPenaltyCountPatterns(e){let t=e[1],n=t>0&&e[2]===t&&e[3]===t*3&&e[4]===t&&e[5]===t;return(n&&e[0]>=t*4&&e[6]>=t?1:0)+(n&&e[6]>=t*4&&e[0]>=t?1:0)}finderPenaltyTerminateAndCount(e,t,n){return e&&(this.finderPenaltyAddHistory(t,n),t=0),t+=this.size,this.finderPenaltyAddHistory(t,n),this.finderPenaltyCountPatterns(n)}finderPenaltyAddHistory(e,t){t[0]===0&&(e+=this.size),t.pop(),t.unshift(e)}};function $E(e,t,n){if(t<0||t>31||e>>>t)throw RangeError(`Value out of range`);for(let r=t-1;r>=0;r--)n.push(e>>>r&1)}function eD(e,t){return!!(e>>>t&1)}var tD=class{constructor(e,t,n){if(this.mode=e,this.numChars=t,this.bitData=n,t<0)throw RangeError(`Invalid argument`);this.bitData=n.slice()}getData(){return this.bitData.slice()}},nD=[1,10,12,14],rD=[2,9,11,13],iD=[4,8,16,16];function aD(e,t){return e[Math.floor((t+7)/17)+1]}function oD(e){let t=[];for(let n of e)$E(n,8,t);return new tD(iD,e.length,t)}function sD(e){if(!uD(e))throw RangeError(`String contains non-numeric characters`);let t=[];for(let n=0;n<e.length;){let r=Math.min(e.length-n,3);$E(Number.parseInt(e.substring(n,n+r),10),r*3+1,t),n+=r}return new tD(nD,e.length,t)}function cD(e){if(!dD(e))throw RangeError(`String contains unencodable characters in alphanumeric mode`);let t=[],n=0;for(;n+2<=e.length;n+=2){let r=UE.indexOf(e.charAt(n))*45;r+=UE.indexOf(e.charAt(n+1)),$E(r,11,t)}return n<e.length&&$E(UE.indexOf(e.charAt(n)),6,t),new tD(rD,e.length,t)}function lD(e){return e===``?[]:uD(e)?[sD(e)]:dD(e)?[cD(e)]:[oD(pD(e))]}function uD(e){return VE.test(e)}function dD(e){return HE.test(e)}function fD(e,t){let n=0;for(let r of e){let e=aD(r.mode,t);if(r.numChars>=1<<e)return 1/0;n+=4+e+r.bitData.length}return n}function pD(e){e=encodeURI(e);let t=[];for(let n=0;n<e.length;n++)e.charAt(n)===`%`?(t.push(Number.parseInt(e.substring(n+1,n+3),16)),n+=2):t.push(e.charCodeAt(n));return t}function mD(e){if(e<WE||e>GE)throw RangeError(`Version number out of range`);let t=(16*e+128)*e+64;if(e>=2){let n=Math.floor(e/7)+2;t-=(25*n-10)*n-55,e>=7&&(t-=36)}return t}function hD(e,t){return Math.floor(mD(e)/8)-XE[t[0]][e]*ZE[t[0]][e]}function gD(e){if(e<1||e>255)throw RangeError(`Degree out of range`);let t=[];for(let n=0;n<e-1;n++)t.push(0);t.push(1);let n=1;for(let r=0;r<e;r++){for(let e=0;e<t.length;e++)t[e]=vD(t[e],n),e+1<t.length&&(t[e]^=t[e+1]);n=vD(n,2)}return t}function _D(e,t){let n=t.map(e=>0);for(let r of e){let e=r^n.shift();n.push(0),t.forEach((t,r)=>n[r]^=vD(t,e))}return n}function vD(e,t){if(e>>>8||t>>>8)throw RangeError(`Byte out of range`);let n=0;for(let r=7;r>=0;r--)n=n<<1^(n>>>7)*285,n^=(t>>>r&1)*e;return n}function yD(e,t,n=1,r=40,i=-1,a=!0){if(!(WE<=n&&n<=r&&r<=GE)||i<-1||i>7)throw RangeError(`Invalid value`);let o,s;for(o=n;;o++){let n=hD(o,t)*8,i=fD(e,o);if(i<=n){s=i;break}if(o>=r)throw RangeError(`Data too long`)}for(let e of[LE,RE,zE])a&&s<=hD(o,e)*8&&(t=e);let c=[];for(let t of e){$E(t.mode[0],4,c),$E(t.numChars,aD(t.mode,o),c);for(let e of t.getData())c.push(e)}let l=hD(o,t)*8;$E(0,Math.min(4,l-c.length),c),$E(0,(8-c.length%8)%8,c);for(let e=236;c.length<l;e^=253)$E(e,8,c);let u=Array.from({length:Math.ceil(c.length/8)},()=>0);return c.forEach((e,t)=>u[t>>>3]|=e<<7-(t&7)),new QE(o,t,u,i)}function bD(e,t){let{ecc:n=`L`,boostEcc:r=!1,minVersion:i=1,maxVersion:a=40,maskPattern:o=-1,border:s=1}=t||{},c=typeof e==`string`?lD(e):Array.isArray(e)?[oD(e)]:void 0;if(!c)throw Error(`uqr only supports encoding string and binary data, but got: ${typeof e}`);let l=yD(c,BE[n],i,a,o,r),u=xD({version:l.version,maskPattern:l.mask,size:l.size,data:l.modules,types:l.types},s);return t?.invert&&(u.data=u.data.map(e=>e.map(e=>!e))),t?.onEncoded?.(u),u}function xD(e,t=1){if(!t)return e;let{size:n}=e,r=n+t*2;e.size=r,e.data.forEach(e=>{for(let n=0;n<t;n++)e.unshift(!1),e.push(!1)});for(let n=0;n<t;n++)e.data.unshift(Array.from({length:r},e=>!1)),e.data.push(Array.from({length:r},e=>!1));let i=FE.Border;e.types.forEach(e=>{for(let n=0;n<t;n++)e.unshift(i),e.push(i)});for(let n=0;n<t;n++)e.types.unshift(Array.from({length:r},e=>i)),e.types.push(Array.from({length:r},e=>i));return e}var SD=e=>`ponzu://pair?host=${encodeURIComponent(e)}&v=1`;function CD(e){let{data:t,size:n}=bD(e,{ecc:`M`,border:0}),r=``;return t.forEach((e,t)=>{for(let i=0;i<n;){if(!e[i]){i++;continue}let n=1;for(;e[i+n];)n++;r+=`M${i} ${t}h${n}v1h-${n}z`,i+=n}}),{size:n,d:r}}function wD(){let[e,t]=(0,z.useState)(()=>new URLSearchParams(location.search).has(`pair`)),[n,r]=(0,z.useState)(null);(0,z.useEffect)(()=>window.ponzuDesktop?.onPairIphone?.(()=>t(!0)),[]);let i=e=>{if(t(e),e)return;let n=new URL(location.href);n.searchParams.has(`pair`)&&(n.searchParams.delete(`pair`),history.replaceState(null,``,n))};return(0,z.useEffect)(()=>{if(!e)return;let t=!1,n;r(null);let a=async()=>{try{let e=await(await fetch(`/api/info`)).json();if(t)return;r({name:e.machine?.name??null,dns:e.machine?.dns??null});let a=e.pairedAt??0;n===void 0?n=a:a>n&&i(!1)}catch{}};a();let o=setInterval(a,2e3);return()=>{t=!0,clearInterval(o)}},[e]),(0,V.jsx)(kE,{open:e,onOpenChange:i,children:(0,V.jsx)(ME,{className:`gap-[22px] rounded-[18px] p-8 shadow-[0_1px_2px_rgba(0,0,0,0.06),0_18px_50px_rgba(0,0,0,0.2),0_0_0_0.5px_rgba(0,0,0,0.12)] sm:max-w-[520px]`,children:(0,V.jsx)(TD,{machine:n})})})}function TD({machine:e}){let t=e?.dns;return(0,V.jsxs)(`div`,{className:`flex items-center gap-6`,children:[t?(0,V.jsx)(ED,{text:SD(t)}):(0,V.jsx)(`div`,{className:`ghost size-[176px] shrink-0 rounded-[14px]`,"aria-hidden":!0}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[(0,V.jsx)(NE,{className:`font-bold font-display text-2xl leading-[1.15] tracking-[-0.02em]`,children:`Pair your iPhone`}),(0,V.jsx)(PE,{className:`m-0 text-sm leading-normal`,children:t||!e?`Open Ponzu on your iPhone and scan this code. Both need Tailscale, signed in to the same account.`:e.name?`Turn on MagicDNS for your tailnet to pair an iPhone. The phone finds this Mac by its tailnet name.`:`Turn on Tailscale on this Mac to pair an iPhone.`})]})]})}function ED({text:e}){let{size:t,d:n}=CD(e);return(0,V.jsx)(`div`,{className:`size-[176px] shrink-0 rounded-[14px] bg-white p-3 shadow-[0_0_0_1px_rgba(17,17,16,0.1)]`,children:(0,V.jsx)(`svg`,{role:`img`,"aria-label":`Pairing code`,"data-pair":e,viewBox:`0 0 ${t} ${t}`,className:`block size-full`,shapeRendering:`crispEdges`,children:(0,V.jsx)(`path`,{d:n,fill:`#111110`})})})}var DD=mc(`inline-flex shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded-[9px] font-medium outline-none transition-all focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/90`,outline:`border bg-card hover:bg-accent`,ghost:`text-muted-foreground hover:bg-accent hover:text-foreground`},size:{default:`h-[34px] px-3.5`,sm:`h-7 rounded-lg px-2.5`,icon:`size-7 rounded-lg`}},defaultVariants:{variant:`default`,size:`default`}});function OD({className:e,variant:t=`default`,size:n=`default`,asChild:r=!1,type:i=`button`,...a}){let o=r?Cc:`button`;return(0,V.jsx)(o,{"data-slot":`button`,"data-variant":t,"data-size":n,type:r?void 0:i,className:uT(DD({variant:t,size:n,className:e})),...a})}function kD(e){return(0,V.jsx)(k_,{"data-slot":`hover-card`,...e})}function AD(e){return(0,V.jsx)(j_,{"data-slot":`hover-card-trigger`,...e})}function jD({className:e,align:t=`end`,sideOffset:n=6,...r}){return(0,V.jsx)(F_,{"data-slot":`hover-card-portal`,children:(0,V.jsx)(L_,{"data-slot":`hover-card-content`,align:t,sideOffset:n,className:uT(`z-50 w-[272px] rounded-xl bg-popover p-3.5 text-popover-foreground shadow-[0_1px_2px_rgba(0,0,0,0.06),0_8px_28px_rgba(0,0,0,0.1)] outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0`,e),...r})})}var MD=Y_,ND=Z_;function PD({className:e,align:t=`end`,sideOffset:n=6,...r}){return(0,V.jsx)(tv,{children:(0,V.jsx)(rv,{"data-slot":`popover-content`,align:t,sideOffset:n,className:uT(`z-50 rounded-xl bg-popover p-4 text-popover-foreground shadow-[0_0_0_0.5px_var(--hairline-strong),0_1px_2px_rgba(0,0,0,0.06),0_8px_28px_rgba(0,0,0,0.1)] outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0`,e),...r})})}function FD({machines:e,origin:t}){let n=Re(e??[]),[r,i]=(0,z.useState)(null),[a,o]=(0,z.useState)(!1),s=(0,z.useRef)(!1),c=!!n?.installing;(0,z.useEffect)(()=>{n&&r&&r!==n.version?i(null):r&&c?s.current=!0:r&&s.current&&!c&&i(null)},[n,r,c]);let l=ID(n,t);if(!n)return null;let u=n.installing||r===n.version,d=async()=>{s.current=!1,i(n.version);try{let e=await fetch(`${t}/api/update`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({macs:n.macs,version:n.version})}),r=e.ok?await e.json():null;Object.values(r?.macs??{}).some(Boolean)||i(null)}catch{}};return(0,V.jsxs)(MD,{open:a,onOpenChange:o,children:[(0,V.jsx)(ND,{asChild:!0,children:(0,V.jsx)(`button`,{type:`button`,"aria-label":u?`Updating to Ponzu ${n.version}`:`Ponzu ${n.version} is ready`,className:`app-no-drag grid size-7 shrink-0 place-items-center rounded-full bg-flesh text-[#0e0e0e] outline-none transition-[filter] hover:brightness-95 focus-visible:ring-[3px] focus-visible:ring-ring/50`,children:u?(0,V.jsx)(W,{name:`loading`,size:15,strokeWidth:2,className:`animate-spin`}):(0,V.jsx)(`svg`,{"aria-hidden":!0,width:15,height:15,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2.4,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,V.jsx)(`path`,{d:`M12 19V5M6 11l6-6 6 6`})})})}),(0,V.jsx)(PD,{className:`w-[320px]`,children:(0,V.jsx)(LD,{plan:l?{...n,notes:l}:n,machines:e??[],updating:u,onUpdate:d,onLater:()=>o(!1)})})]})}function ID(e,t){let n=e&&!e.notes.length?`since=${e.since}&version=${e.version}`:null,[r,i]=(0,z.useState)(null);return(0,z.useEffect)(()=>{if(!n)return;let e=!0;return fetch(`${t}/api/update/notes?${n}`).then(e=>e.ok?e.json():null).then(t=>{e&&t?.notes&&i({want:n,notes:t.notes})}).catch(()=>{}),()=>{e=!1}},[n,t]),n&&r?.want===n?r.notes:null}function LD({plan:e,machines:t=[],updating:n,onUpdate:r,onLater:i}){let a=t.find(e=>e.id===`local`)?.update?.waitsFor;return n?(0,V.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,V.jsxs)(`span`,{className:`font-semibold text-[14px] leading-5`,children:[`Updating to `,e.version]}),(0,V.jsx)(`span`,{className:`text-[12px] text-muted-foreground leading-[17px]`,children:a?`Ponzu restarts once ${BD(a)} finishes, and reopens your tabs.`:`Ponzu restarts in a moment and reopens your tabs. Agents reconnect on their own.`})]}):(0,V.jsxs)(`div`,{className:`flex flex-col gap-3.5`,children:[(0,V.jsxs)(`span`,{className:`font-semibold text-[14px] leading-5`,children:[`Ponzu `,e.version]}),e.notes.length>0&&(0,V.jsx)(`ul`,{className:`flex max-h-[min(320px,50vh)] list-disc flex-col gap-1.5 overflow-y-auto pl-[18px] leading-[19px] marker:text-muted-foreground`,children:e.notes.map(e=>(0,V.jsx)(`li`,{children:e},e))}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e.macs.length>1&&(0,V.jsx)(RD,{plan:e,machines:t}),(0,V.jsx)(`span`,{className:`flex-1`}),(0,V.jsx)(OD,{variant:`outline`,size:`sm`,onClick:i,children:`Later`}),(0,V.jsxs)(OD,{size:`sm`,onClick:r,className:`gap-1.5 pl-2`,children:[(0,V.jsx)(W,{name:`refresh`,size:14,strokeWidth:1.9}),`Restart`]})]})]})}function RD({plan:e,machines:t}){let n=e.macs.flatMap(e=>t.find(t=>t.id===e)??[]),r=e.macs.length===e.of?`On all ${e.of} of your Macs`:`On ${e.macs.length} of your Macs`,i=n.map(e=>[e.name,e.update?.version,zD(e)].filter(Boolean).join(`, `)).join(`; `);return(0,V.jsxs)(kD,{openDelay:150,closeDelay:100,children:[(0,V.jsx)(AD,{asChild:!0,children:(0,V.jsxs)(`button`,{type:`button`,"aria-label":i?`${r}: ${i}`:r,className:`-ml-1.5 inline-flex h-6 cursor-default items-center gap-[5px] whitespace-nowrap rounded-md px-1.5 text-[12px] text-muted-foreground tabular-nums outline-none hover:bg-secondary hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50`,children:[(0,V.jsx)(W,{name:`laptop`,size:13}),e.macs.length]})}),(0,V.jsx)(jD,{align:`start`,side:`bottom`,className:`w-[248px] p-1.5`,children:(0,V.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0 text-[12.5px]`,children:n.map(e=>(0,V.jsxs)(`li`,{className:`flex items-baseline gap-2 px-2 py-1.5`,children:[(0,V.jsxs)(`span`,{className:`min-w-0 flex-1 truncate`,children:[e.name,(0,V.jsxs)(`span`,{className:`text-faint`,children:[` · `,zD(e)]})]}),(0,V.jsx)(`span`,{className:`text-faint tabular-nums`,children:e.update?.version})]},e.id))})})]})}function zD(e){return e.update?.waitsFor?`after ${BD(e.update.waitsFor)} finishes`:e.id===`local`?`restarts last`:`now`}function BD(e){return e===`claude`?`Claude`:e===`openai`?`Codex`:e===`cursor`?`Cursor`:`your agent`}function VD(e,t){let n=null,r=0,i=0,a,o=!1,s=`${e.replace(/^http/,`ws`)}/api/catalog/stream`,c=()=>{let l=!1,u=new WebSocket(s);n=u,u.onopen=()=>{l=!0,i=0},u.onmessage=e=>{let n;try{n=JSON.parse(String(e.data))}catch{return}n.t===`snapshot`?(r++,t(()=>n.catalog)):n.t===`patch`&&t(e=>e&&C(e,n.patch))},u.onclose=()=>{if(!o){if(!l){let n=r;fetch(`${e}/api/catalog`).then(e=>e.ok?e.json():null).then(e=>!o&&e&&r===n&&t(()=>e)).catch(()=>{})}a=setTimeout(c,Math.min(5e3,250*2**i++))}}};return c(),()=>{o=!0,clearTimeout(a),n?.close()}}var HD=window.location.origin,UD=navigator.userAgent.includes(`Mac`),WD=UD?`⌘`:`Ctrl`,GD=({key:e,base:t})=>t?`${t}\n${e}`:e,KD=e=>{let t=e.indexOf(`
|
|
2360
|
+
`)})}function SC({x:e,y:t,w:n,h:r,leaving:i=!1,delay:a=0}){let[o]=(0,z.useState)(a);return(0,V.jsx)(`div`,{className:`pz:pointer-events-none pz:absolute pz:transition-opacity pz:duration-500`,style:{...MC({x:e,y:t,w:n,h:r}),opacity:+!i},"aria-hidden":!0,children:(0,V.jsx)(`div`,{className:`pz-ring pz:absolute pz:inset-0`,style:{borderRadius:8,animationDelay:`${o}ms`}})})}function CC({x:e,y:t,w:n,h:r,at:i}){let a=(0,z.useRef)(null);return(0,z.useLayoutEffect)(()=>{a.current&&ii(a.current,i)},[i]),(0,V.jsx)(`svg`,{className:`pz:pointer-events-none pz:absolute pz:overflow-visible pz:text-[var(--pz-rind)]`,style:MC({x:e,y:t,w:n,h:r}),"aria-hidden":!0,children:(0,V.jsx)(`rect`,{ref:a,x:1,y:1,style:{width:`calc(100% - 2px)`,height:`calc(100% - 2px)`},rx:8,pathLength:100,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeDasharray:`100 100`,strokeDashoffset:100})})}var wC=`pz:pointer-events-auto pz:absolute pz:size-0`,TC=`pz:absolute pz:top-0 pz:left-0 pz:grid pz:size-6 pz:-translate-1/2 pz:place-items-center pz:rounded-full pz:font-semibold pz:text-[11px] pz:tabular-nums pz:shadow-[0_0_0_1px_rgba(17,17,16,0.18),0_1px_3px_rgba(0,0,0,0.25)] pz:transition-transform pz:duration-[120ms] pz:hover:scale-112`;function EC({name:e,shortcut:t,showShortcut:n,icon:r,active:i,working:a,onClick:o,onRename:s}){let[c,l]=(0,z.useState)(!1);return(0,V.jsxs)(`button`,{type:`button`,className:Wb(`pz:inline-flex pz:h-7 pz:shrink-0 pz:items-center pz:gap-1.5 pz:whitespace-nowrap pz:rounded-lg pz:px-2.5`,i?`pz:bg-raised pz:text-foreground pz:shadow-raised`:`pz:text-muted-foreground pz:hover:bg-accent pz:hover:text-foreground`),onClick:o,onDoubleClick:()=>s&&l(!0),children:[(0,V.jsx)(Zb,{modifier:`⌥`,n:t,shown:n,index:t,children:(0,V.jsx)(W,{name:r&&r in rc?r:`board`,size:14})}),c?(0,V.jsx)(`input`,{autoFocus:!0,className:`pz:w-[9em] pz:bg-transparent pz:outline-0`,defaultValue:e,onClick:e=>e.stopPropagation(),onBlur:t=>{let n=t.target.value.trim();n&&n!==e&&s?.(n),l(!1)},onKeyDown:e=>{e.key===`Enter`&&e.target.blur(),e.key===`Escape`&&l(!1),e.stopPropagation()}}):(0,V.jsx)(`span`,{className:Wb(a&&`pz-shimmer`),children:e})]})}var DC=(0,z.memo)(function({artboard:e,dx:t,dy:n,h:r,tokens:i,source:a,colorScheme:o,zoom:s,scale:c,onScreen:l,moving:u,y0:d,y1:f,attention:p,cheap:m,skeleton:h,rankOf:g,arrivals:_,radius:v,hold:y}){let{w:b,h:x}=_C(e),S=(0,z.useCallback)(()=>g(e.id),[g,e.id]),C=FS(e,i,()=>je(e)),w=(0,z.useMemo)(()=>a.snapshotUrl&&((e,t)=>a.snapshotUrl(e,t,C,o)),[a,C,o]),T=(0,z.useMemo)(()=>a.loopsUrl&&(e=>a.loopsUrl(e,C,o)),[a,C,o]),E=d===void 0||f===void 0?void 0:{y0:d,y1:f};return(0,V.jsx)(`div`,{ref:t=>{let n=t?_.takeBoard(e.id):void 0;t&&n!==void 0&&ni(t,n)},className:`pz:absolute pz:shadow-board`,style:{left:e.x+t,top:e.y+n,width:b,height:x??void 0,borderRadius:v,"--pz-board-radius":`${v}px`},children:(0,V.jsx)(zS,{id:e.id,w:b,h:r,scale:s,onScreen:l,moving:u,attention:p,snapshotUrl:w,loopsUrl:T,cheap:m,rank:S,cost:vx(e).elements,skeleton:h,fill:bx(e),children:t=>(0,V.jsx)(kr,{artboard:e,tokens:i,assetBase:a.assetBase,renditions:a.renditions,colorScheme:o,detail:{hidden:t,scale:c,moving:u,visible:E},arrivals:_,rounded:!0,hold:y})})})}),OC=(0,z.memo)(function({artboard:e,dx:t,dy:n,who:r,selected:i,renaming:a,covered:o,events:s,arrivedAt:c}){let l=o&&!r&&!a&&!i,u=(0,z.useRef)(null);return(0,z.useLayoutEffect)(()=>{u.current&&c!==void 0&&ri(u.current,c)},[c]),(0,V.jsx)(`div`,{className:`pz:absolute pz:h-0`,style:{left:AC(e.x+t),top:AC(e.y+n),width:AC(_C(e).w),visibility:l?`hidden`:void 0},children:(0,V.jsxs)(`div`,{className:Wb(`pz:pointer-events-auto pz:absolute pz:top-[-22px] pz:left-0 pz:flex pz:cursor-default pz:items-center pz:gap-[0.5em] pz:whitespace-nowrap pz:text-[12px] pz:leading-[1.4]`,!a&&`pz:max-w-full`,r&&`pz:right-0`,i?`pz:text-select`:`pz:text-muted-foreground pz:hover:text-foreground`),onPointerDown:t=>s.down(t,e),onDoubleClick:()=>s.rename(e.id),children:[a?(0,V.jsx)(`input`,{autoFocus:!0,className:`pz:rounded-[3px] pz:bg-card pz:px-[0.3em] pz:text-[12px] pz:outline-1 pz:outline-select`,defaultValue:e.name,onPointerDown:e=>e.stopPropagation(),onBlur:t=>{let n=t.target.value.trim();n&&n!==e.name&&s.apply({op:`artboard.update`,id:e.id,name:n}),s.rename(null)},onKeyDown:e=>{e.key===`Enter`&&e.target.blur(),e.key===`Escape`&&s.rename(null)}}):(0,V.jsx)(`span`,{ref:u,"data-board-name":!0,className:`pz:min-w-0 pz:truncate`,title:e.name,children:e.name}),r&&(0,V.jsx)(xC,{who:r})]})})});function kC(e,t){let n=getComputedStyle(e),r=/auto|scroll/.test(n.overflowY)&&(t.deltaY>0&&e.scrollTop+e.clientHeight<e.scrollHeight||t.deltaY<0&&e.scrollTop>0),i=/auto|scroll/.test(n.overflowX)&&(t.deltaX>0&&e.scrollLeft+e.clientWidth<e.scrollWidth||t.deltaX<0&&e.scrollLeft>0);return r||i}function AC(e){return`calc(var(--z) * ${e}px)`}function jC(e){return{left:AC(e.x),top:AC(e.y),width:AC(e.w),height:AC(e.h)}}function MC(e){return{left:`calc(var(--z) * ${e.x}px - ${fC}px)`,top:`calc(var(--z) * ${e.y}px - ${fC}px)`,width:`calc(var(--z) * ${e.w}px + 8px)`,height:`calc(var(--z) * ${e.h}px + 8px)`}}function NC({camera:e}){return(0,V.jsxs)(V.Fragment,{children:[qS(e),`%`]})}function PC(e,t){let n=Object.keys(e);return n.length===Object.keys(t).length&&n.every(n=>{let r=e[n],i=t[n];return!!i&&r.artboardId===i.artboardId&&Math.abs(r.x-i.x)<.5&&Math.abs(r.y-i.y)<.5&&Math.abs(r.w-i.w)<.5&&Math.abs(r.h-i.h)<.5})}function FC(e,t,n){let{x:r,y:i}=e,a=t&&e.nodeId?n[e.nodeId]:void 0;return a&&a.artboardId===t?.id&&(r=Math.min(Math.max(r,a.x),a.x+a.w),i=Math.min(Math.max(i,a.y),a.y+a.h)),{x:(t?.x??0)+r,y:(t?.y??0)+i}}function IC(e,t,n){let r=e.querySelector(`[data-artboard-host="${CSS.escape(t.id)}"]`),i=r?.parentElement,a=r?.shadowRoot?.querySelector(`[data-id="${CSS.escape(n)}"]`);if(!i||!a)return null;let o=i.getBoundingClientRect(),s=a.getBoundingClientRect(),c=o.width/_C(t).w;return c?{x:(s.left-o.left)/c,y:(s.top-o.top)/c,w:s.width/c,h:s.height/c}:null}function LC(e,t,n,r,i){let a=[];for(let o of e){let e=t.find(e=>e.id===o),s=e?{x:0,y:0,w:_C(e).w,h:n(e)}:void 0;if(!s){let n=i[o];e=n&&t.find(e=>e.id===n.artboardId),s=n}if(!e||!s)continue;let c=r(e.id);a.push({id:o,x:e.x+(c?.dx??0)+s.x,y:e.y+(c?.dy??0)+s.y,w:s.w,h:s.h,artboard:e.id===o})}return a}function RC(e){return Array.isArray?Array.isArray(e):JC(e)===`[object Array]`}function zC(e){if(typeof e==`string`)return e;if(typeof e==`bigint`)return e.toString();let t=e+``;return t==`0`&&1/e==-1/0?`-0`:t}function BC(e){return e==null?``:zC(e)}function VC(e){return typeof e==`string`}function HC(e){return typeof e==`number`}function UC(e){return e===!0||e===!1||GC(e)&&JC(e)==`[object Boolean]`}function WC(e){return typeof e==`object`}function GC(e){return WC(e)&&e!==null}function KC(e){return e!=null}function qC(e){return!e.trim().length}function JC(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var YC=`Incorrect 'index' type`,XC=`Invalid doc index: must be a non-negative integer within the bounds of the docs array`,ZC=e=>`Invalid value for key ${e}`,QC=e=>`Pattern length exceeds max of ${e}.`,$C=e=>`Missing ${e} property in key`,ew=e=>`Property 'weight' in key '${e}' must be a positive integer`,tw=`Fuse.match does not support useTokenSearch: token search requires corpus-level statistics (df, fieldCount) that a one-off string comparison does not have. Use new Fuse(...).search(...) instead.`,nw=Object.prototype.hasOwnProperty,rw=class{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(e=>{let n=iw(e);this._keys.push(n),this._keyMap[n.id]=n,t+=n.weight}),this._keys.forEach(e=>{e.weight/=t})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}};function iw(e){let t=null,n=null,r=null,i=1,a=null;if(VC(e)||RC(e))r=e,t=aw(e),n=ow(e);else{if(!nw.call(e,`name`))throw Error($C(`name`));let o=e.name;if(r=o,nw.call(e,`weight`)&&e.weight!==void 0&&(i=e.weight,i<=0))throw Error(ew(ow(o)));t=aw(o),n=ow(o),a=e.getFn??null}return{path:t,id:n,weight:i,src:r,getFn:a}}function aw(e){return RC(e)?e:e.split(`.`)}function ow(e){return RC(e)?e.join(`.`):e}function sw(e,t){let n=[],r=!1,i=(e,t,a,o)=>{if(KC(e)){if(!t[a])n.push(o===void 0?e:{v:e,i:o});else{let s=e[t[a]];if(!KC(s))return;if(a===t.length-1&&(VC(s)||HC(s)||UC(s)||typeof s==`bigint`))n.push(o===void 0?BC(s):{v:BC(s),i:o});else if(RC(s)){r=!0;for(let e=0,n=s.length;e<n;e+=1)i(s[e],t,a+1,e)}else t.length&&i(s,t,a+1,o)}}};return i(e,VC(t)?t.split(`.`):t,0),r?n:n[0]}var cw={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},lw={isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1},uw={location:0,threshold:.6,distance:100},dw={useExtendedSearch:!1,useTokenSearch:!1,tokenize:void 0,tokenMatch:`any`,getFn:sw,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},$=Object.freeze({...lw,...cw,...uw,...dw});function fw(e){return e>=9&&e<=13||e===32||e===160}function pw(e=1,t=3){let n=new Map,r=10**t;return{get(t){let i=0,a=!1;for(let e=0;e<t.length;e++)fw(t.charCodeAt(e))?a=!1:a||=(i++,!0);if(i===0&&(i=1),n.has(i))return n.get(i);let o=Math.round(r/i**(.5*e))/r;return n.set(i,o),o},clear(){n.clear()}}}var mw=class{constructor({getFn:e=$.getFn,fieldNormWeight:t=$.fieldNormWeight}={}){this.norm=pw(t,3),this.getFn=e,this.isCreated=!1,this.docs=[],this.keys=[],this._keysMap={},this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach((e,t)=>{this._keysMap[e.id]=t})}create(){if(this.isCreated||!this.docs.length)return;this.isCreated=!0;let e=this.docs.length;this.records=Array(e);let t=0;if(VC(this.docs[0]))for(let n=0;n<e;n++){let e=this._createStringRecord(this.docs[n],n);e&&(this.records[t++]=e)}else for(let n=0;n<e;n++)this.records[t++]=this._createObjectRecord(this.docs[n],n);this.records.length=t,this.norm.clear()}add(e,t){if(!Number.isInteger(t)||t<0)throw Error(XC);if(VC(e)){let n=this._createStringRecord(e,t);return n&&this.records.push(n),n}let n=this._createObjectRecord(e,t);return this.records.push(n),n}removeAt(e){if(!Number.isInteger(e)||e<0)throw Error(XC);for(let t=0,n=this.records.length;t<n;t+=1)if(this.records[t].i===e){this.records.splice(t,1);break}for(let t=0,n=this.records.length;t<n;t+=1)this.records[t].i>e&&--this.records[t].i}removeAll(e){let t=new Set;for(let n of e)Number.isInteger(n)&&n>=0&&t.add(n);if(t.size===0)return;this.records=this.records.filter(e=>!t.has(e.i));let n=Array.from(t).sort((e,t)=>e-t);for(let e of this.records){let t=0,r=n.length;for(;t<r;){let i=t+r>>>1;n[i]<e.i?t=i+1:r=i}e.i-=t}}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_createStringRecord(e,t){return!KC(e)||qC(e)?null:{v:e,i:t,n:this.norm.get(e)}}_createObjectRecord(e,t){let n={i:t,$:{}};for(let t=0,r=this.keys.length;t<r;t++){let r=this.keys[t],i=r.getFn?r.getFn(e):this.getFn(e,r.path);if(KC(i)){if(RC(i)){let e=[];for(let t=0,n=i.length;t<n;t+=1){let n=i[t];if(KC(n)){if(VC(n)){if(!qC(n)){let r={v:n,i:t,n:this.norm.get(n)};e.push(r)}}else if(KC(n.v)){let t=VC(n.v)?n.v:BC(n.v);if(!qC(t)){let r={v:t,i:n.i,n:this.norm.get(t)};e.push(r)}}}}n.$[t]=e}else if(VC(i)&&!qC(i)){let e={v:i,n:this.norm.get(i)};n.$[t]=e}}}return n}toJSON(){return{keys:this.keys.map(({getFn:e,...t})=>t),records:this.records}}};function hw(e,t,{getFn:n=$.getFn,fieldNormWeight:r=$.fieldNormWeight}={}){let i=new mw({getFn:n,fieldNormWeight:r});return i.setKeys(e.map(iw)),i.setSources(t),i.create(),i}function gw(e,{getFn:t=$.getFn,fieldNormWeight:n=$.fieldNormWeight}={}){let{keys:r,records:i}=e,a=new mw({getFn:t,fieldNormWeight:n});return a.setKeys(r),a.setIndexRecords(i),a}function _w(e=[],t=$.minMatchCharLength){let n=[],r=-1,i=-1,a=0;for(let o=e.length;a<o;a+=1){let o=e[a];o&&r===-1?r=a:!o&&r!==-1&&(i=a-1,i-r+1>=t&&n.push([r,i]),r=-1)}return e[a-1]&&a-r>=t&&n.push([r,a-1]),n}function vw(e,t,n,{location:r=$.location,distance:i=$.distance,threshold:a=$.threshold,findAllMatches:o=$.findAllMatches,minMatchCharLength:s=$.minMatchCharLength,includeMatches:c=$.includeMatches,ignoreLocation:l=$.ignoreLocation}={}){if(t.length>32)throw Error(QC(32));let u=t.length,d=e.length,f=Math.max(0,Math.min(r,d)),p=a,m=f,h=(e,t)=>{let n=e/u;if(l)return n;let r=Math.abs(f-t);return i?n+r/i:r?1:n},g=s>1||c,_=g?Array(d):[],v;for(;(v=e.indexOf(t,m))>-1;){let e=h(0,v);if(p=Math.min(e,p),m=v+u,g){let e=0;for(;e<u;)_[v+e]=1,e+=1}}m=-1;let y=[],b=1,x=0,S=u+d,C=1<<u-1;for(let t=0;t<u;t+=1){let r=0,i=S;for(;r<i;)h(t,f+i)<=p?r=i:S=i,i=Math.floor((S-r)/2+r);S=i;let a=Math.max(1,f-i+1),s=o?d:Math.min(f+i,d)+u,c=Array(s+2);c[s+1]=(1<<t)-1;for(let r=s;r>=a;--r){let i=r-1,o=n[e[i]];if(c[r]=(c[r+1]<<1|1)&o,t&&(c[r]|=(y[r+1]|y[r])<<1|1|y[r+1]),c[r]&C&&(b=h(t,i),b<=p)){if(p=b,m=i,x=t,m<=f)break;a=Math.max(1,2*f-m)}}if(h(t+1,f)>p)break;y=c}if(g&&m>=0){let t=Math.min(d-1,m+u-1+x);for(let r=m;r<=t;r+=1)n[e[r]]&&(_[r]=1)}let w={isMatch:m>=0,score:Math.max(.001,b)};if(g){let e=_w(_,s);e.length?c&&(w.indices=e):w.isMatch=!1}return w}function yw(e){let t={};for(let n=0,r=e.length;n<r;n+=1){let i=e.charAt(n);t[i]=(t[i]||0)|1<<r-n-1}return t}function bw(e){if(e.length<=1)return e;e.sort((e,t)=>e[0]-t[0]||e[1]-t[1]);let t=[e[0]];for(let n=1,r=e.length;n<r;n+=1){let r=t[t.length-1],i=e[n];i[0]<=r[1]+1?r[1]=Math.max(r[1],i[1]):t.push(i)}return t}var xw={ł:`l`,Ł:`L`,đ:`d`,Đ:`D`,ø:`o`,Ø:`O`,ħ:`h`,Ħ:`H`,ŧ:`t`,Ŧ:`T`,ı:`i`,ß:`ss`},Sw=RegExp(`[`+Object.keys(xw).join(``)+`]`,`g`),Cw=typeof String.prototype.normalize==`function`?e=>e.normalize(`NFD`).replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,``).replace(Sw,e=>xw[e]):e=>e,ww=class{constructor(e,{location:t=$.location,threshold:n=$.threshold,distance:r=$.distance,includeMatches:i=$.includeMatches,findAllMatches:a=$.findAllMatches,minMatchCharLength:o=$.minMatchCharLength,isCaseSensitive:s=$.isCaseSensitive,ignoreDiacritics:c=$.ignoreDiacritics,ignoreLocation:l=$.ignoreLocation}={}){if(this.options={location:t,threshold:n,distance:r,includeMatches:i,findAllMatches:a,minMatchCharLength:o,isCaseSensitive:s,ignoreDiacritics:c,ignoreLocation:l},e=s?e:e.toLowerCase(),e=c?Cw(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;let u=(e,t)=>{this.chunks.push({pattern:e,alphabet:yw(e),startIndex:t})},d=this.pattern.length;if(d>32){let e=0,t=d%32,n=d-t;for(;e<n;)u(this.pattern.substr(e,32),e),e+=32;if(t){let e=d-32;u(this.pattern.substr(e),e)}}else u(this.pattern,0)}searchIn(e){let{isCaseSensitive:t,ignoreDiacritics:n,includeMatches:r}=this.options;if(e=t?e:e.toLowerCase(),e=n?Cw(e):e,this.pattern===e){if(e.length<this.options.minMatchCharLength)return{isMatch:!1,score:1};let t={isMatch:!0,score:0};return r&&(t.indices=[[0,e.length-1]]),t}let{location:i,distance:a,threshold:o,findAllMatches:s,minMatchCharLength:c,ignoreLocation:l}=this.options,u=[],d=0,f=!1;this.chunks.forEach(({pattern:t,alphabet:n,startIndex:p})=>{let{isMatch:m,score:h,indices:g}=vw(e,t,n,{location:i+p,distance:a,threshold:o,findAllMatches:s,minMatchCharLength:c,includeMatches:r,ignoreLocation:l});m&&(f=!0),d+=h,m&&g&&u.push(...g)});let p={isMatch:f,score:f?d/this.chunks.length:1};return f&&r&&(p.indices=bw(u)),p}},Tw=new Set([`fuzzy`,`include`]);function Ew(e){return e.startsWith(`inverse`)}var Dw=[{type:`exact`,multiRegex:/^="(.*)"$/,singleRegex:/^=(.*)$/,create:e=>({type:`exact`,search(t){let n=t===e;return{isMatch:n,score:+!n,indices:[0,e.length-1]}}})},{type:`include`,multiRegex:/^'"(.*)"$/,singleRegex:/^'(.*)$/,create:e=>({type:`include`,search(t){let n=0,r,i=[],a=e.length;for(;(r=t.indexOf(e,n))>-1;)n=r+a,i.push([r,n-1]);let o=!!i.length;return{isMatch:o,score:+!o,indices:i}}})},{type:`prefix-exact`,multiRegex:/^\^"(.*)"$/,singleRegex:/^\^(.*)$/,create:e=>({type:`prefix-exact`,search(t){let n=t.startsWith(e);return{isMatch:n,score:+!n,indices:[0,e.length-1]}}})},{type:`inverse-prefix-exact`,multiRegex:/^!\^"(.*)"$/,singleRegex:/^!\^(.*)$/,create:e=>({type:`inverse-prefix-exact`,search(t){let n=!t.startsWith(e);return{isMatch:n,score:+!n,indices:[0,t.length-1]}}})},{type:`inverse-suffix-exact`,multiRegex:/^!"(.*)"\$$/,singleRegex:/^!(.*)\$$/,create:e=>({type:`inverse-suffix-exact`,search(t){let n=!t.endsWith(e);return{isMatch:n,score:+!n,indices:[0,t.length-1]}}})},{type:`suffix-exact`,multiRegex:/^"(.*)"\$$/,singleRegex:/^(.*)\$$/,create:e=>({type:`suffix-exact`,search(t){let n=t.endsWith(e);return{isMatch:n,score:+!n,indices:[t.length-e.length,t.length-1]}}})},{type:`inverse-exact`,multiRegex:/^!"(.*)"$/,singleRegex:/^!(.*)$/,create:e=>({type:`inverse-exact`,search(t){let n=t.indexOf(e)===-1;return{isMatch:n,score:+!n,indices:[0,t.length-1]}}})},{type:`fuzzy`,multiRegex:/^"(.*)"$/,singleRegex:/^(.*)$/,create:(e,t={})=>{let n=new ww(e,{location:t.location??$.location,threshold:t.threshold??$.threshold,distance:t.distance??$.distance,includeMatches:t.includeMatches??$.includeMatches,findAllMatches:t.findAllMatches??$.findAllMatches,minMatchCharLength:t.minMatchCharLength??$.minMatchCharLength,isCaseSensitive:t.isCaseSensitive??$.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics??$.ignoreDiacritics,ignoreLocation:t.ignoreLocation??$.ignoreLocation});return{type:`fuzzy`,search(e){return n.searchIn(e)}}}}],Ow=Dw.length,kw=`\0`,Aw=`|`;function jw(e){let t=[],n=e.length,r=0;for(;r<n;){for(;r<n&&e[r]===` `;)r++;if(r>=n)break;let i=r;for(;i<n&&e[i]!==` `&&e[i]!==`"`;)i++;if(i<n&&e[i]===`"`){for(i++;i<n;){if(e[i]===`"`){let t=i+1;if(t>=n||e[t]===` `){i++;break}if(e[t]===`$`&&(t+1>=n||e[t+1]===` `)){i+=2;break}}i++}t.push(e.substring(r,i)),r=i}else{for(;i<n&&e[i]!==` `;)i++;t.push(e.substring(r,i)),r=i}}return t}function Mw(e,t){let n=e.match(t);return n?n[1]:null}function Nw(e,t={}){return e.replace(/\\\|/g,kw).split(Aw).map(e=>{let n=jw(e.replace(/\u0000/g,`|`).trim()).filter(e=>e&&!!e.trim()),r=[];for(let e=0,i=n.length;e<i;e+=1){let i=n[e],a=!1,o=-1;for(;!a&&++o<Ow;){let e=Dw[o],n=Mw(i,e.multiRegex);n&&(r.push(e.create(n,t)),a=!0)}if(!a)for(o=-1;++o<Ow;){let e=Dw[o],n=Mw(i,e.singleRegex);if(n){r.push(e.create(n,t));break}}}return r})}var Pw=class{constructor(e,{isCaseSensitive:t=$.isCaseSensitive,ignoreDiacritics:n=$.ignoreDiacritics,includeMatches:r=$.includeMatches,minMatchCharLength:i=$.minMatchCharLength,ignoreLocation:a=$.ignoreLocation,findAllMatches:o=$.findAllMatches,location:s=$.location,threshold:c=$.threshold,distance:l=$.distance}={}){this.query=null,this.options={isCaseSensitive:t,ignoreDiacritics:n,includeMatches:r,minMatchCharLength:i,findAllMatches:o,ignoreLocation:a,location:s,threshold:c,distance:l},e=t?e:e.toLowerCase(),e=n?Cw(e):e,this.pattern=e,this.query=Nw(this.pattern,this.options)}static condition(e,t){return t.useExtendedSearch}searchIn(e){let t=this.query;if(!t)return{isMatch:!1,score:1};let{includeMatches:n,isCaseSensitive:r,ignoreDiacritics:i}=this.options;e=r?e:e.toLowerCase(),e=i?Cw(e):e;let a=0,o=[],s=0,c=!1;for(let r=0,i=t.length;r<i;r+=1){let i=t[r];o.length=0,a=0,c=!1;for(let t=0,r=i.length;t<r;t+=1){let r=i[t],{isMatch:l,indices:u,score:d}=r.search(e);if(l)a+=1,s+=d,Ew(r.type)&&(c=!0),n&&(Tw.has(r.type)?o.push(...u):o.push(u));else{s=0,a=0,o.length=0,c=!1;break}}if(a){let e={isMatch:!0,score:s/a};return c&&(e.hasInverse=!0),n&&(e.indices=bw(o)),e}}return{isMatch:!1,score:1}}},Fw=[];function Iw(...e){Fw.push(...e)}function Lw(e,t){for(let n=0,r=Fw.length;n<r;n+=1){let r=Fw[n];if(r.condition(e,t))return new r(e,t)}return new ww(e,t)}var Rw={AND:`$and`,OR:`$or`},zw={PATH:`$path`,PATTERN:`$val`},Bw=e=>!!(e[Rw.AND]||e[Rw.OR]),Vw=e=>!!e[zw.PATH],Hw=e=>!RC(e)&&WC(e)&&!Bw(e),Uw=e=>({[Rw.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function Ww(e,t,{auto:n=!0}={}){let r=e=>{if(VC(e)){let r={keyId:null,pattern:e};return n&&(r.searcher=Lw(e,t)),r}let i=Object.keys(e),a=Vw(e);if(!a&&i.length>1&&!Bw(e))return r(Uw(e));if(Hw(e)){let r=a?e[zw.PATH]:i[0],o=a?e[zw.PATTERN]:e[r];if(!VC(o))throw Error(ZC(r));let s={keyId:ow(r),pattern:o};return n&&(s.searcher=Lw(o,t)),s}let o={children:[],operator:i[0]};return i.forEach(t=>{let n=e[t];RC(n)&&n.forEach(e=>{o.children.push(r(e))})}),o};return Bw(e)||(e=Uw(e)),r(e)}function Gw(e,{ignoreFieldNorm:t=$.ignoreFieldNorm}){let n=1;return e.forEach(({key:e,norm:r,score:i})=>{let a=e?e.weight:null;n*=(i===0&&a?2**-52:i)**+((a||1)*(t?1:r))}),n}function Kw(e,{ignoreFieldNorm:t=$.ignoreFieldNorm}){e.forEach(e=>{e.score=Gw(e.matches,{ignoreFieldNorm:t})})}var qw=class{constructor(e,t){this.limit=e,this.heap=[],this.comparator=t}get size(){return this.heap.length}insert(e){this.size<this.limit?(this.heap.push(e),this._bubbleUp(this.size-1)):this.comparator(e,this.heap[0])<0&&(this.heap[0]=e,this._sinkDown(0))}extractSorted(){return this.heap.sort(this.comparator)}_bubbleUp(e){let t=this.heap;for(;e>0;){let n=e-1>>1;if(this.comparator(t[e],t[n])<=0)break;let r=t[e];t[e]=t[n],t[n]=r,e=n}}_sinkDown(e){let t=this.heap,n=t.length,r=e;do{e=r;let i=2*e+1,a=2*e+2;if(i<n&&this.comparator(t[i],t[r])>0&&(r=i),a<n&&this.comparator(t[a],t[r])>0&&(r=a),r!==e){let n=t[e];t[e]=t[r],t[r]=n}}while(r!==e)}};function Jw(e){let t=[];return e.matches.forEach(e=>{if(!KC(e.indices)||!e.indices.length)return;let n={indices:e.indices,value:e.value};e.key&&(n.key=e.key.id),e.idx>-1&&(n.refIndex=e.idx),t.push(n)}),t}function Yw(e,t,{includeMatches:n=$.includeMatches,includeScore:r=$.includeScore}={}){return e.map(e=>{let{idx:i}=e,a={item:t[i],refIndex:i};return n&&(a.matches=Jw(e)),r&&(a.score=e.score),a})}var Xw=/[\p{L}\p{M}\p{N}_]+/gu,Zw=new WeakSet;function Qw(e){Zw.has(e)||(Zw.add(e),console.warn(`[Fuse] tokenize regex ${e} lacks the global flag; only the first match per text will be returned. Add the 'g' flag.`))}function $w(e){if(typeof e==`function`){let t=!1;return n=>{let r=e(n);if(!t&&(t=!0,!Array.isArray(r)||r.some(e=>typeof e!=`string`)))throw Error(`[Fuse] tokenize function must return string[]; received ${Array.isArray(r)?`array containing non-strings`:typeof r}.`);return r}}return e instanceof RegExp?(e.global||Qw(e),t=>t.match(e)||[]):e=>e.match(Xw)||[]}function eT({isCaseSensitive:e=!1,ignoreDiacritics:t=!1,tokenize:n}={}){let r=$w(n);return{tokenize(n){return e||(n=n.toLowerCase()),t&&(n=Cw(n)),r(n)}}}var tT=class{static condition(e,t){return t.useTokenSearch}constructor(e,t){this.options=t,this.analyzer=eT({isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,tokenize:t.tokenize});let n=this.analyzer.tokenize(e),{df:r,fieldCount:i}=t._invertedIndex;this.termSearchers=[],this.idfWeights=[];for(let e of n){this.termSearchers.push(new ww(e,{location:t.location,threshold:t.threshold,distance:t.distance,includeMatches:t.includeMatches,findAllMatches:t.findAllMatches,minMatchCharLength:t.minMatchCharLength,isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,ignoreLocation:!0}));let n=r.get(e)||0,a=Math.log(1+(i-n+.5)/(n+.5));this.idfWeights.push(a)}this.combineAll=t.tokenMatch===`all`,this.numTerms=this.termSearchers.length,this.useMask=this.numTerms<=31}searchIn(e){if(!this.termSearchers.length)return{isMatch:!1,score:1};let t=[],n=0,r=0,i=0,a=0,o=this.combineAll&&!this.useMask?new Set:null;for(let s=0;s<this.termSearchers.length;s++){let c=this.termSearchers[s].searchIn(e),l=this.idfWeights[s];r+=l,c.isMatch&&(i++,n+=l*(1-c.score),c.indices&&t.push(...c.indices),this.combineAll&&(this.useMask?a|=1<<s:o.add(s)))}if(i===0)return{isMatch:!1,score:1};let s=r>0?1-n/r:0,c={isMatch:!0,score:Math.max(.001,s)};return this.options.includeMatches&&t.length&&(c.indices=bw(t)),this.combineAll&&(this.useMask?c.matchedMask=a:c.matchedTerms=o,c.termCount=this.numTerms),c}};function nT(e,t,n,r){let i=r.tokenize(t);if(!i.length)return;e.fieldCount++,e.docFieldCount.set(n,(e.docFieldCount.get(n)||0)+1);let a=new Set(i),o=e.docTermFieldHits.get(n);o||(o=new Map,e.docTermFieldHits.set(n,o));for(let t of a)o.set(t,(o.get(t)||0)+1),e.df.set(t,(e.df.get(t)||0)+1)}function rT(e,t,n,r){let{i,v:a,$:o}=t;if(a!==void 0)nT(e,a,i,r);else if(o)for(let t=0;t<n;t++){let n=o[t];if(n){if(Array.isArray(n))for(let t of n)nT(e,t.v,i,r);else nT(e,n.v,i,r)}}}function iT(e,t,n){let r={fieldCount:0,df:new Map,docFieldCount:new Map,docTermFieldHits:new Map};for(let i of e)rT(r,i,t,n);return r}function aT(e,t,n,r){rT(e,t,n,r)}function oT(e,t){let n=e.docFieldCount.get(t);if(n===void 0)return;e.fieldCount-=n,e.docFieldCount.delete(t);let r=e.docTermFieldHits.get(t);if(r){for(let[t,n]of r){let r=(e.df.get(t)||0)-n;r<=0?e.df.delete(t):e.df.set(t,r)}e.docTermFieldHits.delete(t)}}function sT(e,t){if(t.length===0)return;let n=Array.from(new Set(t)).sort((e,t)=>e-t);for(let t of n)oT(e,t);let r=e=>{let t=0,r=n.length;for(;t<r;){let i=t+r>>>1;n[i]<e?t=i+1:r=i}return e-t},i=n[0],a=new Map;for(let[t,n]of e.docFieldCount)a.set(t>i?r(t):t,n);e.docFieldCount=a;let o=new Map;for(let[t,n]of e.docTermFieldHits)o.set(t>i?r(t):t,n);e.docTermFieldHits=o}var cT=class{constructor(e,t,n){this.options={...$,...t},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new rw(this.options.keys),this._docs=e,this._myIndex=null,this._invertedIndex=null,this.setCollection(e,n),this._lastQuery=null,this._lastSearcher=null}_getSearcher(e){if(this._lastQuery===e)return this._lastSearcher;let t=Lw(e,this._invertedIndex?{...this.options,_invertedIndex:this._invertedIndex}:this.options);return this._lastQuery=e,this._lastSearcher=t,t}setCollection(e,t){if(this._docs=e,t&&!(t instanceof mw))throw Error(YC);if(this._myIndex=t||hw(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){let e=eT({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});this._invertedIndex=iT(this._myIndex.records,this._myIndex.keys.length,e)}this._invalidateSearcherCache()}add(e){if(!KC(e))return;this._docs.push(e);let t=this._myIndex.add(e,this._docs.length-1);if(this._invertedIndex&&t){let e=eT({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});aT(this._invertedIndex,t,this._myIndex.keys.length,e)}this._invalidateSearcherCache()}remove(e=()=>!1){let t=[],n=[];for(let r=0,i=this._docs.length;r<i;r+=1)e(this._docs[r],r)&&(t.push(this._docs[r]),n.push(r));if(n.length){this._invertedIndex&&sT(this._invertedIndex,n);let e=new Set(n);this._docs=this._docs.filter((t,n)=>!e.has(n)),this._myIndex.removeAll(n),this._invalidateSearcherCache()}return t}removeAt(e){if(!Number.isInteger(e)||e<0||e>=this._docs.length)throw Error(XC);this._invertedIndex&&sT(this._invertedIndex,[e]);let t=this._docs.splice(e,1)[0];return this._myIndex.removeAt(e),this._invalidateSearcherCache(),t}_invalidateSearcherCache(){this._lastQuery=null,this._lastSearcher=null}getIndex(){return this._myIndex}_normalizedKeys(){return this._myIndex.keys.map(e=>this._keyStore.get(e.id)||e)}search(e,t){let{limit:n=-1}=t||{},{includeMatches:r,includeScore:i,shouldSort:a,sortFn:o,ignoreFieldNorm:s}=this.options;if(VC(e)&&!e.trim()){let e=this._docs.map((e,t)=>({item:e,refIndex:t}));return HC(n)&&n>-1&&(e=e.slice(0,n)),e}let c=a&&HC(n)&&n>0&&VC(e),l=o,u=(e,t)=>l(e,t)||e.idx-t.idx,d;if(c){let t=new qw(n,u);VC(this._docs[0])?this._searchStringList(e,{heap:t,ignoreFieldNorm:s}):this._searchObjectList(e,{heap:t,ignoreFieldNorm:s}),d=t.extractSorted()}else d=VC(e)?VC(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e),Kw(d,{ignoreFieldNorm:s}),a&&d.sort(VC(e)?u:l),HC(n)&&n>-1&&(d=d.slice(0,n));return Yw(d,this._docs,{includeMatches:r,includeScore:i})}_searchStringList(e,{heap:t,ignoreFieldNorm:n}={}){let r=this._getSearcher(e),i=this.options.useTokenSearch&&this.options.tokenMatch===`all`,{records:a}=this._myIndex,o=t?null:[];return a.forEach(({v:e,i:a,n:s})=>{if(!KC(e))return;let c=r.searchIn(e);if(c.isMatch){let r={score:c.score,value:e,norm:s,indices:c.indices};i&&(r.matchedMask=c.matchedMask,r.matchedTerms=c.matchedTerms,r.termCount=c.termCount);let l=[r];if(!i||this._coversAllTokens(l)){let r={item:e,idx:a,matches:l};t?(r.score=Gw(r.matches,{ignoreFieldNorm:n}),t.insert(r)):o.push(r)}}}),o}_searchLogical(e){let t=Ww(e,this.options),n=this._normalizedKeys(),r=(e,t,i)=>{if(!(`children`in e)){let{keyId:r,searcher:a}=e,o;return r===null?(o=[],n.forEach((e,n)=>{o.push(...this._findMatches({key:e,value:t[n],searcher:a}))})):o=this._findMatches({key:this._keyStore.get(r),value:this._myIndex.getValueForItemAtKeyId(t,r),searcher:a}),o&&o.length?[{idx:i,item:t,matches:o}]:[]}let{children:a,operator:o}=e,s=[];for(let e=0,n=a.length;e<n;e+=1){let n=a[e],c=r(n,t,i);if(c.length)s.push(...c);else if(o===Rw.AND)return[]}return s},i=this._myIndex.records,a=new Map,o=[];return i.forEach(({$:e,i:n})=>{if(KC(e)){let i=r(t,e,n);i.length&&(a.has(n)||(a.set(n,{idx:n,item:e,matches:[]}),o.push(a.get(n))),i.forEach(({matches:e})=>{a.get(n).matches.push(...e)}))}}),o}_searchObjectList(e,{heap:t,ignoreFieldNorm:n}={}){let r=this._getSearcher(e),i=this.options.useTokenSearch&&this.options.tokenMatch===`all`,{records:a}=this._myIndex,o=this._normalizedKeys(),s=t?null:[];return a.forEach(({$:e,i:a})=>{if(!KC(e))return;let c=[],l=!1,u=!1;if(o.forEach((t,n)=>{let i=this._findMatches({key:t,value:e[n],searcher:r});i.length?(c.push(...i),i[0].hasInverse&&(u=!0)):l=!0}),!(u&&l)&&c.length&&(!i||this._coversAllTokens(c))){let r={idx:a,item:e,matches:c};t?(r.score=Gw(r.matches,{ignoreFieldNorm:n}),t.insert(r)):s.push(r)}}),s}_findMatches({key:e,value:t,searcher:n}){if(!KC(t))return[];let r=[];if(RC(t))t.forEach(({v:t,i,n:a})=>{if(!KC(t))return;let o=n.searchIn(t);if(o.isMatch){let n={score:o.score,key:e,value:t,idx:i,norm:a,indices:o.indices,hasInverse:o.hasInverse};o.termCount!==void 0&&(n.matchedMask=o.matchedMask,n.matchedTerms=o.matchedTerms,n.termCount=o.termCount),r.push(n)}});else{let{v:i,n:a}=t,o=n.searchIn(i);if(o.isMatch){let t={score:o.score,key:e,value:i,norm:a,indices:o.indices,hasInverse:o.hasInverse};o.termCount!==void 0&&(t.matchedMask=o.matchedMask,t.matchedTerms=o.matchedTerms,t.termCount=o.termCount),r.push(t)}}return r}_coversAllTokens(e){let t=e.length?e[0].termCount:void 0;if(t===void 0)return!0;if(t<=31){let n=0;for(let t=0;t<e.length;t++)n|=e[t].matchedMask||0;return n===2**t-1}let n=new Set;for(let t=0;t<e.length;t++){let r=e[t].matchedTerms;if(r)for(let e of r)n.add(e)}return n.size===t}};cT.version=`7.5.0`,cT.createIndex=hw,cT.parseIndex=gw,cT.config=$,cT.match=function(e,t,n){if(n&&n.useTokenSearch)throw Error(tw);return Lw(e,{...$,...n}).searchIn(t)},cT.parseQuery=Ww,Iw(Pw),Iw(tT),cT.use=function(...e){e.forEach(e=>Iw(e))};var lT=cT;function uT(...e){return Hb(dc(e))}function dT(e,t){return e?.files.find(e=>e.key===t.key&&e.base===t.base)}function fT(e){return e.replace(/^\/private(?=\/(tmp|var|etc)(\/|$))/,``).replace(/^\/(Users|home)\/[^/]+/,`~`)}function pT(e){return e.git?.root??(e.key.slice(0,e.key.lastIndexOf(`/`))||`/`)}function mT(e){return e.git?.branch??e.git?.commit}function hT(e){let t=e.git;if(!t)return null;let n=t.project??t.root;return{id:n,name:t.projectName??n.split(`/`).pop()??n}}function gT({machine:e}){return(0,V.jsxs)(`span`,{className:`flex items-center gap-[5px]`,children:[(0,V.jsx)(W,{name:e?.kind===`laptop`?`laptop`:`desktop`,size:13,strokeWidth:1.7,className:`text-faint`}),e?.name??`This Mac`]})}function _T({file:e,className:t,project:n=!0}){let r=mT(e),i=n?hT(e):null,a=r??fT(pT(e));return(0,V.jsxs)(`span`,{className:uT(`flex min-w-0 items-center gap-[5px] text-muted-foreground text-xs`,t),title:fT(e.key),children:[i&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(W,{name:`repo`,size:13,strokeWidth:1.7,className:`shrink-0 text-faint`}),(0,V.jsx)(`span`,{className:`min-w-0 shrink-0 truncate`,children:i.name}),(0,V.jsx)(`span`,{className:`text-faint`,children:`·`})]}),(0,V.jsx)(W,{name:r?`branch`:`folder`,size:13,strokeWidth:1.7,className:`shrink-0 text-faint`}),(0,V.jsx)(`span`,{className:`min-w-0 truncate`,dir:r?void 0:`rtl`,children:(0,V.jsx)(`bdi`,{children:a})})]})}function vT({file:e,name:t,machine:n}){let r=e&&hT(e),i=e&&mT(e),a=e&&!r&&pT(e);return(0,V.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[(0,V.jsx)(`b`,{className:`truncate font-semibold text-[14px]`,title:e&&fT(e.key),children:e?.name??t}),(r||a)&&(0,V.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[r&&(0,V.jsx)(yT,{icon:`repo`,label:bT(r),title:fT(r.id)}),i&&(0,V.jsx)(yT,{icon:`branch`,label:i,title:e?.git?.branch?i:`Detached at ${i}`}),a&&(0,V.jsx)(yT,{icon:`folder`,label:fT(a),title:fT(a),fromEnd:!0})]}),e?.locked&&(0,V.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:`Open it to let Ponzu read this folder.`}),(0,V.jsxs)(`div`,{className:`flex items-center gap-[5px] whitespace-nowrap border-t pt-2.5 text-muted-foreground text-xs`,children:[(0,V.jsx)(gT,{machine:n}),e?.modified?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`text-faint`,children:`·`}),xT(e.modified)]}):null]})]})}function yT({icon:e,label:t,title:n,fromEnd:r}){return(0,V.jsxs)(`span`,{className:`flex min-w-0 items-center gap-[5px] text-xs`,title:n,children:[(0,V.jsx)(W,{name:e,size:13,strokeWidth:1.7,className:`shrink-0 text-faint`}),(0,V.jsx)(`span`,{className:`min-w-0 truncate`,dir:r?`rtl`:void 0,children:(0,V.jsx)(`bdi`,{children:t})})]})}function bT(e){return e.id.startsWith(`/`)?e.name:e.id.slice(e.id.indexOf(`/`)+1)}function xT(e){if(!e)return`Edited a while ago`;let t=ax(e);if(t===`now`)return`Just now`;let n=t.slice(-1),r=Number(t.slice(0,-1));return n===`m`?`${CT(r,`min`)} ago`:n===`h`?`${CT(r,`hour`)} ago`:r===1?`Yesterday`:r<7?`${r} days ago`:new Date(e).toLocaleDateString(void 0,{month:`short`,day:`numeric`})}function ST(e){if(!e)return``;let t=ax(e);return t===`now`?`now`:/^\d+[mhd]$/.test(t)&&!(t.endsWith(`d`)&&Number(t.slice(0,-1))>=7)?t:new Date(e).toLocaleDateString(void 0,{month:`short`,day:`numeric`})}function CT(e,t){return`${e} ${t}${e===1?``:`s`}`}var wT=`z-50 min-w-[200px] rounded-[11px] bg-popover p-[5px] text-[13px] text-popover-foreground shadow-[0_0_0_1px_var(--hairline-strong),0_1px_2px_rgba(0,0,0,0.06),0_8px_28px_rgba(0,0,0,0.1)] outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0`,TT=`flex h-[30px] cursor-default select-none items-center gap-[9px] rounded-[7px] px-2.5 outline-none data-[disabled]:pointer-events-none data-[highlighted]:bg-accent data-[disabled]:opacity-40 [&_svg]:text-muted-foreground`,ET=`mx-1.5 my-1 h-px bg-[var(--hairline-strong)]`,DT=f_,OT=m_;function kT({className:e,sideOffset:t=6,...n}){return(0,V.jsx)(h_,{children:(0,V.jsx)(__,{"data-slot":`dropdown-menu-content`,sideOffset:t,className:uT(wT,e),...n})})}function AT({className:e,...t}){return(0,V.jsx)(v_,{"data-slot":`dropdown-menu-item`,className:uT(TT,e),...t})}function jT({className:e,...t}){return(0,V.jsx)(y_,{className:uT(ET,e),...t})}var MT=Yg,NT=Zg;function PT({className:e,...t}){return(0,V.jsx)(Qg,{children:(0,V.jsx)(e_,{"data-slot":`context-menu-content`,className:uT(wT,e),...t})})}function FT({className:e,...t}){return(0,V.jsx)(t_,{"data-slot":`context-menu-item`,className:uT(TT,e),...t})}function IT({className:e,...t}){return(0,V.jsx)(n_,{className:uT(ET,e),...t})}var LT=navigator.userAgent.includes(`Mac`),RT=LT?`⌘`:`Ctrl+`,zT=8,BT=12,VT=4,HT=1e4;function UT({catalog:e,onOpen:t,onOpenFolder:n,onNew:r,onShelve:i}){let[a,o]=(0,z.useState)(``),[s,c]=(0,z.useState)(`recent`),[l,u]=(0,z.useState)(null),[d,f]=(0,z.useState)(null),p=(0,z.useRef)(null);(0,z.useEffect)(()=>{let e=e=>{e.metaKey===LT&&e.ctrlKey===!LT&&!e.shiftKey&&!e.altKey&&e.key.toLowerCase()===`f`&&(e.preventDefault(),p.current?.focus(),p.current?.select())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]);let m=(0,z.useMemo)(()=>x(e?.files??[]),[e?.files]),h=e?.agents.some(e=>e.found&&e.connected)??!1,g=m.some(e=>e.machine===`local`),_=e!==null&&!g&&!(h&&m.length>0),v=eE(e!==null,_),b=a.trim(),C=yE(m),w=(0,z.useMemo)(()=>{let e={recent:[],archived:[]};for(let t of m)e[y(t)].push(t);return{recent:S(e.recent),archived:S(e.archived)}},[m]),T=w.recent,E=w[s],D=YT(E),O=l!==null&&D.some(e=>e.id===l)?l:null,k=O===null?E:E.filter(e=>(hT(e.file)?.id??qT)===O),A=e=>f({text:e instanceof Error&&e.message?e.message:`That didn’t work.`}),j=i?async(e,t)=>{let n=t=>Promise.all([e.file,...e.copies].map(e=>i(e,t)));try{await n(t)}catch(e){A(e);return}let r={archive:`restore`,restore:`archive`};f({text:KT[t](e.file.name),undo:()=>{f(null),n(r[t]).catch(A)}})}:void 0;return(0,z.useEffect)(()=>{if(!d)return;let e=setTimeout(()=>f(null),6e3);return()=>clearTimeout(e)},[d]),(0,V.jsxs)(`div`,{className:`h-full overflow-auto rounded-xl bg-home`,children:[(0,V.jsxs)(`div`,{className:`mx-auto flex max-w-[1088px] flex-col gap-7 px-8 pt-12 pb-12`,children:[(0,V.jsx)(Yb,{children:(0,V.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,V.jsxs)(`label`,{className:`search flex h-10 flex-1 items-center gap-2.5 rounded-[10px] bg-card px-3.5 text-[14px]`,children:[(0,V.jsx)(W,{name:`search`,size:18,className:`shrink-0 text-faint`}),(0,V.jsx)(`input`,{ref:p,value:a,onChange:e=>o(e.target.value),onKeyDown:e=>{e.key===`Escape`&&(o(``),e.currentTarget.blur())},placeholder:`Search designs`,spellCheck:!1,className:`h-full min-w-0 flex-1 bg-transparent outline-none placeholder:text-faint`}),b?(0,V.jsx)(`button`,{type:`button`,"aria-label":`Clear search`,className:`grid size-5 place-items-center rounded text-faint hover:text-foreground`,onClick:()=>{o(``),p.current?.focus()},children:(0,V.jsx)(W,{name:`close`,size:14,strokeWidth:1.8})}):(0,V.jsxs)(`span`,{className:`text-faint text-xs`,children:[RT,`F`]})]}),(0,V.jsx)(`span`,{className:`w-1.5`}),n&&(0,V.jsx)(aE,{label:`Open`,keys:[`⌘`,`O`],icon:`folderOpen`,onClick:n}),r&&(0,V.jsx)(aE,{label:`New`,keys:[`⌘`,`N`],icon:`add`,onClick:r})]})}),e===null||_&&v?(0,V.jsx)(rE,{}):b?(0,V.jsx)(TE,{query:b,cards:T,onOpen:t,onShelve:j,live:C}):_?(0,V.jsx)(sE,{catalog:e,files:m,onOpen:t,live:C}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`div`,{className:`-mb-3.5 flex h-7 items-center justify-between gap-4`,children:[(0,V.jsx)(JT,{view:s,has:{recent:!0,archived:w.archived.length>0},onView:c}),D.length>1&&(0,V.jsx)(XT,{projects:D,scope:O,onScope:u})]}),k.length?(0,V.jsx)(dE,{children:k.map(e=>(0,V.jsx)(fE,{card:e,onOpen:t,onShelve:j,live:C.has(e.file.id),short:!!O},e.file.id))}):(0,V.jsx)(`p`,{className:`mt-6 text-center text-muted-foreground`,children:GT[s]})]})]}),d&&(0,V.jsx)(iE,{text:d.text,onUndo:d.undo,onClose:()=>f(null)})]})}var WT=[{id:`recent`,label:`Recent`,icon:`clock`},{id:`archived`,label:`Archived`,icon:`shelved`}],GT={recent:`Nothing here yet.`,archived:`Nothing archived.`},KT={archive:e=>`Archived “${e}”. It comes back when you open it or an agent edits it.`,restore:e=>`Restored “${e}”.`},qT=``;function JT({view:e,has:t,onView:n}){return(0,V.jsx)(`div`,{className:`flex items-center gap-[18px] text-[13px]`,role:`tablist`,children:WT.map(r=>r.id===`recent`||t[r.id]||e===r.id?(0,V.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":e===r.id,onClick:()=>n(r.id),className:uT(`group flex items-center gap-1.5`,e===r.id?`font-medium text-foreground`:`text-muted-foreground hover:text-foreground`),children:[(0,V.jsx)(W,{name:r.icon,size:14,className:e===r.id?`text-foreground`:`text-faint group-hover:text-muted-foreground`}),r.label]},r.id):null)})}function YT(e){return(0,z.useMemo)(()=>{let t=new Map;for(let{file:n}of e){let e=hT(n),r=e?.id??qT,i=t.get(r);i?i.count++:t.set(r,{id:r,name:e?.name??`Not in a project`,count:1})}let n=new Map;for(let e of t.values())n.set(e.name,(n.get(e.name)??0)+1);for(let e of t.values())e.id!==qT&&(n.get(e.name)??0)>1&&(e.name=e.id.split(`/`).slice(-2).join(`/`));return[...t.values()].sort((e,t)=>Number(e.id===qT)-Number(t.id===qT)||t.count-e.count||e.name.localeCompare(t.name))},[e])}function XT({projects:e,scope:t,onScope:n}){let r=e.find(e=>e.id===t);return(0,V.jsxs)(DT,{children:[(0,V.jsx)(OT,{asChild:!0,children:(0,V.jsxs)(`button`,{type:`button`,"aria-label":`Project: ${r?r.name:`All projects`}`,className:uT(`flex h-7 items-center gap-1.5 whitespace-nowrap rounded-[7px] pr-2 pl-2.5 text-[13px] outline-none hover:bg-accent focus-visible:shadow-[0_0_0_2px_var(--ring)] data-[state=open]:bg-accent`,r?`font-medium text-foreground`:`text-muted-foreground hover:text-foreground data-[state=open]:text-foreground`),children:[(0,V.jsx)(W,{name:r?r.id===qT?`loose`:`folder`:`folders`,size:14,strokeWidth:1.6,className:r?`text-foreground`:void 0}),r?r.name:`All projects`,(0,V.jsx)(W,{name:`chevronDown`,size:13,strokeWidth:2,className:`text-faint`})]})}),(0,V.jsxs)(kT,{align:`end`,className:`min-w-56`,children:[(0,V.jsx)(ZT,{on:t===null,onSelect:()=>n(null),icon:`folders`,children:`All projects`}),(0,V.jsx)(jT,{}),e.map(e=>(0,V.jsx)(ZT,{on:t===e.id,onSelect:()=>n(e.id),icon:e.id===qT?`loose`:`folder`,title:e.id||void 0,children:e.name},e.id))]})]})}function ZT({on:e,onSelect:t,icon:n,title:r,children:i}){return(0,V.jsxs)(AT,{onSelect:t,title:r,"aria-checked":e,role:`menuitemcheckbox`,children:[(0,V.jsx)(`span`,{className:`grid w-3.5 place-items-center`,children:e&&(0,V.jsx)(W,{name:`check`,size:14,strokeWidth:2})}),(0,V.jsx)(`span`,{className:`grid w-3.5 place-items-center text-muted-foreground`,children:n&&(0,V.jsx)(W,{name:n,size:14,strokeWidth:1.6})}),(0,V.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:i})]})}var QT=`ponzu.setUp`,$T=3e4;function eE(e,t){let[n,r]=(0,z.useState)(()=>{try{return localStorage.getItem(QT)===`1`}catch{return!1}}),[i,a]=(0,z.useState)(null),[,o]=(0,z.useState)(0),s=e&&!t;return(0,z.useEffect)(()=>{if(s){r(!0);try{localStorage.setItem(QT,`1`)}catch{}}},[s]),(0,z.useEffect)(()=>{a(e=>t?e??Date.now():null)},[t]),(0,z.useEffect)(()=>{if(i===null)return;let e=setTimeout(()=>o(Date.now()),i+$T-Date.now());return()=>clearTimeout(e)},[i]),!n||!t?!1:i===null||Date.now()-i<$T}var tE=[`62%`,`48%`,`71%`,`55%`,`44%`,`66%`,`52%`,`60%`],nE=[`34%`,`26%`,`40%`,`30%`,`24%`,`36%`,`28%`,`32%`];function rE(){return aC(!0)?(0,V.jsxs)(`div`,{className:`pz-appear flex flex-col gap-7`,role:`status`,"aria-label":`Loading designs`,children:[(0,V.jsx)(`div`,{className:`-mb-3.5 flex h-7 items-center text-[13px]`,children:(0,V.jsxs)(`span`,{className:`flex items-center gap-1.5 font-medium text-foreground`,children:[(0,V.jsx)(W,{name:`clock`,size:14,className:`text-foreground`}),`Recent`]})}),(0,V.jsx)(dE,{children:tE.map((e,t)=>(0,V.jsxs)(`div`,{className:`flex flex-col gap-2.5 motion-safe:animate-pulse`,style:{animationDelay:`${t*90}ms`},children:[(0,V.jsx)(`div`,{className:`aspect-[16/11] rounded-xl bg-preview shadow-[0_0_0_1px_var(--hairline)]`}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-0.5 px-0.5`,children:[(0,V.jsxs)(`span`,{className:`flex h-5 items-center gap-2`,children:[(0,V.jsx)(`span`,{className:`flex-1`,children:(0,V.jsx)(`span`,{className:`block h-[11px] rounded-full bg-secondary`,style:{width:e}})}),(0,V.jsx)(`span`,{className:`h-[9px] w-5 rounded-full bg-secondary`})]}),(0,V.jsxs)(`span`,{className:`flex h-4 items-center gap-[5px]`,children:[(0,V.jsx)(`span`,{className:`size-[11px] shrink-0 rounded-[3px] bg-secondary`}),(0,V.jsx)(`span`,{className:`h-[9px] rounded-full bg-secondary`,style:{width:nE[t]}}),(0,V.jsx)(`span`,{className:`size-[11px] shrink-0 rounded-[3px] bg-secondary`}),(0,V.jsx)(`span`,{className:`h-[9px] w-[22%] rounded-full bg-secondary`})]})]})]},t))})]}):null}function iE({text:e,onUndo:t,onClose:n}){return(0,V.jsxs)(`div`,{role:`status`,className:`fixed bottom-6 left-1/2 z-50 flex h-10 -translate-x-1/2 items-center gap-3.5 rounded-xl bg-foreground pr-2 pl-3.5 text-[13px] text-home shadow-[0_1px_2px_rgba(0,0,0,0.06),0_8px_28px_rgba(0,0,0,0.1)]`,children:[(0,V.jsx)(`span`,{children:e}),t?(0,V.jsx)(`button`,{type:`button`,onClick:t,className:`flex h-7 items-center rounded-lg bg-home/15 px-2.5 font-medium hover:bg-home/25`,children:`Undo`}):(0,V.jsx)(`button`,{type:`button`,"aria-label":`Dismiss`,onClick:n,className:`px-1.5 opacity-70`,children:(0,V.jsx)(W,{name:`close`,size:13})})]})}function aE({label:e,keys:t,icon:n,onClick:r}){return(0,V.jsx)(Xb,{label:e,keys:t,children:(0,V.jsx)(`button`,{type:`button`,"aria-label":e,onClick:r,className:`grid size-10 place-items-center rounded-[10px] text-muted-foreground hover:bg-accent hover:text-foreground`,children:(0,V.jsx)(W,{name:n,size:20,strokeWidth:1.5})})})}var oE=`Design a landing page for my app in Ponzu.`;function sE({catalog:e,files:t,onOpen:n,live:r}){let[i,a]=(0,z.useState)(!1),o=e?.agents.filter(e=>e.found)??[],s=o.some(e=>e.connected),c=t.find(e=>e.busy&&e.machine===`local`),l=!!c;return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`div`,{className:`mt-3 flex max-w-[640px] flex-col gap-4`,children:[(0,V.jsx)(`h1`,{className:`m-0 font-semibold text-[22px] leading-7 tracking-[-0.02em]`,children:`Get started`}),(0,V.jsxs)(`div`,{className:`flex flex-col rounded-[14px] bg-card shadow-[0_0_0_1px_var(--hairline),0_1px_2px_rgba(0,0,0,0.03)]`,children:[(0,V.jsx)(cE,{n:1,done:s,active:!s,title:o.length?s?`Your agents are connected`:window.ponzuDesktop?`Connecting your agents…`:`Connect your agents`:`Install a coding agent`,children:o.length?(0,V.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[o.map(e=>(0,V.jsxs)(`span`,{className:`flex h-[30px] items-center gap-2 rounded-lg bg-secondary pr-2.5 pl-[9px] text-[12.5px]`,children:[(0,V.jsx)(lc,{client:e.id===`codex`?`openai`:e.id,size:14}),e.label,e.connected?(0,V.jsx)(W,{name:`check`,size:13,strokeWidth:2,className:`text-online`}):window.ponzuDesktop?(0,V.jsx)(`span`,{className:`size-3 animate-spin rounded-full border-[1.5px] border-current border-r-transparent text-faint`}):(0,V.jsx)(`span`,{className:`text-faint`,children:`not set up`})]},e.id)),!s&&!window.ponzuDesktop&&(0,V.jsxs)(`span`,{className:`text-[12.5px] text-muted-foreground`,children:[`Run `,(0,V.jsx)(`code`,{className:`font-mono text-xs`,children:`ponzu install`})]})]}):(0,V.jsx)(`p`,{className:`m-0 text-[12.5px] text-muted-foreground`,children:`Ponzu works with Claude Code, Codex and Cursor. Install one and it connects on its own.`})}),(0,V.jsx)(`i`,{className:`mx-5 block h-px bg-hairline`}),(0,V.jsx)(cE,{n:2,done:l,active:s&&!l,title:`Ask one for a design`,children:l?(0,V.jsxs)(`p`,{className:`m-0 text-[12.5px] text-muted-foreground`,children:[lE(c?.busy,e?.agent?.name),` is designing`,` `,(0,V.jsx)(`b`,{className:`font-medium text-foreground`,children:c?.name}),`.`]}):(0,V.jsxs)(`div`,{className:`flex h-11 items-center gap-3 rounded-[10px] bg-secondary pr-3 pl-3.5 shadow-[inset_0_0_0_1px_var(--hairline)]`,children:[(0,V.jsx)(`span`,{className:`flex-1 font-mono text-[12.5px]`,children:oE}),(0,V.jsxs)(`button`,{type:`button`,onClick:()=>{navigator.clipboard.writeText(oE),a(!0),setTimeout(()=>a(!1),1400)},className:uT(`flex items-center gap-1.5 text-[12.5px]`,i?`text-online`:`text-muted-foreground hover:text-foreground`),children:[(0,V.jsx)(W,{name:i?`check`:`copy`,size:15}),i?`Copied`:`Copy`]})]})})]})]}),(0,V.jsx)(uE,{left:`Recent`}),t.length?(0,V.jsx)(dE,{children:S(t).map(e=>(0,V.jsx)(fE,{card:e,onOpen:n,live:r.has(e.file.id)},e.file.id))}):(0,V.jsx)(dE,{children:[0,1,2,3].map(e=>(0,V.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[(0,V.jsx)(`div`,{className:`ghost aspect-[16/11] rounded-xl`}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-1.5 px-0.5`,children:[(0,V.jsx)(`i`,{className:`block h-[9px] w-[46%] rounded bg-secondary`}),(0,V.jsx)(`i`,{className:`block h-2 w-[30%] rounded bg-secondary/70`})]})]},e))})]})}function cE({n:e,done:t,active:n,title:r,children:i}){return(0,V.jsxs)(`div`,{className:`flex gap-3.5 px-5 py-[18px]`,children:[t?(0,V.jsx)(`span`,{className:`grid size-[22px] shrink-0 place-items-center rounded-full bg-foreground text-background`,children:(0,V.jsx)(W,{name:`check`,size:13,strokeWidth:2.2})}):(0,V.jsx)(`span`,{className:uT(`grid size-[22px] shrink-0 place-items-center rounded-full font-semibold text-xs`,n?`bg-flesh text-[#0e0e0e]`:`text-faint shadow-[inset_0_0_0_1.5px_var(--hairline-strong)]`),children:e}),(0,V.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-2.5 pt-0.5`,children:[(0,V.jsx)(`span`,{className:uT(`font-medium text-[14px]`,!t&&!n&&`text-muted-foreground`),children:r}),i]})]})}function lE(e,t){return e===`claude`?`Claude`:e===`openai`?`Codex`:e===`cursor`?`Cursor`:t??`Your agent`}function uE({left:e}){return(0,V.jsx)(`div`,{className:`-mb-3.5 text-muted-foreground text-xs`,children:e})}function dE({children:e,columns:t=4}){return(0,V.jsx)(`div`,{className:uT(`grid gap-x-5 gap-y-7`,t===4?`grid-cols-4 max-[1100px]:grid-cols-3 max-[820px]:grid-cols-2`:`grid-cols-3 max-[820px]:grid-cols-2`),children:e})}function fE({card:e,onOpen:t,onShelve:n,match:r,pathMatch:i,live:a,short:o}){let{file:s,copies:c}=e,l=!!s.busy,u=y(s)===`archived`,d=()=>t({key:s.key,base:s.base}),f=(0,V.jsxs)(`div`,{role:`button`,tabIndex:0,className:`group relative flex min-w-0 cursor-default flex-col gap-2.5 text-left outline-none`,onClick:d,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),d())},title:s.locked?`Open it to let Ponzu read this folder.`:void 0,children:[(0,V.jsx)(`div`,{className:`relative aspect-[16/11] overflow-hidden rounded-xl bg-preview shadow-[0_0_0_1px_var(--hairline)] transition-shadow group-hover:shadow-[0_0_0_1px_var(--hairline-strong),0_4px_14px_rgba(0,0,0,0.06)] group-focus-visible:shadow-[0_0_0_2px_var(--ring)]`,children:(0,V.jsxs)(`div`,{className:uT(`absolute inset-0`,u&&`opacity-55 grayscale`),children:[(0,V.jsx)(vE,{src:s.preview,working:l}),a&&(0,V.jsx)(SE,{file:s})]})}),(0,V.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5 px-0.5`,children:[(0,V.jsxs)(`span`,{className:`flex min-w-0 items-baseline gap-2`,children:[(0,V.jsx)(`span`,{className:uT(`min-w-0 flex-1 truncate font-medium text-[13.5px]`,l&&`pz-shimmer`,u&&`text-muted-foreground`),children:(0,V.jsx)(OE,{text:s.name,ranges:r})}),(0,V.jsx)(`span`,{className:`shrink-0 text-faint text-xs tabular-nums`,title:u&&s.archived?`Archived ${new Date(s.archived).toLocaleString()}`:void 0,children:s.busy?(0,V.jsx)(rC,{columns:BT,className:`self-center text-[17px]`,label:`${lE(s.busy)} is working`,title:`${lE(s.busy)} is working`}):ST(s.modified)})]}),u&&!i?(0,V.jsx)(pE,{file:s}):i?(0,V.jsx)(`span`,{className:`truncate font-mono text-[11px] text-muted-foreground`,dir:`rtl`,children:(0,V.jsx)(`bdi`,{children:(0,V.jsx)(OE,{text:s.key,ranges:i})})}):(0,V.jsxs)(`span`,{className:`flex min-w-0 items-center gap-[5px] text-muted-foreground text-xs`,children:[c.length?(0,V.jsx)(hE,{card:e}):(0,V.jsx)(_T,{file:s,project:!o,className:`min-w-0 shrink`}),o&&s.git&&!c.length&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`text-faint`,children:`·`}),(0,V.jsx)(`span`,{className:`min-w-0 shrink-[2] truncate`,children:pT(s).split(`/`).pop()})]})]})]})]});return n?(0,V.jsxs)(MT,{children:[(0,V.jsx)(NT,{asChild:!0,children:f}),(0,V.jsx)(PT,{onClick:e=>e.stopPropagation(),children:(0,V.jsx)(_E,{card:e,onOpen:t,onShelve:n})})]}):f}function pE({file:e}){let[t,n]=e.archivedFor===`idle`?[`clock`,`Not opened since ${mE(e.active??e.modified)}`]:e.archivedFor===`scratch`||e.shelf===`scratch`?[`bot`,`Made by an agent`]:e.archivedFor===`temp`?[`bot`,`In a temporary folder`]:[`shelved`,`You archived it`];return(0,V.jsxs)(`span`,{className:`flex min-w-0 items-center gap-[5px] text-muted-foreground text-xs`,title:e.archived?`Archived ${new Date(e.archived).toLocaleString()}`:void 0,children:[(0,V.jsx)(W,{name:t,size:13,strokeWidth:1.7,className:`shrink-0 text-faint`}),(0,V.jsx)(`span`,{className:`truncate`,children:n})]})}function mE(e){let t=new Date(e);return t.toLocaleDateString(void 0,{month:`short`,day:`numeric`,...t.getFullYear()===new Date().getFullYear()?{}:{year:`numeric`}})}function hE({card:e}){let t=gE(e),n=[e.file,...e.copies].every(e=>e.git?.branch);return(0,V.jsxs)(`span`,{className:`flex min-w-0 items-center gap-[5px] text-muted-foreground text-xs`,title:`The same design, unchanged, on ${t.map(e=>e.label).join(`, `)}`,children:[(0,V.jsx)(W,{name:`branch`,size:13,strokeWidth:1.7,className:`shrink-0 text-faint`}),(0,V.jsxs)(`span`,{className:`truncate`,children:[t.length,` `,n?`branches`:`checkouts`]})]})}function gE(e){return[e.file,...e.copies].map(e=>({file:e,label:mT(e)??fT(pT(e))})).sort((e,t)=>e.label.localeCompare(t.label))}function _E({card:e,onOpen:t,onShelve:n}){let{file:r,copies:i}=e,a=window.ponzuDesktop,o=r.machine===`local`;return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(FT,{onSelect:()=>t({key:r.key,base:r.base}),children:[(0,V.jsx)(W,{name:`folderOpen`,size:15}),`Open`]}),i.length>0&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(IT,{}),(0,V.jsx)(`div`,{className:`px-2.5 pt-1 pb-0.5 text-[11.5px] text-faint`,children:`Open on`}),(0,V.jsx)(`div`,{className:`max-h-[225px] overflow-y-auto`,children:gE(e).map(({file:e,label:n})=>(0,V.jsxs)(FT,{title:fT(e.key),onSelect:()=>t({key:e.key,base:e.base}),children:[(0,V.jsx)(W,{name:`branch`,size:15}),(0,V.jsx)(`span`,{className:`min-w-0 max-w-[240px] truncate`,children:n})]},e.id))}),(0,V.jsx)(IT,{})]}),a&&o&&(0,V.jsxs)(FT,{onSelect:()=>a.reveal(r.key),children:[(0,V.jsx)(W,{name:`folder`,size:15}),`Show in Finder`]}),(0,V.jsxs)(FT,{onSelect:()=>void navigator.clipboard.writeText(r.key),children:[(0,V.jsx)(W,{name:`copy`,size:15}),`Copy path`]}),(0,V.jsx)(IT,{}),y(r)===`archived`?(0,V.jsxs)(FT,{onSelect:()=>void n(e,`restore`),children:[(0,V.jsx)(W,{name:`unarchive`,size:15}),`Restore`]}):(0,V.jsxs)(FT,{onSelect:()=>void n(e,`archive`),children:[(0,V.jsx)(W,{name:`shelved`,size:15}),`Archive`]})]})}function vE({src:e,working:t}){let[n,r]=(0,z.useState)(!1);return(0,z.useEffect)(()=>r(!1),[e]),!e||n?(0,V.jsx)(`span`,{className:`absolute inset-0 grid place-items-center text-faint`,children:t?(0,V.jsx)(rC,{columns:zT,className:`text-[30px]`}):(0,V.jsx)(W,{name:`blank`,size:28,strokeWidth:1.3})}):(0,V.jsxs)(`picture`,{children:[(0,V.jsx)(`source`,{srcSet:`${e}&theme=dark`,media:`(prefers-color-scheme: dark)`}),(0,V.jsx)(`img`,{src:e,alt:``,loading:`lazy`,draggable:!1,onError:()=>r(!0),className:`absolute inset-0 size-full object-contain`})]})}function yE(e){let t=(0,z.useRef)(new Set),n=(0,z.useRef)(new Map),[,r]=(0,z.useState)(0),i=Date.now();for(let r of e)r.busy?(t.current.add(r.id),n.current.delete(r.id)):t.current.delete(r.id)&&n.current.set(r.id,i+HT);let a=new Set;for(let t of e){if(a.size===VT)break;(t.busy||(n.current.get(t.id)??0)>i)&&a.add(t.id)}let o=Math.min(...[...a].map(e=>n.current.get(e)??0).filter(e=>e>i));return(0,z.useEffect)(()=>{if(!Number.isFinite(o))return;let e=setTimeout(()=>r(e=>e+1),o-Date.now()+50);return()=>clearTimeout(e)},[o]),a}var bE=window.matchMedia(`(prefers-color-scheme: dark)`);function xE(){let[e,t]=(0,z.useState)(bE.matches);return(0,z.useEffect)(()=>{let e=()=>t(bE.matches);return bE.addEventListener(`change`,e),()=>bE.removeEventListener(`change`,e)},[]),e?`dark`:`light`}function SE({file:e}){let t=xE(),[n,r]=(0,z.useState)(null);return(0,z.useEffect)(()=>{let t=new wx(`${window.location.origin}${e.base}`,e.key,{watch:!0});return r(t),()=>t.close()},[e.base,e.key]),n?(0,V.jsx)(CE,{source:n,scheme:t}):null}function CE({source:e,scheme:t}){let{doc:n}=HS(e),r=(0,z.useMemo)(()=>n&&Le(n,t),[n,t]),i=(0,z.useRef)(null),[a,o]=(0,z.useState)(null),s=r?Number.parseFloat(r.root.style.width):0,c=r?Number.parseFloat(r.root.style.height):0;return(0,z.useEffect)(()=>{let e=i.current;if(!e||!s||!c)return;let t=()=>o(Math.min(e.clientWidth/s,e.clientHeight/c));t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[s,c]),(0,V.jsx)(`div`,{ref:i,inert:!0,"aria-hidden":!0,className:uT(`pointer-events-none absolute inset-0 grid place-items-center overflow-hidden transition-opacity duration-300`,r&&a?`opacity-100`:`opacity-0`),children:r&&(0,V.jsx)(`div`,{style:{width:s*(a??0),height:c*(a??0)},children:(0,V.jsx)(`div`,{style:{width:s,height:c,transform:`scale(${a??0})`,transformOrigin:`0 0`},children:(0,V.jsx)(kr,{artboard:r,tokens:n.tokens,assetBase:e.assetBase,colorScheme:t})})})})}var wE={includeMatches:!0,ignoreLocation:!0,threshold:.32,minMatchCharLength:2};function TE({query:e,cards:t,onOpen:n,onShelve:r,live:i}){let a=(0,z.useMemo)(()=>new lT(t,{...wE,keys:[{name:`file.name`,weight:3},{name:`file.key`,weight:.5}]}),[t]),o=(0,z.useMemo)(()=>t.flatMap(({file:e})=>e.artboards.map(t=>({file:e,artboard:t,page:e.pages.find(e=>e.id===t.page)?.name}))),[t]),s=(0,z.useMemo)(()=>new lT(o,{...wE,keys:[{name:`artboard.name`,weight:3},{name:`page`,weight:1}]}),[o]),c=a.search(e,{limit:24}),l=s.search(e,{limit:30});return!c.length&&!l.length?(0,V.jsxs)(`p`,{className:`mt-6 text-center text-muted-foreground`,children:[`Nothing matches “`,e,`”.`]}):(0,V.jsxs)(V.Fragment,{children:[c.length>0&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(uE,{left:`Files`}),(0,V.jsx)(dE,{children:c.map(({item:e,matches:t})=>(0,V.jsx)(fE,{card:e,onOpen:n,onShelve:r,live:i.has(e.file.id),match:DE(t,`file.name`),pathMatch:DE(t,`file.name`)?void 0:DE(t,`file.key`)},e.file.id))})]}),l.length>0&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(uE,{left:`Frames`}),(0,V.jsx)(dE,{columns:3,children:l.map(({item:e,matches:t})=>(0,V.jsx)(EE,{hit:e,match:DE(t,`artboard.name`),pageMatch:DE(t,`page`),onOpen:n},`${e.file.id}:${e.artboard.id}`))})]})]})}function EE({hit:e,match:t,pageMatch:n,onOpen:r}){let[i,a]=(0,z.useState)(!1);return(0,V.jsxs)(`button`,{type:`button`,className:`group flex min-w-0 flex-col gap-2.5 text-left`,onClick:()=>r({key:e.file.key,base:e.file.base}),children:[(0,V.jsx)(`div`,{className:`grid h-[200px] place-items-center overflow-hidden rounded-xl bg-preview p-5 shadow-[0_0_0_1px_var(--hairline)] transition-shadow group-hover:shadow-[0_0_0_1px_var(--hairline-strong),0_4px_14px_rgba(0,0,0,0.06)]`,children:i?(0,V.jsx)(W,{name:`board`,size:28,strokeWidth:1.3,className:`text-faint`}):(0,V.jsx)(`img`,{src:e.artboard.thumb,alt:``,loading:`lazy`,draggable:!1,onError:()=>a(!0),className:`block max-h-[160px] max-w-full object-contain shadow-[0_0_0_1px_rgba(0,0,0,0.06),0_2px_6px_rgba(0,0,0,0.06)] dark:shadow-[0_0_0_1px_rgba(255,255,255,0.08)]`})}),(0,V.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5 px-0.5`,children:[(0,V.jsx)(`span`,{className:`truncate font-medium text-[13.5px]`,children:(0,V.jsx)(OE,{text:e.artboard.name,ranges:t})}),(0,V.jsx)(`span`,{className:`flex min-w-0 items-center gap-[5px] text-muted-foreground text-xs`,children:(0,V.jsxs)(`span`,{className:`truncate`,children:[e.page?(0,V.jsx)(OE,{text:e.page,ranges:n}):`Artboard`,` in`,` `,e.file.name]})})]})]})}function DE(e,t){return e?.find(e=>e.key===t)?.indices}function OE({text:e,ranges:t}){let n=(t??[]).filter(([e,t])=>t>e).sort((e,t)=>e[0]-t[0]);if(!n.length)return(0,V.jsx)(V.Fragment,{children:e});let r=[],i=0;for(let[t,a]of n)t<i||(r.push(e.slice(i,t)),r.push((0,V.jsx)(`mark`,{className:`rounded-[2px] bg-highlight text-inherit`,children:e.slice(t,a+1)},t)),i=a+1);return r.push(e.slice(i)),(0,V.jsx)(V.Fragment,{children:r})}function kE({...e}){return(0,V.jsx)(mf,{"data-slot":`dialog`,...e})}function AE({...e}){return(0,V.jsx)(vf,{"data-slot":`dialog-portal`,...e})}function jE({className:e,...t}){return(0,V.jsx)(bf,{"data-slot":`dialog-overlay`,className:uT(`fixed inset-0 z-50 bg-black/40 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0`,e),...t})}function ME({className:e,children:t,showCloseButton:n=!0,...r}){return(0,V.jsxs)(AE,{"data-slot":`dialog-portal`,children:[(0,V.jsx)(jE,{}),(0,V.jsxs)(wf,{"data-slot":`dialog-content`,className:uT(`fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-xl bg-popover p-6 text-popover-foreground shadow-[0_1px_2px_rgba(0,0,0,0.06),0_8px_28px_rgba(0,0,0,0.1)] outline-none duration-200 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-md`,e),...r,children:[t,n&&(0,V.jsxs)(jf,{"data-slot":`dialog-close`,className:`absolute top-4 right-4 grid size-7 place-items-center rounded-lg text-muted-foreground outline-none transition-colors hover:bg-accent hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50`,children:[(0,V.jsx)(W,{name:`close`,size:15}),(0,V.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]})}function NE({className:e,...t}){return(0,V.jsx)(Of,{"data-slot":`dialog-title`,className:uT(`font-semibold text-[17px] leading-none tracking-[-0.01em]`,e),...t})}function PE({className:e,...t}){return(0,V.jsx)(kf,{"data-slot":`dialog-description`,className:uT(`text-muted-foreground`,e),...t})}var FE=(e=>(e[e.Border=-1]=`Border`,e[e.Data=0]=`Data`,e[e.Function=1]=`Function`,e[e.Position=2]=`Position`,e[e.Timing=3]=`Timing`,e[e.Alignment=4]=`Alignment`,e))(FE||{}),IE=[0,1],LE=[1,0],RE=[2,3],zE=[3,2],BE={L:IE,M:LE,Q:RE,H:zE},VE=/^\d*$/,HE=/^[A-Z0-9 $%*+./:-]*$/,UE=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`,WE=1,GE=40,KE=3,qE=3,JE=40,YE=10,XE=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],ZE=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],QE=class{constructor(e,t,n,r){if(this.version=e,this.ecc=t,e<WE||e>GE)throw RangeError(`Version value out of range`);if(r<-1||r>7)throw RangeError(`Mask value out of range`);this.size=e*4+17;let i=Array.from({length:this.size}).fill(!1);for(let e=0;e<this.size;e++)this.modules.push(i.slice()),this.types.push(i.map(()=>0));this.drawFunctionPatterns();let a=this.addEccAndInterleave(n);if(this.drawCodewords(a),r===-1){let e=1e9;for(let t=0;t<8;t++){this.applyMask(t),this.drawFormatBits(t);let n=this.getPenaltyScore();n<e&&(r=t,e=n),this.applyMask(t)}}this.mask=r,this.applyMask(r),this.drawFormatBits(r)}size;mask;modules=[];types=[];getModule(e,t){return e>=0&&e<this.size&&t>=0&&t<this.size&&this.modules[t][e]}drawFunctionPatterns(){for(let e=0;e<this.size;e++)this.setFunctionModule(6,e,e%2==0,FE.Timing),this.setFunctionModule(e,6,e%2==0,FE.Timing);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);let e=this.getAlignmentPatternPositions(),t=e.length;for(let n=0;n<t;n++)for(let r=0;r<t;r++)n===0&&r===0||n===0&&r===t-1||n===t-1&&r===0||this.drawAlignmentPattern(e[n],e[r]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(e){let t=this.ecc[1]<<3|e,n=t;for(let e=0;e<10;e++)n=n<<1^(n>>>9)*1335;let r=(t<<10|n)^21522;for(let e=0;e<=5;e++)this.setFunctionModule(8,e,eD(r,e));this.setFunctionModule(8,7,eD(r,6)),this.setFunctionModule(8,8,eD(r,7)),this.setFunctionModule(7,8,eD(r,8));for(let e=9;e<15;e++)this.setFunctionModule(14-e,8,eD(r,e));for(let e=0;e<8;e++)this.setFunctionModule(this.size-1-e,8,eD(r,e));for(let e=8;e<15;e++)this.setFunctionModule(8,this.size-15+e,eD(r,e));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let e=this.version;for(let t=0;t<12;t++)e=e<<1^(e>>>11)*7973;let t=this.version<<12|e;for(let e=0;e<18;e++){let n=eD(t,e),r=this.size-11+e%3,i=Math.floor(e/3);this.setFunctionModule(r,i,n),this.setFunctionModule(i,r,n)}}drawFinderPattern(e,t){for(let n=-4;n<=4;n++)for(let r=-4;r<=4;r++){let i=Math.max(Math.abs(r),Math.abs(n)),a=e+r,o=t+n;a>=0&&a<this.size&&o>=0&&o<this.size&&this.setFunctionModule(a,o,i!==2&&i!==4,FE.Position)}}drawAlignmentPattern(e,t){for(let n=-2;n<=2;n++)for(let r=-2;r<=2;r++)this.setFunctionModule(e+r,t+n,Math.max(Math.abs(r),Math.abs(n))!==1,FE.Alignment)}setFunctionModule(e,t,n,r=FE.Function){this.modules[t][e]=n,this.types[t][e]=r}addEccAndInterleave(e){let t=this.version,n=this.ecc;if(e.length!==hD(t,n))throw RangeError(`Invalid argument`);let r=ZE[n[0]][t],i=XE[n[0]][t],a=Math.floor(mD(t)/8),o=r-a%r,s=Math.floor(a/r),c=[],l=gD(i);for(let t=0,n=0;t<r;t++){let r=e.slice(n,n+s-i+(t<o?0:1));n+=r.length;let a=_D(r,l);t<o&&r.push(0),c.push(r.concat(a))}let u=[];for(let e=0;e<c[0].length;e++)c.forEach((t,n)=>{(e!==s-i||n>=o)&&u.push(t[e])});return u}drawCodewords(e){if(e.length!==Math.floor(mD(this.version)/8))throw RangeError(`Invalid argument`);let t=0;for(let n=this.size-1;n>=1;n-=2){n===6&&(n=5);for(let r=0;r<this.size;r++)for(let i=0;i<2;i++){let a=n-i,o=n+1&2?r:this.size-1-r;!this.types[o][a]&&t<e.length*8&&(this.modules[o][a]=eD(e[t>>>3],7-(t&7)),t++)}}}applyMask(e){if(e<0||e>7)throw RangeError(`Mask value out of range`);for(let t=0;t<this.size;t++)for(let n=0;n<this.size;n++){let r;switch(e){case 0:r=(n+t)%2==0;break;case 1:r=t%2==0;break;case 2:r=n%3==0;break;case 3:r=(n+t)%3==0;break;case 4:r=(Math.floor(n/3)+Math.floor(t/2))%2==0;break;case 5:r=n*t%2+n*t%3==0;break;case 6:r=(n*t%2+n*t%3)%2==0;break;case 7:r=((n+t)%2+n*t%3)%2==0;break;default:throw Error(`Unreachable`)}!this.types[t][n]&&r&&(this.modules[t][n]=!this.modules[t][n])}}getPenaltyScore(){let e=0;for(let t=0;t<this.size;t++){let n=!1,r=0,i=[0,0,0,0,0,0,0];for(let a=0;a<this.size;a++)this.modules[t][a]===n?(r++,r===5?e+=KE:r>5&&e++):(this.finderPenaltyAddHistory(r,i),n||(e+=this.finderPenaltyCountPatterns(i)*JE),n=this.modules[t][a],r=1);e+=this.finderPenaltyTerminateAndCount(n,r,i)*JE}for(let t=0;t<this.size;t++){let n=!1,r=0,i=[0,0,0,0,0,0,0];for(let a=0;a<this.size;a++)this.modules[a][t]===n?(r++,r===5?e+=KE:r>5&&e++):(this.finderPenaltyAddHistory(r,i),n||(e+=this.finderPenaltyCountPatterns(i)*JE),n=this.modules[a][t],r=1);e+=this.finderPenaltyTerminateAndCount(n,r,i)*JE}for(let t=0;t<this.size-1;t++)for(let n=0;n<this.size-1;n++){let r=this.modules[t][n];r===this.modules[t][n+1]&&r===this.modules[t+1][n]&&r===this.modules[t+1][n+1]&&(e+=qE)}let t=0;for(let e of this.modules)t=e.reduce((e,t)=>e+ +!!t,t);let n=this.size*this.size,r=Math.ceil(Math.abs(t*20-n*10)/n)-1;return e+=r*YE,e}getAlignmentPatternPositions(){if(this.version===1)return[];{let e=Math.floor(this.version/7)+2,t=this.version===32?26:Math.ceil((this.version*4+4)/(e*2-2))*2,n=[6];for(let r=this.size-7;n.length<e;r-=t)n.splice(1,0,r);return n}}finderPenaltyCountPatterns(e){let t=e[1],n=t>0&&e[2]===t&&e[3]===t*3&&e[4]===t&&e[5]===t;return(n&&e[0]>=t*4&&e[6]>=t?1:0)+(n&&e[6]>=t*4&&e[0]>=t?1:0)}finderPenaltyTerminateAndCount(e,t,n){return e&&(this.finderPenaltyAddHistory(t,n),t=0),t+=this.size,this.finderPenaltyAddHistory(t,n),this.finderPenaltyCountPatterns(n)}finderPenaltyAddHistory(e,t){t[0]===0&&(e+=this.size),t.pop(),t.unshift(e)}};function $E(e,t,n){if(t<0||t>31||e>>>t)throw RangeError(`Value out of range`);for(let r=t-1;r>=0;r--)n.push(e>>>r&1)}function eD(e,t){return!!(e>>>t&1)}var tD=class{constructor(e,t,n){if(this.mode=e,this.numChars=t,this.bitData=n,t<0)throw RangeError(`Invalid argument`);this.bitData=n.slice()}getData(){return this.bitData.slice()}},nD=[1,10,12,14],rD=[2,9,11,13],iD=[4,8,16,16];function aD(e,t){return e[Math.floor((t+7)/17)+1]}function oD(e){let t=[];for(let n of e)$E(n,8,t);return new tD(iD,e.length,t)}function sD(e){if(!uD(e))throw RangeError(`String contains non-numeric characters`);let t=[];for(let n=0;n<e.length;){let r=Math.min(e.length-n,3);$E(Number.parseInt(e.substring(n,n+r),10),r*3+1,t),n+=r}return new tD(nD,e.length,t)}function cD(e){if(!dD(e))throw RangeError(`String contains unencodable characters in alphanumeric mode`);let t=[],n=0;for(;n+2<=e.length;n+=2){let r=UE.indexOf(e.charAt(n))*45;r+=UE.indexOf(e.charAt(n+1)),$E(r,11,t)}return n<e.length&&$E(UE.indexOf(e.charAt(n)),6,t),new tD(rD,e.length,t)}function lD(e){return e===``?[]:uD(e)?[sD(e)]:dD(e)?[cD(e)]:[oD(pD(e))]}function uD(e){return VE.test(e)}function dD(e){return HE.test(e)}function fD(e,t){let n=0;for(let r of e){let e=aD(r.mode,t);if(r.numChars>=1<<e)return 1/0;n+=4+e+r.bitData.length}return n}function pD(e){e=encodeURI(e);let t=[];for(let n=0;n<e.length;n++)e.charAt(n)===`%`?(t.push(Number.parseInt(e.substring(n+1,n+3),16)),n+=2):t.push(e.charCodeAt(n));return t}function mD(e){if(e<WE||e>GE)throw RangeError(`Version number out of range`);let t=(16*e+128)*e+64;if(e>=2){let n=Math.floor(e/7)+2;t-=(25*n-10)*n-55,e>=7&&(t-=36)}return t}function hD(e,t){return Math.floor(mD(e)/8)-XE[t[0]][e]*ZE[t[0]][e]}function gD(e){if(e<1||e>255)throw RangeError(`Degree out of range`);let t=[];for(let n=0;n<e-1;n++)t.push(0);t.push(1);let n=1;for(let r=0;r<e;r++){for(let e=0;e<t.length;e++)t[e]=vD(t[e],n),e+1<t.length&&(t[e]^=t[e+1]);n=vD(n,2)}return t}function _D(e,t){let n=t.map(e=>0);for(let r of e){let e=r^n.shift();n.push(0),t.forEach((t,r)=>n[r]^=vD(t,e))}return n}function vD(e,t){if(e>>>8||t>>>8)throw RangeError(`Byte out of range`);let n=0;for(let r=7;r>=0;r--)n=n<<1^(n>>>7)*285,n^=(t>>>r&1)*e;return n}function yD(e,t,n=1,r=40,i=-1,a=!0){if(!(WE<=n&&n<=r&&r<=GE)||i<-1||i>7)throw RangeError(`Invalid value`);let o,s;for(o=n;;o++){let n=hD(o,t)*8,i=fD(e,o);if(i<=n){s=i;break}if(o>=r)throw RangeError(`Data too long`)}for(let e of[LE,RE,zE])a&&s<=hD(o,e)*8&&(t=e);let c=[];for(let t of e){$E(t.mode[0],4,c),$E(t.numChars,aD(t.mode,o),c);for(let e of t.getData())c.push(e)}let l=hD(o,t)*8;$E(0,Math.min(4,l-c.length),c),$E(0,(8-c.length%8)%8,c);for(let e=236;c.length<l;e^=253)$E(e,8,c);let u=Array.from({length:Math.ceil(c.length/8)},()=>0);return c.forEach((e,t)=>u[t>>>3]|=e<<7-(t&7)),new QE(o,t,u,i)}function bD(e,t){let{ecc:n=`L`,boostEcc:r=!1,minVersion:i=1,maxVersion:a=40,maskPattern:o=-1,border:s=1}=t||{},c=typeof e==`string`?lD(e):Array.isArray(e)?[oD(e)]:void 0;if(!c)throw Error(`uqr only supports encoding string and binary data, but got: ${typeof e}`);let l=yD(c,BE[n],i,a,o,r),u=xD({version:l.version,maskPattern:l.mask,size:l.size,data:l.modules,types:l.types},s);return t?.invert&&(u.data=u.data.map(e=>e.map(e=>!e))),t?.onEncoded?.(u),u}function xD(e,t=1){if(!t)return e;let{size:n}=e,r=n+t*2;e.size=r,e.data.forEach(e=>{for(let n=0;n<t;n++)e.unshift(!1),e.push(!1)});for(let n=0;n<t;n++)e.data.unshift(Array.from({length:r},e=>!1)),e.data.push(Array.from({length:r},e=>!1));let i=FE.Border;e.types.forEach(e=>{for(let n=0;n<t;n++)e.unshift(i),e.push(i)});for(let n=0;n<t;n++)e.types.unshift(Array.from({length:r},e=>i)),e.types.push(Array.from({length:r},e=>i));return e}var SD=e=>`ponzu://pair?host=${encodeURIComponent(e)}&v=1`;function CD(e){let{data:t,size:n}=bD(e,{ecc:`M`,border:0}),r=``;return t.forEach((e,t)=>{for(let i=0;i<n;){if(!e[i]){i++;continue}let n=1;for(;e[i+n];)n++;r+=`M${i} ${t}h${n}v1h-${n}z`,i+=n}}),{size:n,d:r}}function wD(){let[e,t]=(0,z.useState)(()=>new URLSearchParams(location.search).has(`pair`)),[n,r]=(0,z.useState)(null);(0,z.useEffect)(()=>window.ponzuDesktop?.onPairIphone?.(()=>t(!0)),[]);let i=e=>{if(t(e),e)return;let n=new URL(location.href);n.searchParams.has(`pair`)&&(n.searchParams.delete(`pair`),history.replaceState(null,``,n))};return(0,z.useEffect)(()=>{if(!e)return;let t=!1,n;r(null);let a=async()=>{try{let e=await(await fetch(`/api/info`)).json();if(t)return;r({name:e.machine?.name??null,dns:e.machine?.dns??null});let a=e.pairedAt??0;n===void 0?n=a:a>n&&i(!1)}catch{}};a();let o=setInterval(a,2e3);return()=>{t=!0,clearInterval(o)}},[e]),(0,V.jsx)(kE,{open:e,onOpenChange:i,children:(0,V.jsx)(ME,{className:`gap-[22px] rounded-[18px] p-8 shadow-[0_1px_2px_rgba(0,0,0,0.06),0_18px_50px_rgba(0,0,0,0.2),0_0_0_0.5px_rgba(0,0,0,0.12)] sm:max-w-[520px]`,children:(0,V.jsx)(TD,{machine:n})})})}function TD({machine:e}){let t=e?.dns;return(0,V.jsxs)(`div`,{className:`flex items-center gap-6`,children:[t?(0,V.jsx)(ED,{text:SD(t)}):(0,V.jsx)(`div`,{className:`ghost size-[176px] shrink-0 rounded-[14px]`,"aria-hidden":!0}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[(0,V.jsx)(NE,{className:`font-bold font-display text-2xl leading-[1.15] tracking-[-0.02em]`,children:`Pair your iPhone`}),(0,V.jsx)(PE,{className:`m-0 text-sm leading-normal`,children:t||!e?`Open Ponzu on your iPhone and scan this code. Both need Tailscale, signed in to the same account.`:e.name?`Turn on MagicDNS for your tailnet to pair an iPhone. The phone finds this Mac by its tailnet name.`:`Turn on Tailscale on this Mac to pair an iPhone.`})]})]})}function ED({text:e}){let{size:t,d:n}=CD(e);return(0,V.jsx)(`div`,{className:`size-[176px] shrink-0 rounded-[14px] bg-white p-3 shadow-[0_0_0_1px_rgba(17,17,16,0.1)]`,children:(0,V.jsx)(`svg`,{role:`img`,"aria-label":`Pairing code`,"data-pair":e,viewBox:`0 0 ${t} ${t}`,className:`block size-full`,shapeRendering:`crispEdges`,children:(0,V.jsx)(`path`,{d:n,fill:`#111110`})})})}var DD=mc(`inline-flex shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded-[9px] font-medium outline-none transition-all focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/90`,outline:`border bg-card hover:bg-accent`,ghost:`text-muted-foreground hover:bg-accent hover:text-foreground`},size:{default:`h-[34px] px-3.5`,sm:`h-7 rounded-lg px-2.5`,icon:`size-7 rounded-lg`}},defaultVariants:{variant:`default`,size:`default`}});function OD({className:e,variant:t=`default`,size:n=`default`,asChild:r=!1,type:i=`button`,...a}){let o=r?Cc:`button`;return(0,V.jsx)(o,{"data-slot":`button`,"data-variant":t,"data-size":n,type:r?void 0:i,className:uT(DD({variant:t,size:n,className:e})),...a})}function kD(e){return(0,V.jsx)(k_,{"data-slot":`hover-card`,...e})}function AD(e){return(0,V.jsx)(j_,{"data-slot":`hover-card-trigger`,...e})}function jD({className:e,align:t=`end`,sideOffset:n=6,...r}){return(0,V.jsx)(F_,{"data-slot":`hover-card-portal`,children:(0,V.jsx)(L_,{"data-slot":`hover-card-content`,align:t,sideOffset:n,className:uT(`z-50 w-[272px] rounded-xl bg-popover p-3.5 text-popover-foreground shadow-[0_1px_2px_rgba(0,0,0,0.06),0_8px_28px_rgba(0,0,0,0.1)] outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0`,e),...r})})}var MD=Y_,ND=Z_;function PD({className:e,align:t=`end`,sideOffset:n=6,...r}){return(0,V.jsx)(tv,{children:(0,V.jsx)(rv,{"data-slot":`popover-content`,align:t,sideOffset:n,className:uT(`z-50 rounded-xl bg-popover p-4 text-popover-foreground shadow-[0_0_0_0.5px_var(--hairline-strong),0_1px_2px_rgba(0,0,0,0.06),0_8px_28px_rgba(0,0,0,0.1)] outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0`,e),...r})})}function FD({machines:e,origin:t}){let n=Re(e??[]),[r,i]=(0,z.useState)(null),[a,o]=(0,z.useState)(!1),s=(0,z.useRef)(!1),c=!!n?.installing;(0,z.useEffect)(()=>{n&&r&&r!==n.version?i(null):r&&c?s.current=!0:r&&s.current&&!c&&i(null)},[n,r,c]);let l=ID(n,t);if(!n)return null;let u=n.installing||r===n.version,d=async()=>{s.current=!1,i(n.version);try{let e=await fetch(`${t}/api/update`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({macs:n.macs,version:n.version})}),r=e.ok?await e.json():null;Object.values(r?.macs??{}).some(Boolean)||i(null)}catch{}};return(0,V.jsxs)(MD,{open:a,onOpenChange:o,children:[(0,V.jsx)(ND,{asChild:!0,children:(0,V.jsx)(`button`,{type:`button`,"aria-label":u?`Updating to Ponzu ${n.version}`:`Ponzu ${n.version} is ready`,className:`app-no-drag grid size-7 shrink-0 place-items-center rounded-full bg-flesh text-[#0e0e0e] outline-none transition-[filter] hover:brightness-95 focus-visible:ring-[3px] focus-visible:ring-ring/50`,children:u?(0,V.jsx)(W,{name:`loading`,size:15,strokeWidth:2,className:`animate-spin`}):(0,V.jsx)(`svg`,{"aria-hidden":!0,width:15,height:15,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2.4,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,V.jsx)(`path`,{d:`M12 19V5M6 11l6-6 6 6`})})})}),(0,V.jsx)(PD,{className:`w-[320px]`,children:(0,V.jsx)(LD,{plan:l?{...n,notes:l}:n,machines:e??[],updating:u,onUpdate:d,onLater:()=>o(!1)})})]})}function ID(e,t){let n=e&&!e.notes.length?`since=${e.since}&version=${e.version}`:null,[r,i]=(0,z.useState)(null);return(0,z.useEffect)(()=>{if(!n)return;let e=!0;return fetch(`${t}/api/update/notes?${n}`).then(e=>e.ok?e.json():null).then(t=>{e&&t?.notes&&i({want:n,notes:t.notes})}).catch(()=>{}),()=>{e=!1}},[n,t]),n&&r?.want===n?r.notes:null}function LD({plan:e,machines:t=[],updating:n,onUpdate:r,onLater:i}){let a=t.find(e=>e.id===`local`)?.update?.waitsFor;return n?(0,V.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,V.jsxs)(`span`,{className:`font-semibold text-[14px] leading-5`,children:[`Updating to `,e.version]}),(0,V.jsx)(`span`,{className:`text-[12px] text-muted-foreground leading-[17px]`,children:a?`Ponzu restarts once ${BD(a)} finishes, and reopens your tabs.`:`Ponzu restarts in a moment and reopens your tabs. Agents reconnect on their own.`})]}):(0,V.jsxs)(`div`,{className:`flex flex-col gap-3.5`,children:[(0,V.jsxs)(`span`,{className:`font-semibold text-[14px] leading-5`,children:[`Ponzu `,e.version]}),e.notes.length>0&&(0,V.jsx)(`ul`,{className:`flex max-h-[min(320px,50vh)] list-disc flex-col gap-1.5 overflow-y-auto pl-[18px] leading-[19px] marker:text-muted-foreground`,children:e.notes.map(e=>(0,V.jsx)(`li`,{children:e},e))}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e.macs.length>1&&(0,V.jsx)(RD,{plan:e,machines:t}),(0,V.jsx)(`span`,{className:`flex-1`}),(0,V.jsx)(OD,{variant:`outline`,size:`sm`,onClick:i,children:`Later`}),(0,V.jsxs)(OD,{size:`sm`,onClick:r,className:`gap-1.5 pl-2`,children:[(0,V.jsx)(W,{name:`refresh`,size:14,strokeWidth:1.9}),`Restart`]})]})]})}function RD({plan:e,machines:t}){let n=e.macs.flatMap(e=>t.find(t=>t.id===e)??[]),r=e.macs.length===e.of?`On all ${e.of} of your Macs`:`On ${e.macs.length} of your Macs`,i=n.map(e=>[e.name,e.update?.version,zD(e)].filter(Boolean).join(`, `)).join(`; `);return(0,V.jsxs)(kD,{openDelay:150,closeDelay:100,children:[(0,V.jsx)(AD,{asChild:!0,children:(0,V.jsxs)(`button`,{type:`button`,"aria-label":i?`${r}: ${i}`:r,className:`-ml-1.5 inline-flex h-6 cursor-default items-center gap-[5px] whitespace-nowrap rounded-md px-1.5 text-[12px] text-muted-foreground tabular-nums outline-none hover:bg-secondary hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50`,children:[(0,V.jsx)(W,{name:`laptop`,size:13}),e.macs.length]})}),(0,V.jsx)(jD,{align:`start`,side:`bottom`,className:`w-[248px] p-1.5`,children:(0,V.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0 text-[12.5px]`,children:n.map(e=>(0,V.jsxs)(`li`,{className:`flex items-baseline gap-2 px-2 py-1.5`,children:[(0,V.jsxs)(`span`,{className:`min-w-0 flex-1 truncate`,children:[e.name,(0,V.jsxs)(`span`,{className:`text-faint`,children:[` · `,zD(e)]})]}),(0,V.jsx)(`span`,{className:`text-faint tabular-nums`,children:e.update?.version})]},e.id))})})]})}function zD(e){return e.update?.waitsFor?`after ${BD(e.update.waitsFor)} finishes`:e.id===`local`?`restarts last`:`now`}function BD(e){return e===`claude`?`Claude`:e===`openai`?`Codex`:e===`cursor`?`Cursor`:`your agent`}function VD(e,t){let n=null,r=0,i=0,a,o=!1,s=`${e.replace(/^http/,`ws`)}/api/catalog/stream`,c=()=>{let l=!1,u=new WebSocket(s);n=u,u.onopen=()=>{l=!0,i=0},u.onmessage=e=>{let n;try{n=JSON.parse(String(e.data))}catch{return}n.t===`snapshot`?(r++,t(()=>n.catalog)):n.t===`patch`&&t(e=>e&&C(e,n.patch))},u.onclose=()=>{if(!o){if(!l){let n=r;fetch(`${e}/api/catalog`).then(e=>e.ok?e.json():null).then(e=>!o&&e&&r===n&&t(()=>e)).catch(()=>{})}a=setTimeout(c,Math.min(5e3,250*2**i++))}}};return c(),()=>{o=!0,clearTimeout(a),n?.close()}}var HD=window.location.origin,UD=navigator.userAgent.includes(`Mac`),WD=UD?`⌘`:`Ctrl`,GD=({key:e,base:t})=>t?`${t}\n${e}`:e,KD=e=>{let t=e.indexOf(`
|
|
2361
2361
|
`);return t<0?{key:e,base:``}:{base:e.slice(0,t),key:e.slice(t+1)}},qD=window.matchMedia(`(prefers-color-scheme: dark)`);function JD(){let[e,t]=(0,z.useState)(qD.matches?`dark`:`light`);return(0,z.useEffect)(()=>{let e=()=>t(qD.matches?`dark`:`light`);return qD.addEventListener(`change`,e),()=>qD.removeEventListener(`change`,e)},[]),(0,z.useEffect)(()=>{document.documentElement.dataset.theme=e},[e]),e}function YD(){let e=JD(),[t,n]=(0,z.useState)(null),[r,i]=(0,z.useState)(()=>{let e=new URLSearchParams(location.search).get(`file`),t=JSON.parse(localStorage.getItem(`ponzu.tabs`)??`[]`);return e?[...new Set([...t,e])]:t}),[a,o]=(0,z.useState)(()=>new URLSearchParams(location.search).get(`file`)),[s,c]=(0,z.useState)(()=>{let e=new URLSearchParams(location.search),t=e.get(`file`),n=e.get(`artboard`);return t&&n?{file:t,artboard:n}:null}),l=(0,z.useMemo)(()=>new Map,[]),u=e=>{let t=l.get(e);if(!t){let{key:n,base:r}=KD(e);t=new wx(`${HD}${r}`,n),l.set(e,t)}return t};(0,z.useEffect)(()=>VD(HD,n),[]);let[d]=(0,z.useState)(()=>new Set),f=(0,z.useRef)(!0);(0,z.useEffect)(()=>{if(!t)return;let e=!!s&&(f.current||!u(s.file).getState().doc);f.current=!1;for(let n of t.files)n.machine===`local`&&n.created&&!d.has(n.key)&&(d.add(n.key),!(n.shelf&&n.shelf!==`recent`)&&(Date.now()-n.created>6e4||r.includes(n.key)||(i(e=>e.includes(n.key)?e:[...e,n.key]),e||o(n.key))))},[t]),(0,z.useEffect)(()=>{localStorage.setItem(`ponzu.tabs`,JSON.stringify(r));let e=new URL(location.href);a?e.searchParams.set(`file`,a):e.searchParams.delete(`file`),s&&a!==s.file&&(c(null),e.searchParams.delete(`artboard`)),history.replaceState(null,``,e)},[r,a]);let p=async(e,t)=>{let r=await fetch(`${HD}${e.base}/api/shelf`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({key:e.key,action:b(e,t)})});if(!r.ok)throw Error(r.status===502?`That Mac isn’t answering. Try again once it’s back.`:await r.text());n(n=>n&&{...n,files:n.files.map(n=>n.id===e.id?{...n,shelf:t===`archive`?`archived`:`recent`,archivedFor:t===`archive`?`person`:void 0}:n)})},m=async e=>{e.base||await fetch(`${HD}/api/files`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({path:e.key,by:`person`})});let t=GD(e);i(e=>e.includes(t)?e:[...e,t]),o(t)},h=e=>{l.get(e)?.close(),l.delete(e);let t=r.indexOf(e);i(t=>t.filter(t=>t!==e)),a===e&&o(r[t+1]??r[t-1]??null)};(0,z.useEffect)(()=>window.ponzuDesktop?.onCloseTab?.(()=>{a?h(a):window.ponzuDesktop?.closeWindow?.()}),[r,a]),(0,z.useEffect)(()=>{let e=e=>{if(!(e.metaKey||e.ctrlKey)||e.altKey)return;let t=e.shiftKey&&{BracketLeft:-1,BracketRight:1}[e.code];if(t){e.preventDefault();let n=[null,...r],i=n.indexOf(a);o(n[(i+t+n.length)%n.length]??null);return}let n=/^Digit([0-9])$/.exec(e.code)?.[1];if(!n||e.shiftKey)return;if(n===`0`){e.preventDefault(),o(null);return}let i=n===`9`?r.at(-1):r[Number(n)-1];i&&(e.preventDefault(),o(i))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[r,a]);let{strip:g,dragProps:_}=QD(r,i);eO(g,r);let v=eC(UD?`Meta`:`Control`),y=window.ponzuDesktop,x=y?.platform===`darwin`,S=y?.platform===`win32`;return(0,V.jsxs)(`div`,{className:`flex h-full flex-col bg-background text-foreground`,children:[(0,V.jsxs)(`header`,{className:uT(`flex h-10 shrink-0 items-center gap-1 px-2`,y&&`app-drag [&_button]:app-no-drag`,x&&`pl-[88px]`,S&&`pr-[calc(100vw-env(titlebar-area-x,0px)-env(titlebar-area-width,100vw)+8px)]`),children:[(0,V.jsx)(OD,{variant:`ghost`,size:`icon`,"aria-label":`Home`,className:uT(`w-8`,a===null&&`bg-secondary text-foreground hover:bg-secondary`),onClick:()=>o(null),children:(0,V.jsx)(Zb,{modifier:WD,n:0,shown:v,center:!0,children:(0,V.jsx)(cc,{size:18,color:`currentColor`})})}),(0,V.jsx)(`div`,{ref:g,className:`relative flex min-w-0 gap-0.5 overflow-x-auto [mask-image:linear-gradient(to_right,transparent,#000_var(--fade-start,0px),#000_calc(100%_-_var(--fade-end,0px)),transparent)] [scrollbar-width:none]`,children:r.map((e,n)=>(0,V.jsx)(XD,{source:u(e),file:dT(t,KD(e)),machines:t?.machines,shortcut:n<8?n+1:n===r.length-1?9:void 0,showShortcut:v,active:e===a,onClick:()=>o(e),onClose:()=>h(e),..._(e)},e))}),(0,V.jsxs)(`div`,{className:`ml-auto flex items-center gap-1.5`,children:[(0,V.jsx)(FD,{machines:t?.machines,origin:HD}),a&&(0,V.jsx)(tO,{source:u(a)})]})]}),(0,V.jsx)(`main`,{className:`min-h-0 flex-1 px-2 pb-2`,children:a?(0,V.jsx)(`div`,{className:`h-full overflow-hidden rounded-xl bg-canvas`,children:(0,V.jsx)(vC,{source:u(a),theme:e,me:{kind:`user`,name:`You`},artboard:a===s?.file?s.artboard:void 0})},a):(0,V.jsx)(UT,{catalog:t,onOpen:e=>void m(e),onShelve:p,onOpenFolder:y&&(async()=>{let e=await y.openFolder();e&&await m({key:e,base:``})}),onNew:y&&(async()=>{let e=await y.newFile();e&&await m({key:e,base:``})})})}),(0,V.jsx)(wD,{})]})}function XD({source:e,file:t,machines:n,shortcut:r,showShortcut:i,active:a,onClick:o,onClose:s,...c}){let l=HS(e),u=l.presence.some(e=>v(e,l.path)===`working`),d=l.status===`offline`,f=aC(!l.doc||d),[p,m]=(0,z.useState)(!1),h=l.doc?.name??e.file.split(`/`).pop()?.replace(/\.design$/,``),g=(0,V.jsxs)(`div`,{className:uT(`group app-no-drag relative flex h-7 max-w-[220px] shrink-0 cursor-default select-none items-center whitespace-nowrap rounded-lg px-2.5 outline-none`,a?`bg-secondary text-foreground`:`text-muted-foreground hover:bg-accent hover:text-foreground`),onClick:o,onKeyDown:e=>e.key===`Enter`&&o(),role:`tab`,tabIndex:0,...c,onPointerDown:e=>{m(!0),c.onPointerDown(e)},onPointerLeave:()=>m(!1),children:[(0,V.jsxs)(`span`,{className:`-ml-1.5 flex min-w-0 items-center gap-[7px] pl-1.5 group-focus-visible:[mask-image:linear-gradient(to_left,transparent_14px,#000_32px)] group-hover:[mask-image:linear-gradient(to_left,transparent_14px,#000_32px)]`,children:[(0,V.jsx)(Zb,{modifier:WD,n:r,shown:i,index:r,children:f?(0,V.jsx)(`span`,{className:`grid size-3.5 shrink-0 place-items-center`,title:d?`Reconnecting`:`Opening`,children:(0,V.jsx)(`span`,{className:uT(`size-3 animate-spin rounded-full border-[1.5px] border-current border-r-transparent text-faint motion-reduce:animate-none`,d&&`[animation-duration:2s]`)})}):(0,V.jsx)(W,{name:l.doc?.icon??`blank`,size:14})}),(0,V.jsx)(`span`,{className:uT(`truncate`,u&&`pz-shimmer`),children:h})]}),(0,V.jsx)(`button`,{type:`button`,"aria-label":`Close tab`,className:`absolute top-1/2 right-1 grid size-[18px] -translate-y-1/2 place-items-center rounded-[5px] opacity-0 hover:bg-accent hover:opacity-100! group-focus-visible:opacity-60 group-hover:opacity-60`,onClick:e=>{e.stopPropagation(),s()},children:(0,V.jsx)(W,{name:`close`,size:12})})]});return(0,V.jsxs)(kD,{open:!p&&void 0,openDelay:600,closeDelay:100,children:[(0,V.jsx)(AD,{asChild:!0,onFocus:e=>{e.currentTarget.matches(`:focus-visible`)||e.preventDefault()},children:g}),(0,V.jsx)(jD,{align:`start`,side:`bottom`,children:(0,V.jsx)(vT,{file:t,name:h,machine:n?.find(e=>e.id===(t?.machine??`local`))})})]})}var ZD={duration:150,easing:`ease-out`};function QD(e,t){let n=(0,z.useRef)(null),r=(0,z.useRef)(e);r.current=e;let i=(0,z.useRef)(null),a=(0,z.useRef)(new Map),o=()=>{let e=i.current,t=n.current;if(!e||!t)return;let r=t.getBoundingClientRect().left-t.scrollLeft+e.el.offsetLeft;e.dx=Math.min(Math.max(e.x-e.grab-r,-e.el.offsetLeft),t.scrollWidth-e.el.offsetLeft-e.el.offsetWidth),e.el.style.transform=`translateX(${e.dx}px)`};return(0,z.useLayoutEffect)(()=>{for(let[e,t]of a.current){for(let t of e.getAnimations())t.cancel();let n=t-e.getBoundingClientRect().left;n&&e.animate([{transform:`translateX(${n}px)`},{transform:`none`}],ZD)}a.current.clear(),o()},[e]),{strip:n,dragProps:e=>({onPointerDown:s=>{if(s.button!==0||s.target.closest(`button`))return;let c=s.currentTarget,l=s.clientX-c.getBoundingClientRect().left,u=u=>{let d=n.current;if(!d)return;if(!i.current){if(Math.abs(u.clientX-s.clientX)<4)return;i.current={el:c,grab:l,x:u.clientX,dx:0},c.style.zIndex=`1`}let f=i.current;f.x=u.clientX,o();let p=[...d.children].filter(e=>e instanceof HTMLElement&&e!==c),m=d.getBoundingClientRect().left-d.scrollLeft,h=f.x-f.grab-m+c.offsetWidth/2,g=p.filter(e=>e.offsetLeft+e.offsetWidth/2<h).length,_=r.current;if(g===_.indexOf(e))return;for(let e of p)a.current.set(e,e.getBoundingClientRect().left);let v=_.filter(t=>t!==e);v.splice(g,0,e),t(v)},d=()=>{window.removeEventListener(`pointermove`,u),window.removeEventListener(`pointerup`,d),window.removeEventListener(`pointercancel`,d);let e=i.current;i.current=null,e&&(c.style.transform=``,c.animate([{transform:`translateX(${e.dx}px)`},{transform:`none`}],ZD).finished.then(()=>{c.style.zIndex=``}).catch(()=>{}))};window.addEventListener(`pointermove`,u),window.addEventListener(`pointerup`,d),window.addEventListener(`pointercancel`,d)}})}}var $D=32;function eO(e,t){(0,z.useLayoutEffect)(()=>{let t=e.current;if(!t)return;let n=()=>{let e=Math.min($D,t.clientWidth/4),n=t.scrollWidth-t.clientWidth-t.scrollLeft;t.style.setProperty(`--fade-start`,`${Math.min(Math.max(t.scrollLeft,0),e)}px`),t.style.setProperty(`--fade-end`,`${Math.min(Math.max(n,0),e)}px`)};n(),t.addEventListener(`scroll`,n,{passive:!0});let r=new ResizeObserver(n);r.observe(t);for(let e of t.children)r.observe(e);return()=>{t.removeEventListener(`scroll`,n),r.disconnect()}},[e,t])}function tO({source:e}){let{presence:t,path:n,doc:r}=HS(e),i=iO(15e3),a=t.map(e=>({p:e,activity:v(e,n,i)})).filter(e=>e.activity);return a.length?(0,V.jsx)(`div`,{className:`flex gap-0.5 pr-1`,children:a.map(({p:e,activity:t})=>(0,V.jsxs)(kD,{openDelay:150,closeDelay:100,children:[(0,V.jsx)(AD,{asChild:!0,children:(0,V.jsx)(`span`,{className:uT(`app-no-drag grid size-6 cursor-default place-items-center rounded-md transition-opacity duration-200 hover:bg-accent`,t===`watching`&&`opacity-50`),children:(0,V.jsx)(lc,{client:e.client,size:16})})}),(0,V.jsx)(jD,{children:(0,V.jsx)(nO,{presence:e,activity:t,doc:r})})]},e.id))}):null}function nO({presence:e,activity:t,doc:n}){let r=rO(e),i=n?e.working.map(e=>ne(n,e)?.artboard.name).filter(Boolean):[],a=[];return e.origin?.cwd&&a.push([`Project`,(0,V.jsx)(`span`,{className:uT(aO,`truncate`),title:e.origin.cwd,children:fT(e.origin.cwd)},`cwd`)]),a.push([`Via`,e.origin?.via===`bridge`?(0,V.jsxs)(`span`,{children:[`Terminal · `,(0,V.jsx)(`span`,{className:aO,children:`ponzu mcp`})]},`via`):`MCP over HTTP`]),a.push([`Since`,`${ax(e.since)}${ax(e.since)===`now`?``:` ago`}`]),i.length&&a.push([`On`,i.join(`, `)]),(0,V.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,V.jsx)(`span`,{className:`grid size-7 shrink-0 place-items-center rounded-lg bg-canvas`,children:(0,V.jsx)(lc,{client:e.client,size:16})}),(0,V.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,V.jsx)(`b`,{className:`font-semibold`,children:r}),(0,V.jsx)(`span`,{className:`truncate text-muted-foreground text-xs`,children:t===`working`?`Working${e.status?` · ${e.status}`:``}`:`Watching for your comments`})]})]}),(0,V.jsx)(`div`,{className:`grid grid-cols-[56px_minmax(0,1fr)] gap-x-2.5 gap-y-1.5 border-t pt-2.5 text-xs`,children:a.map(([e,t])=>(0,V.jsxs)(z.Fragment,{children:[(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:e}),(0,V.jsx)(`span`,{className:`flex min-w-0`,children:t})]},e))})]})}function rO(e){let t=e.origin?.clientName,n=t?{"claude-code":`Claude Code`,"claude-ai":`Claude`,codex:`Codex`,"codex-mcp-client":`Codex`,cursor:`Cursor`,"cursor-vscode":`Cursor`}[t]??t:e.name;return e.origin?.clientVersion?`${n} ${e.origin.clientVersion}`:n}function iO(e){let[t,n]=(0,z.useState)(Date.now);return(0,z.useEffect)(()=>{let t=setInterval(()=>n(Date.now()),e);return()=>clearInterval(t)},[e]),t}var aO=`font-mono text-xs`,oO=document.getElementById(`root`);(0,g.createRoot)(oO).render((0,V.jsx)(YD,{}));
|
package/studio/index.html
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
<link rel="icon" href="/favicon.svg" />
|
|
8
8
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
9
9
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,400..600&family=Funnel+Display:wght@700&family=IBM+Plex+Mono:wght@400;500&display=swap" />
|
|
10
|
-
<script type="module" crossorigin src="/assets/index-
|
|
11
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
10
|
+
<script type="module" crossorigin src="/assets/index-Cc94kujR.js"></script>
|
|
11
|
+
<link rel="stylesheet" crossorigin href="/assets/index-BYjUanL0.css">
|
|
12
12
|
</head>
|
|
13
13
|
<body>
|
|
14
14
|
<div id="root"></div>
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
2
|
-
@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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-tracking:initial;--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-ease: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}}}:root,:host{--pz-color-black:#000;--pz-color-white:#fff;--pz-spacing:.25rem;--pz-font-weight-medium:500;--pz-font-weight-semibold:600;--pz-radius-md:.375rem;--pz-radius-lg:.5rem;--pz-radius-xl:.75rem;--pz-default-transition-duration:.15s;--pz-default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}.pz\:pointer-events-auto{pointer-events:auto}.pz\:pointer-events-none{pointer-events:none}.pz\:absolute{position:absolute}.pz\:fixed{position:fixed}.pz\:relative{position:relative}.pz\:inset-0{inset:0}.pz\:inset-x-2\.5{inset-inline:calc(var(--pz-spacing) * 2.5)}.pz\:-top-3{top:calc(var(--pz-spacing) * -3)}.pz\:top-0{top:0}.pz\:top-1\.5{top:calc(var(--pz-spacing) * 1.5)}.pz\:top-\[-22px\]{top:-22px}.pz\:right-0{right:0}.pz\:right-1\.5{right:calc(var(--pz-spacing) * 1.5)}.pz\:bottom-0{bottom:0}.pz\:bottom-2\.5{bottom:calc(var(--pz-spacing) * 2.5)}.pz\:left-0{left:0}.pz\:left-1\/2{left:50%}.pz\:left-5{left:calc(var(--pz-spacing) * 5)}.pz\:z-10{z-index:10}.pz\:z-50{z-index:50}.pz\:z-\[1\]{z-index:1}.pz\:z-\[2\]{z-index:2}.pz\:z-\[3\]{z-index:3}.pz\:z-\[2147483647\]{z-index:2147483647}.pz\:mx-1\.5{margin-inline:calc(var(--pz-spacing) * 1.5)}.pz\:mr-auto{margin-right:auto}.pz\:ml-auto{margin-left:auto}.pz\:flex{display:flex}.pz\:grid{display:grid}.pz\:inline-flex{display:inline-flex}.pz\:inline-grid{display:inline-grid}.pz\:field-sizing-content{field-sizing:content}.pz\:size-0{width:0;height:0}.pz\:size-6{width:calc(var(--pz-spacing) * 6);height:calc(var(--pz-spacing) * 6)}.pz\:size-7{width:calc(var(--pz-spacing) * 7);height:calc(var(--pz-spacing) * 7)}.pz\:size-\[2px\]{width:2px;height:2px}.pz\:size-\[26px\]{width:26px;height:26px}.pz\:h-0{height:0}.pz\:h-4{height:calc(var(--pz-spacing) * 4)}.pz\:h-6{height:calc(var(--pz-spacing) * 6)}.pz\:h-7{height:calc(var(--pz-spacing) * 7)}.pz\:h-\[26px\]{height:26px}.pz\:h-\[30px\]{height:30px}.pz\:max-h-40{max-height:calc(var(--pz-spacing) * 40)}.pz\:max-h-60{max-height:calc(var(--pz-spacing) * 60)}.pz\:max-h-80{max-height:calc(var(--pz-spacing) * 80)}.pz\:min-h-0{min-height:0}.pz\:min-h-7{min-height:calc(var(--pz-spacing) * 7)}.pz\:w-\[9em\]{width:9em}.pz\:w-\[30px\]{width:30px}.pz\:w-\[300px\]{width:300px}.pz\:w-full{width:100%}.pz\:w-px{width:1px}.pz\:max-w-full{max-width:100%}.pz\:min-w-0{min-width:0}.pz\:min-w-4{min-width:calc(var(--pz-spacing) * 4)}.pz\:min-w-9{min-width:calc(var(--pz-spacing) * 9)}.pz\:min-w-40{min-width:calc(var(--pz-spacing) * 40)}.pz\:flex-1{flex:1}.pz\:shrink{flex-shrink:1}.pz\:shrink-0{flex-shrink:0}.pz\:origin-top-left{transform-origin:0 0}.pz\:-translate-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.pz\:scale-112{--tw-scale-x:112%;--tw-scale-y:112%;--tw-scale-z:112%;scale:var(--tw-scale-x) var(--tw-scale-y)}.pz\:cursor-crosshair{cursor:crosshair}.pz\:cursor-default{cursor:default}.pz\:cursor-grab{cursor:grab}.pz\:cursor-grabbing{cursor:grabbing}.pz\:cursor-pointer{cursor:pointer}.pz\:touch-none{touch-action:none}.pz\:resize-none{resize:none}.pz\:\[scrollbar-width\:none\]{scrollbar-width:none}.pz\:flex-col{flex-direction:column}.pz\:place-items-center{place-items:center}.pz\:items-center{align-items:center}.pz\:items-end{align-items:flex-end}.pz\:justify-between{justify-content:space-between}.pz\:justify-center{justify-content:center}.pz\:justify-end{justify-content:flex-end}.pz\:gap-0\.5{gap:calc(var(--pz-spacing) * .5)}.pz\:gap-1{gap:var(--pz-spacing)}.pz\:gap-1\.5{gap:calc(var(--pz-spacing) * 1.5)}.pz\:gap-2{gap:calc(var(--pz-spacing) * 2)}.pz\:gap-2\.5{gap:calc(var(--pz-spacing) * 2.5)}.pz\:gap-3{gap:calc(var(--pz-spacing) * 3)}.pz\:gap-\[0\.5em\]{gap:.5em}.pz\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pz\:overflow-hidden{overflow:hidden}.pz\:overflow-scroll{overflow:scroll}.pz\:overflow-visible{overflow:visible}.pz\:overflow-x-auto{overflow-x:auto}.pz\:overflow-y-auto{overflow-y:auto}.pz\:overscroll-contain{overscroll-behavior:contain}.pz\:overscroll-none{overscroll-behavior:none}.pz\:scroll-smooth{scroll-behavior:smooth}.pz\:rounded{border-radius:.25rem}.pz\:rounded-\[3px\]{border-radius:3px}.pz\:rounded-\[7px\]{border-radius:7px}.pz\:rounded-\[9px\]{border-radius:9px}.pz\:rounded-\[10px\]{border-radius:10px}.pz\:rounded-full{border-radius:2147483647px}.pz\:rounded-lg{border-radius:var(--pz-radius-lg)}.pz\:rounded-md{border-radius:var(--pz-radius-md)}.pz\:rounded-xl{border-radius:var(--pz-radius-xl)}.pz\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.pz\:bg-\[\#1c1c1b\]{background-color:#1c1c1b}.pz\:bg-bar{background-color:var(--pz-bar)}.pz\:bg-card{background-color:var(--pz-surface)}.pz\:bg-comment{background-color:var(--pz-comment)}.pz\:bg-comment-soft{background-color:var(--pz-comment-soft)}.pz\:bg-foreground\/10{background-color:var(--pz-ink)}@supports (color:color-mix(in lab, red, red)){.pz\:bg-foreground\/10{background-color:color-mix(in oklab, var(--pz-ink) 10%, transparent)}}.pz\:bg-muted{background-color:var(--pz-chip)}.pz\:bg-primary{background-color:var(--pz-ink)}.pz\:bg-raised{background-color:var(--pz-raised)}.pz\:bg-select\/8{background-color:var(--pz-select)}@supports (color:color-mix(in lab, red, red)){.pz\:bg-select\/8{background-color:color-mix(in oklab, var(--pz-select) 8%, transparent)}}.pz\:bg-transparent{background-color:#0000}.pz\:bg-white\/15{background-color:var(--pz-color-white)}@supports (color:color-mix(in lab, red, red)){.pz\:bg-white\/15{background-color:color-mix(in oklab, var(--pz-color-white) 15%, transparent)}}.pz\:\[mask-image\:linear-gradient\(transparent_24px\,\#000_44px\)\]{-webkit-mask-image:linear-gradient(#0000 24px,#000 44px);mask-image:linear-gradient(#0000 24px,#000 44px)}.pz\:p-0{padding:0}.pz\:p-0\.5{padding:calc(var(--pz-spacing) * .5)}.pz\:p-1{padding:var(--pz-spacing)}.pz\:px-0\.5{padding-inline:calc(var(--pz-spacing) * .5)}.pz\:px-1{padding-inline:var(--pz-spacing)}.pz\:px-1\.5{padding-inline:calc(var(--pz-spacing) * 1.5)}.pz\:px-2{padding-inline:calc(var(--pz-spacing) * 2)}.pz\:px-2\.5{padding-inline:calc(var(--pz-spacing) * 2.5)}.pz\:px-\[0\.3em\]{padding-inline:.3em}.pz\:py-1{padding-block:var(--pz-spacing)}.pz\:py-1\.5{padding-block:calc(var(--pz-spacing) * 1.5)}.pz\:py-2{padding-block:calc(var(--pz-spacing) * 2)}.pz\:pt-1\.5{padding-top:calc(var(--pz-spacing) * 1.5)}.pz\:pr-1\.5{padding-right:calc(var(--pz-spacing) * 1.5)}.pz\:pr-2{padding-right:calc(var(--pz-spacing) * 2)}.pz\:pr-14{padding-right:calc(var(--pz-spacing) * 14)}.pz\:pb-2\.5{padding-bottom:calc(var(--pz-spacing) * 2.5)}.pz\:pl-3\.5{padding-left:calc(var(--pz-spacing) * 3.5)}.pz\:pl-\[9px\]{padding-left:9px}.pz\:text-center{text-align:center}.pz\:\[font-family\:inherit\]{font-family:inherit}.pz\:text-\[11\.5px\]{font-size:11.5px}.pz\:text-\[11px\]{font-size:11px}.pz\:text-\[12px\]{font-size:12px}.pz\:text-\[13\.5px\]{font-size:13.5px}.pz\:leading-4{--tw-leading:calc(var(--pz-spacing) * 4);line-height:calc(var(--pz-spacing) * 4)}.pz\:leading-\[1\.4\]{--tw-leading:1.4;line-height:1.4}.pz\:leading-\[1\.55\]{--tw-leading:1.55;line-height:1.55}.pz\:font-medium{--tw-font-weight:var(--pz-font-weight-medium);font-weight:var(--pz-font-weight-medium)}.pz\:font-semibold{--tw-font-weight:var(--pz-font-weight-semibold);font-weight:var(--pz-font-weight-semibold)}.pz\:\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.pz\:whitespace-nowrap{white-space:nowrap}.pz\:whitespace-pre-wrap{white-space:pre-wrap}.pz\:text-\[var\(--pz-rind\)\]{color:var(--pz-rind)}.pz\:text-comment-foreground{color:var(--pz-comment-ink)}.pz\:text-danger{color:var(--pz-danger)}.pz\:text-foreground{color:var(--pz-ink)}.pz\:text-muted-foreground{color:var(--pz-muted)}.pz\:text-primary-foreground{color:var(--pz-canvas)}.pz\:text-select{color:var(--pz-select)}.pz\:text-white,.pz\:text-white\/85{color:var(--pz-color-white)}@supports (color:color-mix(in lab, red, red)){.pz\:text-white\/85{color:color-mix(in oklab, var(--pz-color-white) 85%, transparent)}}.pz\:tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.pz\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.pz\:opacity-0{opacity:0}.pz\:opacity-\[0\.01\]{opacity:.01}.pz\:shadow-\[0_0_0_0\.5px_rgba\(255\,255\,255\,0\.1\)\,0_4px_14px_rgba\(0\,0\,0\,0\.18\)\]{--tw-shadow:0 0 0 .5px var(--tw-shadow-color,#ffffff1a), 0 4px 14px var(--tw-shadow-color,#0000002e);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.pz\:shadow-\[0_0_0_1px_rgba\(17\,17\,16\,0\.18\)\,0_1px_3px_rgba\(0\,0\,0\,0\.25\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#1111102e), 0 1px 3px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.pz\:shadow-\[0_0_0_1px_rgba\(17\,17\,16\,0\.18\)\,0_4px_12px_rgba\(0\,0\,0\,0\.25\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#1111102e), 0 4px 12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.pz\:shadow-bar{--tw-shadow:var(--pz-bar-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.pz\:shadow-board{--tw-shadow:var(--pz-board-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.pz\:shadow-pop{--tw-shadow:var(--pz-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.pz\:shadow-raised{--tw-shadow:var(--pz-raised-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.pz\:ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + 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)}.pz\:ring-\[1\.5px\]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1.5px + 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)}.pz\:ring-black\/5{--tw-ring-color:var(--pz-color-black)}@supports (color:color-mix(in lab, red, red)){.pz\:ring-black\/5{--tw-ring-color:color-mix(in oklab, var(--pz-color-black) 5%, transparent)}}.pz\:ring-select{--tw-ring-color:var(--pz-select)}.pz\:outline-0{outline-style:var(--tw-outline-style);outline-width:0}.pz\:outline-1{outline-style:var(--tw-outline-style);outline-width:1px}.pz\:outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.pz\:outline-\[1\.5px\]{outline-style:var(--tw-outline-style);outline-width:1.5px}.pz\:outline-offset-2{outline-offset:2px}.pz\:outline-comment{outline-color:var(--pz-comment)}.pz\:outline-select{outline-color:var(--pz-select)}.pz\:backdrop-blur-\[18px\]{--tw-backdrop-blur:blur(18px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.pz\:backdrop-saturate-\[1\.6\]{--tw-backdrop-saturate:saturate(1.6);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.pz\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--pz-default-transition-timing-function));transition-duration:var(--tw-duration,var(--pz-default-transition-duration))}.pz\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--pz-default-transition-timing-function));transition-duration:var(--tw-duration,var(--pz-default-transition-duration))}.pz\:duration-500{--tw-duration:.5s;transition-duration:.5s}.pz\:duration-\[120ms\]{--tw-duration:.12s;transition-duration:.12s}.pz\:outline-dashed{--tw-outline-style:dashed;outline-style:dashed}.pz\:outline-none{--tw-outline-style:none;outline-style:none}.pz\:select-none{-webkit-user-select:none;user-select:none}.pz\:select-text{-webkit-user-select:text;user-select:text}.pz\:\[overflow-anchor\:none\]{overflow-anchor:none}@media (hover:hover){.pz\:group-hover\:opacity-100:is(:where(.pz\:group):hover *){opacity:1}}.pz\:placeholder\:text-muted-foreground::placeholder{color:var(--pz-muted)}.pz\:only\:border-t-0:only-child{border-top-style:var(--tw-border-style);border-top-width:0}.pz\:focus-within\:opacity-100:focus-within{opacity:1}@media (hover:hover){.pz\:hover\:scale-112:hover{--tw-scale-x:112%;--tw-scale-y:112%;--tw-scale-z:112%;scale:var(--tw-scale-x) var(--tw-scale-y)}.pz\:hover\:bg-accent:hover{background-color:var(--pz-hover)}.pz\:hover\:bg-primary\/90:hover{background-color:var(--pz-ink)}@supports (color:color-mix(in lab, red, red)){.pz\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--pz-ink) 90%, transparent)}}.pz\:hover\:text-foreground:hover{color:var(--pz-ink)}}.pz\:focus-visible\:ring-2:focus-visible{--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)}.pz\:focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--pz-select)}@supports (color:color-mix(in lab, red, red)){.pz\:focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--pz-select) 50%, transparent)}}.pz\:active\:cursor-grabbing:active{cursor:grabbing}.pz\:disabled\:pointer-events-none:disabled{pointer-events:none}.pz\:disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.pz\:disabled\:opacity-30:disabled{opacity:.3}.pz\:disabled\:opacity-50:disabled{opacity:.5}.pz\:aria-checked\:bg-card[aria-checked=true]{background-color:var(--pz-surface)}.pz\:aria-checked\:bg-muted[aria-checked=true]{background-color:var(--pz-chip)}.pz\:aria-checked\:bg-raised[aria-checked=true]{background-color:var(--pz-raised)}.pz\:aria-checked\:text-foreground[aria-checked=true]{color:var(--pz-ink)}.pz\:aria-checked\:shadow-\[0_1px_2px_rgba\(0\,0\,0\,0\.08\)\][aria-checked=true]{--tw-shadow:0 1px 2px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.pz\:aria-checked\:shadow-raised[aria-checked=true]{--tw-shadow:var(--pz-raised-shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.pz\:data-highlighted\:bg-accent[data-highlighted]{background-color:var(--pz-hover)}@media (prefers-reduced-motion:reduce){.pz\:motion-reduce\:scroll-auto{scroll-behavior:auto}}.pz\:dark\:ring-white\/10:where(.pz-dark,.pz-dark *){--tw-ring-color:var(--pz-color-white)}@supports (color:color-mix(in lab, red, red)){.pz\:dark\:ring-white\/10:where(.pz-dark,.pz-dark *){--tw-ring-color:color-mix(in oklab, var(--pz-color-white) 10%, transparent)}}.pz-root{--pz-canvas:#f4f3ef;--pz-ink:#111110;--pz-muted:#5e5b54;--pz-faint:#a9a59b;--pz-rule:#e8e6e0;--pz-chip:#e8e6e0;--pz-surface:#fff;--pz-hover:#1111100d;--pz-select:var(--pz-ink);--pz-comment:#ffc81e;--pz-rind:#ffc81e;--pz-comment-ink:#111110;--pz-comment-soft:#fff4d1;--pz-danger:#d93a2b;--pz-shadow:0 1px 2px #0000000f, 0 8px 28px #0000001a;--pz-board-shadow:0 0 0 1px #0000000f, 0 2px 10px #0000000d;--pz-bar:#fafaf9b8;--pz-bar-shadow:0 0 0 .5px #0000001a, 0 6px 20px #00000014, 0 1px 3px #0000000f;--pz-raised:#fff;--pz-raised-shadow:0 1px 2px #00000014;--pz-font:"Inter", system-ui, -apple-system, sans-serif;background:var(--pz-canvas);width:100%;height:100%;min-height:0;color:var(--pz-ink);font:13px / 1.5 var(--pz-font);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;flex-direction:column;display:flex;position:relative;overflow:hidden}.pz-root.pz-dark{--pz-canvas:#121211;--pz-ink:#f4f3ef;--pz-muted:#a9a59b;--pz-faint:#6b6862;--pz-rule:#262523;--pz-chip:#1f1f1e;--pz-surface:#1b1b1a;--pz-hover:#ffffff0f;--pz-comment:#ffc81e;--pz-rind:#ffc81e;--pz-comment-ink:#111110;--pz-comment-soft:#2e2a1c;--pz-danger:#ff6b5e;--pz-shadow:0 1px 2px #0006, 0 10px 30px #00000080;--pz-board-shadow:0 0 0 1px #ffffff0f;--pz-bar:#1c1c1cb8;--pz-bar-shadow:0 0 0 .5px #ffffff1a, 0 6px 20px #0006, 0 1px 3px #0000004d;--pz-raised:#3a3a3a;--pz-raised-shadow:0 0 0 .5px #ffffff0f, 0 1px 2px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:where(.pz-root) button{font:inherit;color:inherit;cursor:pointer;background:0 0;border-width:0;padding:0}:where(.pz-root) input,:where(.pz-root) textarea{font:inherit;color:inherit}:where(.pz-root) *,:where(.pz-root) :before,:where(.pz-root) :after{box-sizing:border-box;border:0 solid var(--pz-rule)}.pz-tip{font-family:var(--pz-font,"Inter", system-ui, -apple-system, sans-serif)}.pz-tip kbd{border:0;margin:0}@keyframes pz-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.pz-shimmer{background:linear-gradient(90deg,currentColor 40% 50%,currentColor 60%) 0 0/200% 100%}@supports (color:color-mix(in lab, red, red)){.pz-shimmer{background:linear-gradient(90deg, currentColor 40%, color-mix(in srgb, currentColor 30%, transparent) 50%, currentColor 60%) 0 0 / 200% 100%}}.pz-shimmer{-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:1.8s linear infinite pz-shimmer}@keyframes pz-trace{to{stroke-dashoffset:-100px}}.pz-trace{stroke-dasharray:10.67 6;animation:9.6s linear infinite pz-trace}@keyframes pz-ring-in{0%{opacity:0}}@keyframes pz-ring{to{opacity:0}}.pz-ring{animation:.4s ease-out both pz-ring-in;box-shadow:0 0 0 1px #ffc81e66,0 0 4px 1px #ffc81e2e}.pz-ring:after{content:"";border-radius:inherit;animation:1.5s ease-in-out infinite alternate both pz-ring;animation-delay:inherit;position:absolute;inset:0;box-shadow:0 0 0 2px #ffc81eb3,0 0 10px 3px #ffc81e47}@keyframes pz-fall{0%{transform:translateY(-66.667%)}}.pz-rain{--pz-rain-dot:radial-gradient(circle at .125em .125em, #000 .125em, transparent calc(.125em + .5px));height:1em;-webkit-mask:var(--pz-rain-dot) 0 .165em / .42em .42em repeat-x, var(--pz-rain-dot) 0 .585em / .42em .42em repeat-x;-webkit-mask:var(--pz-rain-dot) 0 .165em / .42em .42em repeat-x, var(--pz-rain-dot) 0 .585em / .42em .42em repeat-x;-webkit-mask:var(--pz-rain-dot) 0 .165em / .42em .42em repeat-x, var(--pz-rain-dot) 0 .585em / .42em .42em repeat-x;mask:var(--pz-rain-dot) 0 .165em / .42em .42em repeat-x, var(--pz-rain-dot) 0 .585em / .42em .42em repeat-x;gap:.17em}.pz-rain>span{width:.25em;height:.67em;animation:pz-appear .3s ease-out calc(var(--i) * 16ms) both;position:relative}.pz-rain>span:before{content:"";background:linear-gradient(to bottom, transparent 0%, var(--pz-rind,#ffc81e) 30%, var(--pz-rind,#ffc81e) 45%, transparent 66%);height:300%;position:absolute;top:0;left:-.08em;right:-.08em}@supports (color:color-mix(in lab, red, red)){.pz-rain>span:before{background:linear-gradient(to bottom, transparent 0%, var(--pz-rind,#ffc81e) 30%, color-mix(in srgb, var(--pz-rind,#ffc81e) 60%, transparent) 45%, transparent 66%)}}.pz-rain>span:before{animation:pz-fall var(--fall) linear var(--drift) infinite}.pz-rain-fit{max-width:calc(round(down,50% + .17em,.42em) - .17em);overflow:hidden}@keyframes pz-juice{0%{transform:rotate(0)}50%,to{transform:rotate(60deg)}}.pz-juice{animation:1.2s cubic-bezier(.65,0,.2,1) infinite pz-juice}.pz-juice-slow{animation-duration:2.4s}.pz-still .pz-shimmer,.pz-still .pz-trace,.pz-still .pz-ring,.pz-still .pz-ring:after,.pz-still .pz-rain>span,.pz-still .pz-rain>span:before,.pz-still .pz-juice{animation-play-state:paused}@keyframes pz-appear{0%{opacity:0}}.pz-appear{animation:.3s ease-out both pz-appear}.pz-hint{flex-shrink:0;place-items:center;display:inline-grid;position:relative}.pz-hint-icon{transition:opacity .12s ease-out,transform .12s ease-out;display:grid}.pz-hint-keys{background:currentColor;border-radius:4px;align-items:center;gap:1px;height:16px;margin-top:-8px;padding:0 3px;display:flex;position:absolute;top:50%;right:-2.5px}@supports (color:color-mix(in lab, red, red)){.pz-hint-keys{background:color-mix(in srgb, currentColor 8%, transparent)}}.pz-hint-keys{font:500 10.5px / 1 var(--pz-font,"Inter", system-ui, -apple-system, sans-serif);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity 90ms ease-in,transform 90ms ease-in;transform:translateY(2px)scale(.96)}.pz-hint-center .pz-hint-keys{right:50%;translate:50%}.pz-hint-label{color:currentColor;align-items:center;gap:1px;display:flex}@supports (color:color-mix(in lab, red, red)){.pz-hint-label{color:color-mix(in srgb, currentColor 50%, transparent)}}.pz-hint-mod{font-size:10px}.pz-hint[data-shown] .pz-hint-icon{opacity:0;transition-delay:calc(var(--i,0) * 18ms);transform:scale(.7)}.pz-hint[data-shown] .pz-hint-keys{opacity:1;transition:opacity .16s cubic-bezier(.2,.8,.2,1),transform .16s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i,0) * 18ms);transform:none}@media (prefers-reduced-motion:reduce){.pz-hint-icon,.pz-hint-keys,.pz-hint[data-shown] .pz-hint-icon,.pz-hint[data-shown] .pz-hint-keys{transition:none}.pz-shimmer{-webkit-text-fill-color:currentColor;animation:none}.pz-trace{stroke-dasharray:none;animation:none}.pz-ring,.pz-ring:after,.pz-rain>span,.pz-rain>span:before,.pz-juice,.pz-appear{animation:none}}@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-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@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-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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:"<percentage>";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:"<percentage>";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:"<length>";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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@layer theme{:root,:host{--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-normal:1.5;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Inter", system-ui, -apple-system, sans-serif;--default-mono-font-family:"IBM Plex Mono", ui-monospace, monospace}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html,body,#root{height:100%}body{background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:13px;overflow:hidden}*{border-color:var(--border)}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.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}.inset-0{inset:0}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.top-\[50\%\]{top:50%}.right-1{right:var(--spacing)}.right-4{right:calc(var(--spacing) * 4)}.bottom-6{bottom:calc(var(--spacing) * 6)}.left-1\/2,.left-\[50\%\]{left:50%}.z-50{z-index:50}.m-0{margin:0}.mx-1\.5{margin-inline:calc(var(--spacing) * 1.5)}.mx-5{margin-inline:calc(var(--spacing) * 5)}.mx-auto{margin-inline:auto}.my-1{margin-block:var(--spacing)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-6{margin-top:calc(var(--spacing) * 6)}.-mb-3\.5{margin-bottom:calc(var(--spacing) * -3.5)}.-ml-1\.5{margin-left:calc(var(--spacing) * -1.5)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.aspect-\[16\/11\]{aspect-ratio:16/11}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-\[11px\]{width:11px;height:11px}.size-\[18px\]{width:18px;height:18px}.size-\[22px\]{width:22px;height:22px}.size-\[176px\]{width:176px;height:176px}.size-full{width:100%;height:100%}.h-2{height:calc(var(--spacing) * 2)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-\[9px\]{height:9px}.h-\[11px\]{height:11px}.h-\[30px\]{height:30px}.h-\[34px\]{height:34px}.h-\[200px\]{height:200px}.h-full{height:100%}.h-px{height:1px}.max-h-\[160px\]{max-height:160px}.max-h-\[225px\]{max-height:225px}.max-h-\[min\(320px\,50vh\)\]{max-height:min(320px,50vh)}.min-h-0{min-height:0}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-\[22\%\]{width:22%}.w-\[30\%\]{width:30%}.w-\[46\%\]{width:46%}.w-\[248px\]{width:248px}.w-\[272px\]{width:272px}.w-\[320px\]{width:320px}.w-full{width:100%}.max-w-\[220px\]{max-width:220px}.max-w-\[240px\]{max-width:240px}.max-w-\[640px\]{max-width:640px}.max-w-\[1088px\]{max-width:1088px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-56{min-width:calc(var(--spacing) * 56)}.min-w-\[200px\]{min-width:200px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.shrink-\[2\]{flex-shrink:2}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);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)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.resize{resize:both}.\[scrollbar-width\:none\]{scrollbar-width:none}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[56px_minmax\(0\,1fr\)\]{grid-template-columns:56px minmax(0,1fr)}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-\[5px\]{gap:5px}.gap-\[7px\]{gap:7px}.gap-\[9px\]{gap:9px}.gap-\[18px\]{gap:18px}.gap-\[22px\]{gap:22px}.gap-x-2\.5{column-gap:calc(var(--spacing) * 2.5)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.gap-y-7{row-gap:calc(var(--spacing) * 7)}.self-center{align-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[3px\]{border-radius:3px}.rounded-\[5px\]{border-radius:5px}.rounded-\[7px\]{border-radius:7px}.rounded-\[9px\]{border-radius:9px}.rounded-\[10px\]{border-radius:10px}.rounded-\[11px\]{border-radius:11px}.rounded-\[14px\]{border-radius:14px}.rounded-\[18px\]{border-radius:18px}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-current{border-color:currentColor}.border-input{border-color:var(--border)}.border-r-transparent{border-right-color:#0000}.bg-\[var\(--hairline-strong\)\]{background-color:var(--hairline-strong)}.bg-background{background-color:var(--background)}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab, red, red)){.bg-black\/40{background-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.bg-canvas{background-color:var(--canvas)}.bg-card{background-color:var(--card)}.bg-flesh{background-color:var(--flesh)}.bg-foreground{background-color:var(--foreground)}.bg-hairline{background-color:var(--hairline)}.bg-highlight{background-color:var(--highlight)}.bg-home,.bg-home\/15{background-color:var(--home)}@supports (color:color-mix(in lab, red, red)){.bg-home\/15{background-color:color-mix(in oklab, var(--home) 15%, transparent)}}.bg-popover{background-color:var(--card)}.bg-preview{background-color:var(--canvas)}.bg-primary{background-color:var(--foreground)}.bg-secondary,.bg-secondary\/70{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.bg-secondary\/70{background-color:color-mix(in oklab, var(--secondary) 70%, transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.\[mask-image\:linear-gradient\(to_right\,transparent\,\#000_var\(--fade-start\,0px\)\,\#000_calc\(100\%_-_var\(--fade-end\,0px\)\)\,transparent\)\]{-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--fade-start,0px),#000 calc(100% - var(--fade-end,0px)),transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--fade-start,0px),#000 calc(100% - var(--fade-end,0px)),transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--fade-start,0px),#000 calc(100% - var(--fade-end,0px)),transparent);mask-image:linear-gradient(to right,transparent,#000 var(--fade-start,0px),#000 calc(100% - var(--fade-end,0px)),transparent)}.object-contain{object-fit:contain}.p-0{padding:0}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-\[5px\]{padding:5px}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-\[18px\]{padding-block:18px}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-12{padding-top:calc(var(--spacing) * 12)}.pr-1{padding-right:var(--spacing)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-\[calc\(100vw-env\(titlebar-area-x\,0px\)-env\(titlebar-area-width\,100vw\)\+8px\)\]{padding-right:calc(100vw - env(titlebar-area-x,0px) - env(titlebar-area-width,100vw) + 8px)}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.pl-1\.5{padding-left:calc(var(--spacing) * 1.5)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3\.5{padding-left:calc(var(--spacing) * 3.5)}.pl-\[9px\]{padding-left:9px}.pl-\[18px\]{padding-left:18px}.pl-\[88px\]{padding-left:88px}.text-center{text-align:center}.text-left{text-align:left}.font-display{font-family:Funnel Display,Inter,system-ui,sans-serif}.font-mono{font-family:IBM Plex Mono,ui-monospace,monospace}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--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))}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[17px\]{font-size:17px}.text-\[22px\]{font-size:22px}.text-\[30px\]{font-size:30px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-\[1\.15\]{--tw-leading:1.15;line-height:1.15}.leading-\[17px\]{--tw-leading:17px;line-height:17px}.leading-\[19px\]{--tw-leading:19px;line-height:19px}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.whitespace-nowrap{white-space:nowrap}.text-\[\#0e0e0e\]{color:#0e0e0e}.text-background{color:var(--background)}.text-faint{color:var(--faint)}.text-foreground{color:var(--foreground)}.text-home{color:var(--home)}.text-inherit{color:inherit}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--foreground)}.text-primary-foreground{color:var(--canvas)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-55{opacity:.55}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow-\[0_0_0_0\.5px_var\(--hairline-strong\)\,0_1px_2px_rgba\(0\,0\,0\,0\.06\)\,0_8px_28px_rgba\(0\,0\,0\,0\.1\)\]{--tw-shadow:0 0 0 .5px var(--tw-shadow-color,var(--hairline-strong)), 0 1px 2px var(--tw-shadow-color,#0000000f), 0 8px 28px 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-\[0_0_0_1px_rgba\(0\,0\,0\,0\.06\)\,0_2px_6px_rgba\(0\,0\,0\,0\.06\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#0000000f), 0 2px 6px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_1px_rgba\(17\,17\,16\,0\.1\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#1111101a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_1px_var\(--hairline\)\,0_1px_2px_rgba\(0\,0\,0\,0\.03\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--hairline)), 0 1px 2px var(--tw-shadow-color,#00000008);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_1px_var\(--hairline\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--hairline));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_1px_var\(--hairline-strong\)\,0_1px_2px_rgba\(0\,0\,0\,0\.06\)\,0_8px_28px_rgba\(0\,0\,0\,0\.1\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--hairline-strong)), 0 1px 2px var(--tw-shadow-color,#0000000f), 0 8px 28px 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-\[0_1px_2px_rgba\(0\,0\,0\,0\.06\)\,0_8px_28px_rgba\(0\,0\,0\,0\.1\)\]{--tw-shadow:0 1px 2px var(--tw-shadow-color,#0000000f), 0 8px 28px 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-\[0_1px_2px_rgba\(0\,0\,0\,0\.06\)\,0_18px_50px_rgba\(0\,0\,0\,0\.2\)\,0_0_0_0\.5px_rgba\(0\,0\,0\,0\.12\)\]{--tw-shadow:0 1px 2px var(--tw-shadow-color,#0000000f), 0 18px 50px var(--tw-shadow-color,#0003), 0 0 0 .5px var(--tw-shadow-color,#0000001f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_0_0_0_1\.5px_var\(--hairline-strong\)\]{--tw-shadow:inset 0 0 0 1.5px var(--tw-shadow-color,var(--hairline-strong));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_0_0_0_1px_var\(--hairline\)\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--hairline));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.grayscale{--tw-grayscale:grayscale(100%);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,)}.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-\[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-\[filter\]{transition-property:filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;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))}.transition-shadow{transition-property:box-shadow;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}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[animation-duration\:2s\]{animation-duration:2s}.app-drag{-webkit-app-region:drag}.app-no-drag{-webkit-app-region:no-drag}@media (hover:hover){.group-hover\:\[mask-image\:linear-gradient\(to_left\,transparent_14px\,\#000_32px\)\]:is(:where(.group):hover *){-webkit-mask-image:linear-gradient(270deg,#0000 14px,#000 32px);mask-image:linear-gradient(270deg,#0000 14px,#000 32px)}.group-hover\:text-muted-foreground:is(:where(.group):hover *){color:var(--muted-foreground)}.group-hover\:opacity-60:is(:where(.group):hover *){opacity:.6}.group-hover\:shadow-\[0_0_0_1px_var\(--hairline-strong\)\,0_4px_14px_rgba\(0\,0\,0\,0\.06\)\]:is(:where(.group):hover *){--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--hairline-strong)), 0 4px 14px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.group-focus-visible\:\[mask-image\:linear-gradient\(to_left\,transparent_14px\,\#000_32px\)\]:is(:where(.group):focus-visible *){-webkit-mask-image:linear-gradient(270deg,#0000 14px,#000 32px);mask-image:linear-gradient(270deg,#0000 14px,#000 32px)}.group-focus-visible\:opacity-60:is(:where(.group):focus-visible *){opacity:.6}.group-focus-visible\:shadow-\[0_0_0_2px_var\(--ring\)\]:is(:where(.group):focus-visible *){--tw-shadow:0 0 0 2px var(--tw-shadow-color,var(--ring));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.marker\:text-muted-foreground ::marker{color:var(--muted-foreground)}.marker\:text-muted-foreground::marker{color:var(--muted-foreground)}.marker\:text-muted-foreground ::-webkit-details-marker{color:var(--muted-foreground)}.marker\:text-muted-foreground::-webkit-details-marker{color:var(--muted-foreground)}.selection\:bg-primary ::selection{background-color:var(--foreground)}.selection\:bg-primary::selection{background-color:var(--foreground)}.selection\:text-primary-foreground ::selection{color:var(--canvas)}.selection\:text-primary-foreground::selection{color:var(--canvas)}.placeholder\:text-faint::placeholder{color:var(--faint)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-home\/25:hover{background-color:var(--home)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-home\/25:hover{background-color:color-mix(in oklab, var(--home) 25%, transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--foreground) 90%, transparent)}}.hover\:bg-secondary:hover{background-color:var(--secondary)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:opacity-100\!:hover{opacity:1!important}.hover\:brightness-95:hover{--tw-brightness:brightness(95%);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,)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:shadow-\[0_0_0_2px_var\(--ring\)\]:focus-visible{--tw-shadow:0 0 0 2px var(--tw-shadow-color,var(--ring));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-\[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-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--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}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-40[data-disabled]{opacity:.4}.data-\[highlighted\]\:bg-accent[data-highlighted]{background-color:var(--accent)}.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(--accent)}.data-\[state\=open\]\:text-foreground[data-state=open]{color:var(--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}@media (prefers-reduced-motion:no-preference){.motion-safe\:animate-pulse{animation:var(--animate-pulse)}}@media (prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}}@media not all and (width>=1100px){.max-\[1100px\]\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media not all and (width>=820px){.max-\[820px\]\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=40rem){.sm\:max-w-\[520px\]{max-width:520px}.sm\:max-w-md{max-width:var(--container-md)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}}.dark\:shadow-\[0_0_0_1px_rgba\(255\,255\,255\,0\.08\)\]:where([data-theme=dark],[data-theme=dark] *){--tw-shadow:0 0 0 1px var(--tw-shadow-color,#ffffff14);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.\[\&_button\]\:app-no-drag button{-webkit-app-region:no-drag}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\]\:text-muted-foreground svg{color:var(--muted-foreground)}}@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}:root{--background:#e8e6e0;--foreground:#111110;--muted-foreground:#5e5b54;--secondary:#f4f3ef;--accent:#1111100d;--card:#fff;--border:#e8e6e0;--canvas:#f4f3ef;--ring:#1f6bff;--home:#faf9f6;--faint:#a9a59b;--hairline:#1111100f;--hairline-strong:#1111101f;--highlight:#ffe89a;--rind:#ffc81e;--flesh:#ffc81e}[data-theme=dark]{--background:#0e0e0d;--foreground:#f4f3ef;--muted-foreground:#8e8a82;--secondary:#1b1b1a;--accent:#ffffff0f;--card:#161615;--border:#262523;--canvas:#121211;--ring:#4c8dff;--home:#151514;--faint:#6b6862;--hairline:#ffffff1c;--hairline-strong:#fff3;--highlight:#ffc81e52;--rind:#ffc81e;--flesh:#ffc81e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.search{box-shadow:0 0 0 1px var(--hairline-strong), 0 1px 2px #0000000a}.search:focus-within{box-shadow:0 0 0 1px var(--rind), 0 0 0 4px var(--rind)}@supports (color:color-mix(in lab, red, red)){.search:focus-within{box-shadow:0 0 0 1px var(--rind), 0 0 0 4px color-mix(in srgb, var(--rind) 22%, transparent)}}.search input{caret-color:var(--rind)}.ghost{box-shadow:inset 0 0 0 1px var(--hairline);background:repeating-linear-gradient(135deg, var(--foreground) 0 8px, transparent 8px 16px)}@supports (color:color-mix(in lab, red, red)){.ghost{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--foreground) 2%, transparent) 0 8px, transparent 8px 16px)}}@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-tracking{syntax:"*";inherits:false}@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:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@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))}}
|