@devframes/plugin-a11y--assets 0.9.15 → 0.9.17

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.
@@ -1 +1 @@
1
- @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{--un-accent-opacity:100%;--un-bg-opacity:100%;--un-border-left-opacity:100%;--un-border-opacity:100%;--un-leading:initial;--un-ring-opacity:100%;--un-text-opacity:100%;--un-translate-x:initial;--un-translate-y:initial;--un-translate-z:initial}}@property --un-text-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-leading{syntax:"*";inherits:false}@property --un-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --un-accent-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-border-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-border-left-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-bg-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-ring-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-inset-ring-color{syntax:"*";inherits:false}@property --un-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-inset-shadow-color{syntax:"*";inherits:false}@property --un-ring-color{syntax:"*";inherits:false}@property --un-ring-inset{syntax:"*";inherits:false}@property --un-ring-offset-color{syntax:"*";inherits:false}@property --un-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --un-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-shadow-color{syntax:"*";inherits:false}@property --un-translate-x{syntax:"*";inherits:false;initial-value:0}@property --un-translate-y{syntax:"*";inherits:false;initial-value:0}@property --un-translate-z{syntax:"*";inherits:false;initial-value:0}@property --un-backdrop-blur{syntax:"*";inherits:false}@property --un-backdrop-brightness{syntax:"*";inherits:false}@property --un-backdrop-contrast{syntax:"*";inherits:false}@property --un-backdrop-grayscale{syntax:"*";inherits:false}@property --un-backdrop-hue-rotate{syntax:"*";inherits:false}@property --un-backdrop-invert{syntax:"*";inherits:false}@property --un-backdrop-opacity{syntax:"*";inherits:false}@property --un-backdrop-saturate{syntax:"*";inherits:false}@property --un-backdrop-sepia{syntax:"*";inherits:false}@property --un-blur{syntax:"*";inherits:false}@property --un-brightness{syntax:"*";inherits:false}@property --un-contrast{syntax:"*";inherits:false}@property --un-drop-shadow{syntax:"*";inherits:false}@property --un-grayscale{syntax:"*";inherits:false}@property --un-hue-rotate{syntax:"*";inherits:false}@property --un-invert{syntax:"*";inherits:false}@property --un-saturate{syntax:"*";inherits:false}@property --un-sepia{syntax:"*";inherits:false}@property --un-numeric-figure{syntax:"*";inherits:false}@property --un-numeric-fraction{syntax:"*";inherits:false}@property --un-numeric-spacing{syntax:"*";inherits:false}@property --un-ordinal{syntax:"*";inherits:false}@property --un-slashed-zero{syntax:"*";inherits:false}:root,:host{--radius-md:.375rem;--spacing:.25rem;--colors-white:#fff;--text-xs-fontSize:.75rem;--text-xs-lineHeight:1rem;--colors-neutral-200:oklch(92.2% 0 0);--colors-neutral-800:oklch(26.9% 0 0);--radius-DEFAULT:.25rem;--default-transition-timingFunction:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--radius-lg:.5rem;--fontWeight-semibold:600;--fontWeight-medium:500;--container-sm:24rem;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--radius-xl:.75rem;--colors-black:#000;--font-sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--leading-relaxed:1.625;--colors-error-DEFAULT:#f63d68;--colors-neutral-400:oklch(70.8% 0 0);--colors-warning-DEFAULT:#f79009;--colors-success-DEFAULT:#12b76a;--colors-amber-500:oklch(76.9% .188 70.08);--text-sm-fontSize:.875rem;--text-sm-lineHeight:1.25rem;--text-base-fontSize:1rem;--text-base-lineHeight:1.5rem;--text-4xl-fontSize:2.25rem;--text-4xl-lineHeight:2.5rem;--text-lg-fontSize:1.125rem;--text-lg-lineHeight:1.75rem;--colors-primary-500:#578861;--leading-none:1;--colors-blue-400:oklch(70.7% .165 254.624);--colors-amber-400:oklch(82.8% .189 84.429);--colors-green-400:oklch(79.2% .209 151.711);--colors-red-400:oklch(70.4% .191 22.216);--colors-sky-400:oklch(74.6% .16 232.661);--colors-violet-400:oklch(70.2% .183 293.541);--colors-rose-400:oklch(71.2% .194 13.428);--colors-teal-400:oklch(77.7% .152 181.912);--colors-orange-400:oklch(75% .183 55.934);--colors-emerald-400:oklch(76.5% .177 163.223);--colors-blue-700:oklch(48.8% .243 264.376);--colors-blue-600:oklch(54.6% .245 262.881);--colors-amber-700:oklch(55.5% .163 48.998);--colors-amber-600:oklch(66.6% .179 58.318);--colors-green-700:oklch(52.7% .154 150.069);--colors-green-600:oklch(62.7% .194 149.214);--colors-red-700:oklch(50.5% .213 27.518);--colors-red-600:oklch(57.7% .245 27.325);--colors-sky-700:oklch(50% .134 242.749);--colors-sky-600:oklch(58.8% .158 241.966);--colors-violet-700:oklch(49.1% .27 292.581);--colors-violet-600:oklch(54.1% .281 293.009);--colors-rose-700:oklch(51.4% .222 16.935);--colors-rose-600:oklch(58.6% .253 17.585);--colors-teal-700:oklch(51.1% .096 186.391);--colors-teal-600:oklch(60% .118 184.704);--colors-orange-700:oklch(55.3% .195 38.402);--colors-orange-600:oklch(64.6% .222 41.116);--colors-emerald-700:oklch(50.8% .118 165.612);--colors-emerald-600:oklch(59.6% .145 163.225);--colors-primary-600:#40704b;--colors-neutral-600:oklch(43.9% 0 0);--colors-neutral-500:oklch(55.6% 0 0);--colors-blue-300:oklch(80.9% .105 251.813);--colors-amber-300:oklch(87.9% .169 91.605);--colors-green-300:oklch(87.1% .15 154.449);--colors-red-300:oklch(80.8% .114 19.571);--colors-sky-300:oklch(82.8% .111 230.318);--colors-violet-300:oklch(81.1% .111 293.571);--colors-rose-300:oklch(81% .117 11.638);--colors-teal-300:oklch(85.5% .138 181.071);--colors-orange-300:oklch(83.7% .128 66.29);--colors-emerald-300:oklch(84.5% .143 164.978);--colors-primary-300:#93c69d;--colors-primary-400:#75a67e;--fontWeight-bold:700;--tracking-wide:.025em;--leading-snug:1.375;--default-font-family:var(--font-sans);--default-monoFont-family:var(--font-mono)}*,: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-featureSettings,normal);font-variation-settings:var(--default-font-variationSettings,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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-monoFont-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-monoFont-featureSettings,normal);font-variation-settings:var(--default-monoFont-variationSettings,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: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}*,:before,:after{border-color:#8882}.i-ph-arrows-clockwise{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M224 48v48a8 8 0 0 1-8 8h-48a8 8 0 0 1 0-16h28.69l-14.63-14.63a79.56 79.56 0 0 0-56.13-23.43h-.45a79.52 79.52 0 0 0-55.89 22.77a8 8 0 0 1-11.18-11.44a96 96 0 0 1 135 .79L208 76.69V48a8 8 0 0 1 16 0m-37.59 135.29a80 80 0 0 1-112.47-.66L59.31 168H88a8 8 0 0 0 0-16H40a8 8 0 0 0-8 8v48a8 8 0 0 0 16 0v-28.69l14.63 14.63A95.43 95.43 0 0 0 130 222.06h.53a95.36 95.36 0 0 0 67.07-27.33a8 8 0 0 0-11.18-11.44Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-caret-right{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m181.66 133.66l-80 80a8 8 0 0 1-11.32-11.32L164.69 128L90.34 53.66a8 8 0 0 1 11.32-11.32l80 80a8 8 0 0 1 0 11.32'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-check{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m229.66 77.66l-128 128a8 8 0 0 1-11.32 0l-56-56a8 8 0 0 1 11.32-11.32L96 188.69L218.34 66.34a8 8 0 0 1 11.32 11.32'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-check-circle-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M224 128a96 96 0 1 1-96-96a96 96 0 0 1 96 96' opacity='.2'/%3E%3Cpath d='M173.66 98.34a8 8 0 0 1 0 11.32l-56 56a8 8 0 0 1-11.32 0l-24-24a8 8 0 0 1 11.32-11.32L112 148.69l50.34-50.35a8 8 0 0 1 11.32 0M232 128A104 104 0 1 1 128 24a104.11 104.11 0 0 1 104 104m-16 0a88 88 0 1 0-88 88a88.1 88.1 0 0 0 88-88'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-check-square-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M216 48v160a8 8 0 0 1-8 8H48a8 8 0 0 1-8-8V48a8 8 0 0 1 8-8h160a8 8 0 0 1 8 8' opacity='.2'/%3E%3Cpath d='M173.66 98.34a8 8 0 0 1 0 11.32l-56 56a8 8 0 0 1-11.32 0l-24-24a8 8 0 0 1 11.32-11.32L112 148.69l50.34-50.35a8 8 0 0 1 11.32 0M224 48v160a16 16 0 0 1-16 16H48a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16m-16 160V48H48v160z'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-copy{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M216 32H88a8 8 0 0 0-8 8v40H40a8 8 0 0 0-8 8v128a8 8 0 0 0 8 8h128a8 8 0 0 0 8-8v-40h40a8 8 0 0 0 8-8V40a8 8 0 0 0-8-8m-56 176H48V96h112Zm48-48h-32V88a8 8 0 0 0-8-8H96V48h112Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-lock-key-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M208 88H48a8 8 0 0 0-8 8v112a8 8 0 0 0 8 8h160a8 8 0 0 0 8-8V96a8 8 0 0 0-8-8m-80 72a20 20 0 1 1 20-20a20 20 0 0 1-20 20' opacity='.2'/%3E%3Cpath d='M208 80h-32V56a48 48 0 0 0-96 0v24H48a16 16 0 0 0-16 16v112a16 16 0 0 0 16 16h160a16 16 0 0 0 16-16V96a16 16 0 0 0-16-16M96 56a32 32 0 0 1 64 0v24H96Zm112 152H48V96h160zm-80-96a28 28 0 0 0-8 54.83V184a8 8 0 0 0 16 0v-17.17a28 28 0 0 0-8-54.83m0 40a12 12 0 1 1 12-12a12 12 0 0 1-12 12'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-person-simple-circle-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M224 128a96 96 0 1 1-96-96a96 96 0 0 1 96 96' opacity='.2'/%3E%3Cpath d='M128 24a104 104 0 1 0 104 104A104.11 104.11 0 0 0 128 24m0 192a88 88 0 1 1 88-88a88.1 88.1 0 0 1-88 88M112 80a16 16 0 1 1 16 16a16 16 0 0 1-16-16m72 32a8 8 0 0 1-8 8h-40v13.58l30.66 46a8 8 0 0 1-13.32 8.88l-25.34-38l-25.34 38a8 8 0 1 1-13.32-8.88l30.66-46V120H80a8 8 0 0 1 0-16h96a8 8 0 0 1 8 8'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-plugs-connected-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='m185 127l-58 58a24 24 0 0 1-33.94 0L71 162.91A24 24 0 0 1 71 129l58-58a24 24 0 0 1 33.94 0L185 93.09a24 24 0 0 1 0 33.91' opacity='.2'/%3E%3Cpath d='M237.66 18.34a8 8 0 0 0-11.32 0l-52.4 52.41l-5.37-5.38a32.05 32.05 0 0 0-45.26 0L100 88.69l-6.34-6.35a8 8 0 0 0-11.32 11.32l6.35 6.34l-23.32 23.31a32 32 0 0 0 0 45.26l5.38 5.37l-52.41 52.4a8 8 0 0 0 11.32 11.32l52.4-52.41l5.37 5.38a32.06 32.06 0 0 0 45.26 0L156 167.31l6.34 6.35a8 8 0 0 0 11.32-11.32l-6.35-6.34l23.32-23.31a32 32 0 0 0 0-45.26l-5.38-5.37l52.41-52.4a8 8 0 0 0 0-11.32m-116.29 161a16 16 0 0 1-22.62 0l-22.06-22.09a16 16 0 0 1 0-22.62L100 111.31L144.69 156Zm57.94-57.94L156 144.69L111.31 100l23.32-23.31a16 16 0 0 1 22.62 0l22.06 22a16 16 0 0 1 0 22.63ZM88.57 35a8 8 0 0 1 14.86-6l8 20a8 8 0 0 1-14.86 6Zm-64 58A8 8 0 0 1 35 88.57l20 8a8 8 0 0 1-6 14.86l-20-8A8 8 0 0 1 24.57 93m206.86 70a8 8 0 0 1-10.4 4.46l-20-8a8 8 0 1 1 5.97-14.89l20 8a8 8 0 0 1 4.43 10.43m-64 58.06a8 8 0 0 1-14.86 5.94l-8-20a8 8 0 0 1 14.86-6Z'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-plugs-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='m76 124l56 56l-29 29a24 24 0 0 1-33.94 0L47 186.91A24 24 0 0 1 47 153Zm133-54.91L186.91 47A24 24 0 0 0 153 47l-29 29l56 56l29-29a24 24 0 0 0 0-33.91' opacity='.2'/%3E%3Cpath d='M149.66 138.34a8 8 0 0 0-11.32 0L120 156.69L99.31 136l18.35-18.34a8 8 0 0 0-11.32-11.32L88 124.69l-18.34-18.35a8 8 0 0 0-11.32 11.32l6.35 6.34l-23.32 23.31a32 32 0 0 0 0 45.26l5.38 5.37l-28.41 28.4a8 8 0 0 0 11.32 11.32l28.4-28.41l5.37 5.38a32 32 0 0 0 45.26 0L132 191.31l6.34 6.35a8 8 0 0 0 11.32-11.32L131.31 168l18.35-18.34a8 8 0 0 0 0-11.32m-52.29 65a16 16 0 0 1-22.62 0l-22.06-22.09a16 16 0 0 1 0-22.62L76 135.31L120.69 180Zm140.29-185a8 8 0 0 0-11.32 0l-28.4 28.41l-5.37-5.38a32.05 32.05 0 0 0-45.26 0L124 64.69l-6.34-6.35a8 8 0 0 0-11.32 11.32l80 80a8 8 0 0 0 11.32-11.32l-6.35-6.34l23.32-23.31a32 32 0 0 0 0-45.26l-5.38-5.37l28.41-28.4a8 8 0 0 0 0-11.32m-34.35 79L180 120.69L135.31 76l23.32-23.31a16 16 0 0 1 22.62 0l22.06 22a16 16 0 0 1 0 22.68Z'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-selection-inverse-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M216 48v160a8 8 0 0 1-2.34 5.66L42.34 42.34A8 8 0 0 1 48 40h160a8 8 0 0 1 8 8' opacity='.2'/%3E%3Cpath d='M152 216a8 8 0 0 1-8 8h-32a8 8 0 0 1 0-16h32a8 8 0 0 1 8 8M40 152a8 8 0 0 0 8-8v-32a8 8 0 0 0-16 0v32a8 8 0 0 0 8 8m32 56H48v-24a8 8 0 0 0-16 0v24a16 16 0 0 0 16 16h24a8 8 0 0 0 0-16M224 48v160a16 16 0 0 1-16 16h-24a8 8 0 0 1 0-16h12.69L48 59.31V72a8 8 0 0 1-16 0V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16m-16 0H59.31L208 196.69Z'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-sparkle-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='m194.82 151.43l-55.09 20.3l-20.3 55.09a7.92 7.92 0 0 1-14.86 0l-20.3-55.09l-55.09-20.3a7.92 7.92 0 0 1 0-14.86l55.09-20.3l20.3-55.09a7.92 7.92 0 0 1 14.86 0l20.3 55.09l55.09 20.3a7.92 7.92 0 0 1 0 14.86' opacity='.2'/%3E%3Cpath d='M197.58 129.06L146 110l-19-51.62a15.92 15.92 0 0 0-29.88 0L78 110l-51.62 19a15.92 15.92 0 0 0 0 29.88L78 178l19 51.62a15.92 15.92 0 0 0 29.88 0L146 178l51.62-19a15.92 15.92 0 0 0 0-29.88ZM137 164.22a8 8 0 0 0-4.74 4.74L112 223.85L91.78 169a8 8 0 0 0-4.78-4.78L32.15 144L87 123.78a8 8 0 0 0 4.78-4.78L112 64.15L132.22 119a8 8 0 0 0 4.74 4.74L191.85 144ZM144 40a8 8 0 0 1 8-8h16V16a8 8 0 0 1 16 0v16h16a8 8 0 0 1 0 16h-16v16a8 8 0 0 1-16 0V48h-16a8 8 0 0 1-8-8m104 48a8 8 0 0 1-8 8h-8v8a8 8 0 0 1-16 0v-8h-8a8 8 0 0 1 0-16h8v-8a8 8 0 0 1 16 0v8h8a8 8 0 0 1 8 8'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-trash-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M200 56v152a8 8 0 0 1-8 8H64a8 8 0 0 1-8-8V56Z' opacity='.2'/%3E%3Cpath d='M216 48h-40v-8a24 24 0 0 0-24-24h-48a24 24 0 0 0-24 24v8H40a8 8 0 0 0 0 16h8v144a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16V64h8a8 8 0 0 0 0-16M96 40a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v8H96Zm96 168H64V64h128Zm-80-104v64a8 8 0 0 1-16 0v-64a8 8 0 0 1 16 0m48 0v64a8 8 0 0 1-16 0v-64a8 8 0 0 1 16 0'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-warning-octagon-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M224 91.55v72.9a8 8 0 0 1-2.34 5.66l-51.55 51.55a8 8 0 0 1-5.66 2.34h-72.9a8 8 0 0 1-5.66-2.34l-51.55-51.55a8 8 0 0 1-2.34-5.66v-72.9a8 8 0 0 1 2.34-5.66l51.55-51.55A8 8 0 0 1 91.55 32h72.9a8 8 0 0 1 5.66 2.34l51.55 51.55a8 8 0 0 1 2.34 5.66' opacity='.2'/%3E%3Cpath d='M120 136V80a8 8 0 0 1 16 0v56a8 8 0 0 1-16 0m112-44.45v72.9a15.86 15.86 0 0 1-4.69 11.31l-51.55 51.55a15.86 15.86 0 0 1-11.31 4.69h-72.9a15.86 15.86 0 0 1-11.31-4.69l-51.55-51.55A15.86 15.86 0 0 1 24 164.45v-72.9a15.86 15.86 0 0 1 4.69-11.31l51.55-51.55A15.86 15.86 0 0 1 91.55 24h72.9a15.86 15.86 0 0 1 11.31 4.69l51.55 51.55A15.86 15.86 0 0 1 232 91.55m-16 0L164.45 40h-72.9L40 91.55v72.9L91.55 216h72.9L216 164.45ZM128 160a12 12 0 1 0 12 12a12 12 0 0 0-12-12'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-x{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M205.66 194.34a8 8 0 0 1-11.32 11.32L128 139.31l-66.34 66.35a8 8 0 0 1-11.32-11.32L116.69 128L50.34 61.66a8 8 0 0 1 11.32-11.32L128 116.69l66.34-66.35a8 8 0 0 1 11.32 11.32L139.31 128Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.badge{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight));--un-leading:var(--leading-none);line-height:var(--leading-none);--un-font-weight:var(--fontWeight-medium);font-weight:var(--fontWeight-medium);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);border-radius:var(--radius-md);gap:calc(var(--spacing) * 1);align-items:center;display:inline-flex}.badge-active{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight));color:color-mix(in srgb, var(--colors-primary-600) var(--un-text-opacity), transparent);--un-leading:var(--leading-none);line-height:var(--leading-none);--un-font-weight:var(--fontWeight-medium);font-weight:var(--fontWeight-medium);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);border-radius:var(--radius-md);background-color:color-mix(in oklab, #99999930 var(--un-bg-opacity), transparent);gap:calc(var(--spacing) * 1);align-items:center;display:inline-flex}.badge-muted{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight));color:color-mix(in srgb, var(--colors-neutral-600) var(--un-text-opacity), transparent);--un-leading:var(--leading-none);line-height:var(--leading-none);--un-font-weight:var(--fontWeight-medium);font-weight:var(--fontWeight-medium);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);border-radius:var(--radius-md);background-color:color-mix(in oklab, #8881 var(--un-bg-opacity), transparent);gap:calc(var(--spacing) * 1);align-items:center;display:inline-flex}.badge-color-amber{color:color-mix(in srgb, var(--colors-amber-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-amber-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-amber-400) 10%, transparent)}.dark .badge-color-amber{color:color-mix(in srgb, var(--colors-amber-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-amber-300) 15%, transparent)}.badge-color-blue{color:color-mix(in srgb, var(--colors-blue-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-blue-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-blue-400) 10%, transparent)}.dark .badge-color-blue{color:color-mix(in srgb, var(--colors-blue-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-blue-300) 15%, transparent)}.badge-color-emerald{color:color-mix(in srgb, var(--colors-emerald-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-emerald-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-emerald-400) 10%, transparent)}.dark .badge-color-emerald{color:color-mix(in srgb, var(--colors-emerald-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-emerald-300) 15%, transparent)}.badge-color-green{color:color-mix(in srgb, var(--colors-green-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-green-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-green-400) 10%, transparent)}.dark .badge-color-green{color:color-mix(in srgb, var(--colors-green-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-green-300) 15%, transparent)}.badge-color-orange{color:color-mix(in srgb, var(--colors-orange-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-orange-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-orange-400) 10%, transparent)}.dark .badge-color-orange{color:color-mix(in srgb, var(--colors-orange-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-orange-300) 15%, transparent)}.badge-color-red{color:color-mix(in srgb, var(--colors-red-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-red-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-red-400) 10%, transparent)}.dark .badge-color-red{color:color-mix(in srgb, var(--colors-red-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-red-300) 15%, transparent)}.badge-color-rose{color:color-mix(in srgb, var(--colors-rose-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-rose-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-rose-400) 10%, transparent)}.dark .badge-color-rose{color:color-mix(in srgb, var(--colors-rose-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-rose-300) 15%, transparent)}.badge-color-sky{color:color-mix(in srgb, var(--colors-sky-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-sky-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-sky-400) 10%, transparent)}.dark .badge-color-sky{color:color-mix(in srgb, var(--colors-sky-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-sky-300) 15%, transparent)}.badge-color-teal{color:color-mix(in srgb, var(--colors-teal-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-teal-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-teal-400) 10%, transparent)}.dark .badge-color-teal{color:color-mix(in srgb, var(--colors-teal-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-teal-300) 15%, transparent)}.badge-color-violet{color:color-mix(in srgb, var(--colors-violet-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-violet-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-violet-400) 10%, transparent)}.dark .badge-color-violet{color:color-mix(in srgb, var(--colors-violet-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-violet-300) 15%, transparent)}.btn-primary{color:color-mix(in srgb, var(--colors-white) var(--un-text-opacity), transparent);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);--un-outline-style:none;border-radius:var(--radius-DEFAULT);background-color:color-mix(in srgb, var(--colors-primary-500) var(--un-bg-opacity), transparent);gap:calc(var(--spacing) * 2);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));border-width:1px;border-color:#0000;outline-style:none;align-items:center;display:flex}.dark .badge-active,.dark .color-active{color:color-mix(in srgb, var(--colors-primary-300) var(--un-text-opacity), transparent)}.dark .badge-muted,.dark .color-muted{color:color-mix(in srgb, var(--colors-neutral-400) var(--un-text-opacity), transparent)}.color-active{color:color-mix(in srgb, var(--colors-primary-600) var(--un-text-opacity), transparent)}.color-base,.data-\[state\=active\]\:color-base[data-state=active]{color:color-mix(in srgb, var(--colors-neutral-800) var(--un-text-opacity), transparent)}.dark .color-base,.dark .data-\[state\=active\]\:color-base[data-state=active]{color:color-mix(in srgb, var(--colors-neutral-200) var(--un-text-opacity), transparent)}.color-faint,.dark .color-faint{color:color-mix(in srgb, var(--colors-neutral-500) var(--un-text-opacity), transparent)}.color-muted{color:color-mix(in srgb, var(--colors-neutral-600) var(--un-text-opacity), transparent)}.dark .hover\:color-active:hover{color:color-mix(in srgb, var(--colors-primary-300) var(--un-text-opacity), transparent)}.hover\:color-active:hover{color:color-mix(in srgb, var(--colors-primary-600) var(--un-text-opacity), transparent)}.dark .hover\:color-base:hover{color:color-mix(in srgb, var(--colors-neutral-200) var(--un-text-opacity), transparent)}.hover\:color-base:hover{color:color-mix(in srgb, var(--colors-neutral-800) var(--un-text-opacity), transparent)}.dark .placeholder\:color-faint::placeholder,.placeholder\:color-faint::placeholder{color:color-mix(in srgb, var(--colors-neutral-500) var(--un-text-opacity), transparent)}.btn-action{padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);--un-outline-style:none;border-width:1px;border-color:color-mix(in oklab, #9992 var(--un-border-opacity), transparent);border-radius:var(--radius-DEFAULT);opacity:.75;gap:calc(var(--spacing) * 2);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));outline-style:none;align-items:center;display:flex}.btn-icon{--un-outline-style:none;opacity:.65;width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));border-radius:3.40282e38px;outline-style:none;justify-content:center;align-items:center;display:flex}.btn-icon-square{--un-outline-style:none;border-width:1px;border-color:color-mix(in oklab, #9992 var(--un-border-opacity), transparent);border-radius:var(--radius-DEFAULT);opacity:.65;width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));outline-style:none;justify-content:center;align-items:center;display:flex}.border-base{border-color:color-mix(in oklab, #9992 var(--un-border-opacity), transparent)}.border-base\!{border-color:color-mix(in oklab, #9992 var(--un-border-opacity), transparent)!important}.dark .focus-visible\:border-active:focus-visible{border-color:color-mix(in srgb, var(--colors-primary-400) 25%, transparent)}.focus-visible\:border-active:focus-visible{border-color:color-mix(in srgb, var(--colors-primary-600) 25%, transparent)}.bg-active{background-color:color-mix(in oklab, #99999930 var(--un-bg-opacity), transparent)}.bg-base,.data-\[state\=active\]\:bg-base[data-state=active]{background-color:color-mix(in srgb, var(--colors-white) var(--un-bg-opacity), transparent)}.dark .bg-base,.dark .data-\[state\=active\]\:bg-base[data-state=active]{background-color:color-mix(in oklab, #111 var(--un-bg-opacity), transparent)}.bg-secondary{background-color:color-mix(in oklab, #f6f6f6 var(--un-bg-opacity), transparent)}.dark .bg-secondary{background-color:color-mix(in oklab, #101010 var(--un-bg-opacity), transparent)}.hover\:bg-active:hover{background-color:color-mix(in oklab, #99999930 var(--un-bg-opacity), transparent)}.hover\:bg-hover:hover{background-color:color-mix(in oklab, #99999920 var(--un-bg-opacity), transparent)}.dark .hover\:bg-secondary:hover{background-color:color-mix(in oklab, #101010 var(--un-bg-opacity), transparent)}.hover\:bg-secondary:hover{background-color:color-mix(in oklab, #f6f6f6 var(--un-bg-opacity), transparent)}.btn-action:hover,.btn-icon:hover,.btn-icon-square:hover{background-color:color-mix(in oklab, #99999920 var(--un-bg-opacity), transparent);opacity:1}.btn-primary:hover{background-color:color-mix(in srgb, var(--colors-primary-600) var(--un-bg-opacity), transparent)}.dark .btn-icon,.dark .btn-icon-square,.dark .op-fade{opacity:.55}.op-fade{opacity:.65}.btn-action:disabled{pointer-events:none;opacity:.3!important}.btn-icon:disabled,.btn-icon-square:disabled{opacity:.3;pointer-events:none}.btn-primary:disabled{opacity:.5;pointer-events:none}.container{width:100%}.h-nav{height:calc(var(--spacing) * 10)}.btn-action:focus-visible,.btn-icon:focus-visible,.btn-icon-square:focus-visible,.btn-primary:focus-visible{--un-ring-shadow:var(--un-ring-inset,) 0 0 0 calc(2px + var(--un-ring-offset-width)) var(--un-ring-color,currentColor);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);--un-ring-color:color-mix(in srgb, var(--colors-primary-500) 40%, transparent)}.z-modal-backdrop{z-index:60}.z-modal-content{z-index:70}.z-nav{z-index:30}@supports (color:color-mix(in lab, red, red)){.badge-color-amber{color:color-mix(in oklab, var(--colors-amber-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-amber-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-amber-400) 10%, transparent)}.dark .badge-color-amber{color:color-mix(in oklab, var(--colors-amber-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-amber-300) 15%, transparent)}.badge-color-blue{color:color-mix(in oklab, var(--colors-blue-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-blue-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-blue-400) 10%, transparent)}.dark .badge-color-blue{color:color-mix(in oklab, var(--colors-blue-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-blue-300) 15%, transparent)}.badge-color-emerald{color:color-mix(in oklab, var(--colors-emerald-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-emerald-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-emerald-400) 10%, transparent)}.dark .badge-color-emerald{color:color-mix(in oklab, var(--colors-emerald-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-emerald-300) 15%, transparent)}.badge-color-green{color:color-mix(in oklab, var(--colors-green-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-green-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-green-400) 10%, transparent)}.dark .badge-color-green{color:color-mix(in oklab, var(--colors-green-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-green-300) 15%, transparent)}.badge-color-orange{color:color-mix(in oklab, var(--colors-orange-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-orange-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-orange-400) 10%, transparent)}.dark .badge-color-orange{color:color-mix(in oklab, var(--colors-orange-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-orange-300) 15%, transparent)}.badge-color-red{color:color-mix(in oklab, var(--colors-red-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-red-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-red-400) 10%, transparent)}.dark .badge-color-red{color:color-mix(in oklab, var(--colors-red-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-red-300) 15%, transparent)}.badge-color-rose{color:color-mix(in oklab, var(--colors-rose-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-rose-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-rose-400) 10%, transparent)}.dark .badge-color-rose{color:color-mix(in oklab, var(--colors-rose-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-rose-300) 15%, transparent)}.badge-color-sky{color:color-mix(in oklab, var(--colors-sky-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-sky-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-sky-400) 10%, transparent)}.dark .badge-color-sky{color:color-mix(in oklab, var(--colors-sky-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-sky-300) 15%, transparent)}.badge-color-teal{color:color-mix(in oklab, var(--colors-teal-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-teal-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-teal-400) 10%, transparent)}.dark .badge-color-teal{color:color-mix(in oklab, var(--colors-teal-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-teal-300) 15%, transparent)}.badge-color-violet{color:color-mix(in oklab, var(--colors-violet-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-violet-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-violet-400) 10%, transparent)}.dark .badge-color-violet{color:color-mix(in oklab, var(--colors-violet-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-violet-300) 15%, transparent)}.btn-primary{color:color-mix(in oklab, var(--colors-white) var(--un-text-opacity), transparent);background-color:color-mix(in oklab, var(--colors-primary-500) var(--un-bg-opacity), transparent)}.badge-active{color:color-mix(in oklab, var(--colors-primary-600) var(--un-text-opacity), transparent)}.dark .badge-active{color:color-mix(in oklab, var(--colors-primary-300) var(--un-text-opacity), transparent)}.badge-muted{color:color-mix(in oklab, var(--colors-neutral-600) var(--un-text-opacity), transparent)}.dark .badge-muted{color:color-mix(in oklab, var(--colors-neutral-400) var(--un-text-opacity), transparent)}.color-active{color:color-mix(in oklab, var(--colors-primary-600) var(--un-text-opacity), transparent)}.dark .color-active{color:color-mix(in oklab, var(--colors-primary-300) var(--un-text-opacity), transparent)}.color-base{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent)}.dark .color-base,.dark .data-\[state\=active\]\:color-base[data-state=active]{color:color-mix(in oklab, var(--colors-neutral-200) var(--un-text-opacity), transparent)}.data-\[state\=active\]\:color-base[data-state=active]{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent)}.color-faint,.dark .color-faint{color:color-mix(in oklab, var(--colors-neutral-500) var(--un-text-opacity), transparent)}.color-muted{color:color-mix(in oklab, var(--colors-neutral-600) var(--un-text-opacity), transparent)}.dark .color-muted{color:color-mix(in oklab, var(--colors-neutral-400) var(--un-text-opacity), transparent)}.dark .hover\:color-active:hover{color:color-mix(in oklab, var(--colors-primary-300) var(--un-text-opacity), transparent)}.hover\:color-active:hover{color:color-mix(in oklab, var(--colors-primary-600) var(--un-text-opacity), transparent)}.dark .hover\:color-base:hover{color:color-mix(in oklab, var(--colors-neutral-200) var(--un-text-opacity), transparent)}.hover\:color-base:hover{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent)}.dark .placeholder\:color-faint::placeholder,.placeholder\:color-faint::placeholder{color:color-mix(in oklab, var(--colors-neutral-500) var(--un-text-opacity), transparent)}.dark .focus-visible\:border-active:focus-visible{border-color:color-mix(in oklab, var(--colors-primary-400) 25%, transparent)}.focus-visible\:border-active:focus-visible{border-color:color-mix(in oklab, var(--colors-primary-600) 25%, transparent)}.bg-base,.data-\[state\=active\]\:bg-base[data-state=active]{background-color:color-mix(in oklab, var(--colors-white) var(--un-bg-opacity), transparent)}.btn-primary:hover{background-color:color-mix(in oklab, var(--colors-primary-600) var(--un-bg-opacity), transparent)}.btn-action:focus-visible,.btn-icon:focus-visible,.btn-icon-square:focus-visible,.btn-primary:focus-visible{--un-ring-color:color-mix(in oklab, var(--colors-primary-500) 40%, transparent)}}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[15px\]{font-size:15px}.text-\[9\.5px\]{font-size:9.5px}.text-\[9px\]{font-size:9px}.text-4xl{font-size:var(--text-4xl-fontSize);line-height:var(--un-leading,var(--text-4xl-lineHeight))}.text-base{font-size:var(--text-base-fontSize);line-height:var(--un-leading,var(--text-base-lineHeight))}.text-lg{font-size:var(--text-lg-fontSize);line-height:var(--un-leading,var(--text-lg-lineHeight))}.text-sm{font-size:var(--text-sm-fontSize);line-height:var(--un-leading,var(--text-sm-lineHeight))}.text-xs{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight))}.text-amber-500{color:color-mix(in srgb, var(--colors-amber-500) var(--un-text-opacity), transparent)}.text-error{color:color-mix(in srgb, var(--colors-error-DEFAULT) var(--un-text-opacity), transparent)}.text-primary-500{color:color-mix(in srgb, var(--colors-primary-500) var(--un-text-opacity), transparent)}.text-success{color:color-mix(in srgb, var(--colors-success-DEFAULT) var(--un-text-opacity), transparent)}.text-white{color:color-mix(in srgb, var(--colors-white) var(--un-text-opacity), transparent)}.hover\:text-error:hover{color:color-mix(in srgb, var(--colors-error-DEFAULT) var(--un-text-opacity), transparent)}.color-\[var\(--impact\)\]{color:color-mix(in oklab, var(--impact) var(--un-text-opacity), transparent)}.leading-none{--un-leading:var(--leading-none);line-height:var(--leading-none)}.leading-relaxed{--un-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--un-leading:var(--leading-snug);line-height:var(--leading-snug)}.tracking-wide{--un-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.font-bold{--un-font-weight:var(--fontWeight-bold);font-weight:var(--fontWeight-bold)}.font-medium{--un-font-weight:var(--fontWeight-medium);font-weight:var(--fontWeight-medium)}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-semibold{--un-font-weight:var(--fontWeight-semibold);font-weight:var(--fontWeight-semibold)}.tab{tab-size:4}.m-0{margin:calc(var(--spacing) * 0)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.me{margin-inline-end:calc(var(--spacing) * 4)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-3\.5{margin-left:calc(var(--spacing) * 3.5)}.ml-auto{margin-left:auto}.ms{margin-inline-start:calc(var(--spacing) * 4)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2,.px2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-2\.5\!{padding-inline:calc(var(--spacing) * 2.5)!important}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-4\!{padding-inline:calc(var(--spacing) * 4)!important}.py-\[7px\]{padding-block:7px}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1,.py1{padding-block:calc(var(--spacing) * 1)}.py-1\!{padding-block:calc(var(--spacing) * 1)!important}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\!{padding-block:calc(var(--spacing) * 2)!important}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-px{padding-block:1px}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3\.5{padding-left:calc(var(--spacing) * 3.5)}.pr{padding-right:calc(var(--spacing) * 4)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pt-3{padding-top:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.outline{outline-style:var(--un-outline-style);outline-width:1px}.outline-none{--un-outline-style:none;outline-style:none}.list-none{list-style-type:none}.accent-\[var\(--impact\)\]{accent-color:color-mix(in oklab, var(--impact) var(--un-accent-opacity), transparent)}.\!b{border-width:1px!important}.b,.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l-3{border-left-width:3px}.border-\[color\:var\(--impact\)\]\!{border-color:color-mix(in oklab, var(--impact) var(--un-border-opacity), transparent)!important}.border-amber-500\/60{border-color:color-mix(in srgb, var(--colors-amber-500) 60%, transparent)}.border-current{border-color:currentColor}.border-error\/30\!{border-color:color-mix(in srgb, var(--colors-error-DEFAULT) 30%, transparent)!important}.border-primary-500\/45{border-color:color-mix(in srgb, var(--colors-primary-500) 45%, transparent)}.border-transparent{border-color:#0000}.has-\[\:checked\]\:border-primary-500:has(:checked){border-color:color-mix(in srgb, var(--colors-primary-500) var(--un-border-opacity), transparent)}.hover\:border-error\/50:hover{border-color:color-mix(in srgb, var(--colors-error-DEFAULT) 50%, transparent)}.border-l-\[color\:var\(--impact\)\]{border-left-color:color-mix(in oklab, var(--impact) var(--un-border-left-opacity), transparent)}.border-t-transparent{border-top-color:#0000}.rounded{border-radius:var(--radius-DEFAULT)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.bg-\[\#8881\]{background-color:color-mix(in oklab, #8881 var(--un-bg-opacity), transparent)}.bg-\[color-mix\(in_srgb\,var\(--impact\)_16\%\,transparent\)\]\!{background-color:color-mix(in oklab, color-mix(in srgb,var(--impact) 16%,transparent) var(--un-bg-opacity), transparent)!important}.bg-\[color-mix\(in_srgb\,var\(--impact\)_8\%\,transparent\)\]\!{background-color:color-mix(in oklab, color-mix(in srgb,var(--impact) 8%,transparent) var(--un-bg-opacity), transparent)!important}.bg-black\/40{background-color:color-mix(in srgb, var(--colors-black) 40%, transparent)}.bg-black\/55{background-color:color-mix(in srgb, var(--colors-black) 55%, transparent)}.bg-error{background-color:color-mix(in srgb, var(--colors-error-DEFAULT) var(--un-bg-opacity), transparent)}.bg-neutral-400{background-color:color-mix(in srgb, var(--colors-neutral-400) var(--un-bg-opacity), transparent)}.bg-primary-500,.peer:checked~.peer-checked\:bg-primary-500{background-color:color-mix(in srgb, var(--colors-primary-500) var(--un-bg-opacity), transparent)}.bg-primary-500\/12{background-color:color-mix(in srgb, var(--colors-primary-500) 12%, transparent)}.bg-success{background-color:color-mix(in srgb, var(--colors-success-DEFAULT) var(--un-bg-opacity), transparent)}.bg-warning{background-color:color-mix(in srgb, var(--colors-warning-DEFAULT) var(--un-bg-opacity), transparent)}.has-\[\:checked\]\:bg-primary-500\/40:has(:checked){background-color:color-mix(in srgb, var(--colors-primary-500) 40%, transparent)}.op100\!{opacity:1!important}.op75{opacity:.75}.opacity-0{opacity:0}.hover\:op100:hover{opacity:1}.disabled\:op-40:disabled{opacity:.4}.disabled\:op30\!:disabled{opacity:.3!important}.underline,.hover\:underline:hover{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.no-underline{text-decoration:none}.flex{display:flex}.inline-flex{display:inline-flex}.flex-1{flex:1}.shrink-0{flex-shrink:0}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.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-4{gap:calc(var(--spacing) * 4)}.grid{display:grid}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.size-\[15px\]{width:15px;height:15px}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.h-\[17px\]{height:17px}.h-\[18px\]{height:18px}.h-4,.h4{height:calc(var(--spacing) * 4)}.h-7\!{height:calc(var(--spacing) * 7)!important}.h-8{height:calc(var(--spacing) * 8)}.h-full{height:100%}.h1{height:calc(var(--spacing) * 1)}.h2{height:calc(var(--spacing) * 2)}.h3{height:calc(var(--spacing) * 3)}.h5{height:calc(var(--spacing) * 5)}.h6{height:calc(var(--spacing) * 6)}.max-h-full{max-height:100%}.max-w-\[38ch\]{max-width:38ch}.max-w-52{max-width:calc(var(--spacing) * 52)}.max-w-full{max-width:100%}.max-w-sm{max-width:var(--container-sm)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-60{min-height:calc(var(--spacing) * 60)}.min-w-\[17px\]{min-width:17px}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-4{min-width:calc(var(--spacing) * 4)}.w-\[min\(680px\,100\%\)\]{width:min(680px,100%)}.w-7\!{width:calc(var(--spacing) * 7)!important}.w-8{width:calc(var(--spacing) * 8)}.w-full{width:100%}.w-max{width:max-content}.inline{display:inline}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.visible{visibility:visible}.disabled\:cursor-default:disabled{cursor:default}.cursor-pointer{cursor:pointer}.pointer-events-none,.disabled\:pointer-events-none:disabled{pointer-events:none}.resize-none{resize:none}.select-none{-webkit-user-select:none;user-select:none}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.ws-break-spaces{white-space:break-spaces}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.has-\[\:focus-visible\]\:ring-2:has(:focus-visible){--un-ring-shadow:var(--un-ring-inset,) 0 0 0 calc(2px + var(--un-ring-offset-width)) var(--un-ring-color,currentColor);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.ring{--un-ring-shadow:var(--un-ring-inset,) 0 0 0 calc(1px + var(--un-ring-offset-width)) var(--un-ring-color,currentColor);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.focus-visible\:ring-2:focus-visible{--un-ring-shadow:var(--un-ring-inset,) 0 0 0 calc(2px + var(--un-ring-offset-width)) var(--un-ring-color,currentColor);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.has-\[\:focus-visible\]\:ring-primary-500\/40:has(:focus-visible){--un-ring-color:color-mix(in srgb, var(--colors-primary-500) 40%, transparent)}.focus-visible\:ring-primary-500\/40:focus-visible{--un-ring-color:color-mix(in srgb, var(--colors-primary-500) 40%, transparent)}.data-\[state\=active\]\:shadow-sm[data-state=active],.shadow,.shadow-sm{--un-shadow:0 1px 3px 0 var(--un-shadow-color,#0000001a),0 1px 2px -1px var(--un-shadow-color,#0000001a);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.shadow-2xl{--un-shadow:0 25px 50px -12px var(--un-shadow-color,#00000040);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.shadow-lg{--un-shadow:0 10px 15px -3px var(--un-shadow-color,#0000001a),0 4px 6px -4px var(--un-shadow-color,#0000001a);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.hover\:shadow-md:hover{--un-shadow:0 4px 6px -1px var(--un-shadow-color,#0000001a),0 2px 4px -2px var(--un-shadow-color,#0000001a);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.peer:checked~.peer-checked\:translate-x-3\.5{--un-translate-x:calc(var(--spacing) * 3.5);translate:var(--un-translate-x) var(--un-translate-y)}.rotate-90{rotate:90deg}.transform{transform:var(--un-rotate-x) var(--un-rotate-y) var(--un-rotate-z) var(--un-skew-x) var(--un-skew-y)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration))}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.self-start{align-self:flex-start}.self-center{align-self:center}.inset-0{inset:calc(var(--spacing) * 0)}.left-0\.5{left:calc(var(--spacing) * .5)}.top-0{top:calc(var(--spacing) * 0)}.top-0\.5{top:calc(var(--spacing) * .5)}.justify-center{justify-content:center}.place-items-center{place-items:center}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.static{position:static}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.animate-spin{animation:1s linear infinite spin}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.h-svh{height:100svh}.backdrop-blur-sm{--un-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--un-backdrop-blur,) var(--un-backdrop-brightness,) var(--un-backdrop-contrast,) var(--un-backdrop-grayscale,) var(--un-backdrop-hue-rotate,) var(--un-backdrop-invert,) var(--un-backdrop-opacity,) var(--un-backdrop-saturate,) var(--un-backdrop-sepia,);backdrop-filter:var(--un-backdrop-blur,) var(--un-backdrop-brightness,) var(--un-backdrop-contrast,) var(--un-backdrop-grayscale,) var(--un-backdrop-hue-rotate,) var(--un-backdrop-invert,) var(--un-backdrop-opacity,) var(--un-backdrop-saturate,) var(--un-backdrop-sepia,)}.blur{--un-blur:blur(8px);filter:var(--un-blur,) var(--un-brightness,) var(--un-contrast,) var(--un-grayscale,) var(--un-hue-rotate,) var(--un-invert,) var(--un-saturate,) var(--un-sepia,) var(--un-drop-shadow,)}.filter{filter:var(--un-blur,) var(--un-brightness,) var(--un-contrast,) var(--un-grayscale,) var(--un-hue-rotate,) var(--un-invert,) var(--un-saturate,) var(--un-sepia,) var(--un-drop-shadow,)}.table{display:table}.tabular-nums{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal,) var(--un-slashed-zero,) var(--un-numeric-figure,) var(--un-numeric-spacing,) var(--un-numeric-fraction,)}@supports (color:color-mix(in lab, red, red)){.text-amber-500{color:color-mix(in oklab, var(--colors-amber-500) var(--un-text-opacity), transparent)}.text-error{color:color-mix(in oklab, var(--colors-error-DEFAULT) var(--un-text-opacity), transparent)}.text-primary-500{color:color-mix(in oklab, var(--colors-primary-500) var(--un-text-opacity), transparent)}.text-success{color:color-mix(in oklab, var(--colors-success-DEFAULT) var(--un-text-opacity), transparent)}.text-white{color:color-mix(in oklab, var(--colors-white) var(--un-text-opacity), transparent)}.hover\:text-error:hover{color:color-mix(in oklab, var(--colors-error-DEFAULT) var(--un-text-opacity), transparent)}.border-amber-500\/60{border-color:color-mix(in oklab, var(--colors-amber-500) 60%, transparent)}.border-error\/30\!{border-color:color-mix(in oklab, var(--colors-error-DEFAULT) 30%, transparent)!important}.border-primary-500\/45{border-color:color-mix(in oklab, var(--colors-primary-500) 45%, transparent)}.has-\[\:checked\]\:border-primary-500:has(:checked){border-color:color-mix(in oklab, var(--colors-primary-500) var(--un-border-opacity), transparent)}.hover\:border-error\/50:hover{border-color:color-mix(in oklab, var(--colors-error-DEFAULT) 50%, transparent)}.bg-black\/40{background-color:color-mix(in oklab, var(--colors-black) 40%, transparent)}.bg-black\/55{background-color:color-mix(in oklab, var(--colors-black) 55%, transparent)}.bg-error{background-color:color-mix(in oklab, var(--colors-error-DEFAULT) var(--un-bg-opacity), transparent)}.bg-neutral-400{background-color:color-mix(in oklab, var(--colors-neutral-400) var(--un-bg-opacity), transparent)}.bg-primary-500{background-color:color-mix(in oklab, var(--colors-primary-500) var(--un-bg-opacity), transparent)}.bg-primary-500\/12{background-color:color-mix(in oklab, var(--colors-primary-500) 12%, transparent)}.bg-success{background-color:color-mix(in oklab, var(--colors-success-DEFAULT) var(--un-bg-opacity), transparent)}.bg-warning{background-color:color-mix(in oklab, var(--colors-warning-DEFAULT) var(--un-bg-opacity), transparent)}.has-\[\:checked\]\:bg-primary-500\/40:has(:checked){background-color:color-mix(in oklab, var(--colors-primary-500) 40%, transparent)}.peer:checked~.peer-checked\:bg-primary-500{background-color:color-mix(in oklab, var(--colors-primary-500) var(--un-bg-opacity), transparent)}.has-\[\:focus-visible\]\:ring-primary-500\/40:has(:focus-visible){--un-ring-color:color-mix(in oklab, var(--colors-primary-500) 40%, transparent)}.focus-visible\:ring-primary-500\/40:focus-visible{--un-ring-color:color-mix(in oklab, var(--colors-primary-500) 40%, transparent)}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.dark .dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:color-mix(in srgb, var(--colors-neutral-200) var(--un-text-opacity), transparent)}@supports (color:color-mix(in lab, red, red)){html.dark .dark{color:color-mix(in oklab, var(--colors-neutral-200) var(--un-text-opacity), transparent)}}html.light .light{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:color-mix(in srgb, var(--colors-neutral-800) var(--un-text-opacity), transparent)}@supports (color:color-mix(in lab, red, red)){html.light .light{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent)}}html,body{color:color-mix(in srgb, var(--colors-neutral-800) var(--un-text-opacity), transparent);background-color:color-mix(in srgb, var(--colors-white) var(--un-bg-opacity), transparent)}@supports (color:color-mix(in lab, red, red)){html,body{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent);background-color:color-mix(in oklab, var(--colors-white) var(--un-bg-opacity), transparent)}}.dark html,.dark body{color:color-mix(in srgb, var(--colors-neutral-200) var(--un-text-opacity), transparent);background-color:color-mix(in oklab, #111 var(--un-bg-opacity), transparent)}@supports (color:color-mix(in lab, red, red)){.dark html,.dark body{color:color-mix(in oklab, var(--colors-neutral-200) var(--un-text-opacity), transparent)}}*{scrollbar-width:thin;scrollbar-color:#88888859 transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#8888884d;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#88888880}@keyframes af-spin{to{transform:rotate(360deg)}}@keyframes af-spin-reverse{to{transform:rotate(-360deg)}}.af-spin{animation:1s linear infinite af-spin}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:9999}html.dark::view-transition-old(root){z-index:9999}html.dark::view-transition-new(root){z-index:1}@media (prefers-reduced-motion:reduce){::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}}[data-reka-popper-content-wrapper]{z-index:70}[data-af-animate][data-state=open]{animation:.15s both af-fade-in}[data-af-animate][data-state=closed]{animation:.15s both af-fade-out}[data-af-modal][data-state=open]{animation:.18s cubic-bezier(.16,1,.3,1) both af-modal-in}[data-af-modal][data-state=closed]{animation:.15s both af-modal-out}[data-af-drawer]{animation-duration:.22s;animation-timing-function:cubic-bezier(.32,.72,0,1);animation-fill-mode:both}[data-af-drawer][data-side=right]{animation-name:af-slide-right}[data-af-drawer][data-side=left]{animation-name:af-slide-left}[data-af-drawer][data-side=top]{animation-name:af-slide-top}[data-af-drawer][data-side=bottom]{animation-name:af-slide-bottom}[data-af-drawer][data-state=closed]{animation-direction:reverse}@keyframes af-fade-in{0%{opacity:0}}@keyframes af-fade-out{to{opacity:0}}@keyframes af-modal-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes af-modal-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}@keyframes af-slide-right{0%{transform:translate(100%)}}@keyframes af-slide-left{0%{transform:translate(-100%)}}@keyframes af-slide-top{0%{transform:translateY(-100%)}}@keyframes af-slide-bottom{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){[data-af-animate],[data-af-modal],[data-af-drawer]{animation:none!important}}.v-popper__popper .v-popper__inner{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight));color:color-mix(in srgb, var(--colors-neutral-800) var(--un-text-opacity), transparent);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);border-width:1px;border-color:color-mix(in oklab, #9992 var(--un-border-opacity), transparent);border-radius:var(--radius-md);background-color:color-mix(in srgb, var(--colors-white) 75%, transparent);--un-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--un-backdrop-blur,) var(--un-backdrop-brightness,) var(--un-backdrop-contrast,) var(--un-backdrop-grayscale,) var(--un-backdrop-hue-rotate,) var(--un-backdrop-invert,) var(--un-backdrop-opacity,) var(--un-backdrop-saturate,) var(--un-backdrop-sepia,);backdrop-filter:var(--un-backdrop-blur,) var(--un-backdrop-brightness,) var(--un-backdrop-contrast,) var(--un-backdrop-grayscale,) var(--un-backdrop-hue-rotate,) var(--un-backdrop-invert,) var(--un-backdrop-opacity,) var(--un-backdrop-saturate,) var(--un-backdrop-sepia,);box-shadow:0 4px 16px #0000001f}@supports (color:color-mix(in lab, red, red)){.v-popper__popper .v-popper__inner{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent);background-color:color-mix(in oklab, var(--colors-white) 75%, transparent)}}.dark .v-popper__popper .v-popper__inner{color:color-mix(in srgb, var(--colors-neutral-200) var(--un-text-opacity), transparent);background-color:oklab(17.7638% -2.23517e-8 0/.75)}@supports (color:color-mix(in lab, red, red)){.dark .v-popper__popper .v-popper__inner{color:color-mix(in oklab, var(--colors-neutral-200) var(--un-text-opacity), transparent)}}.v-popper__popper .v-popper__arrow-outer{border-color:color-mix(in oklab, #9992 var(--un-border-opacity), transparent)}.v-popper__popper .v-popper__arrow-inner{border-color:color-mix(in srgb, var(--colors-white) 75%, transparent);visibility:visible}@supports (color:color-mix(in lab, red, red)){.v-popper__popper .v-popper__arrow-inner{border-color:color-mix(in oklab, var(--colors-white) 75%, transparent)}}.dark .v-popper__popper .v-popper__arrow-inner{border-color:oklab(17.7638% -2.23517e-8 0/.75)}.v-popper--theme-dropdown .v-popper__inner{padding:calc(var(--spacing) * 1)}.splitpanes{width:100%;height:100%;display:flex}.splitpanes--vertical{flex-direction:row}.splitpanes--horizontal{flex-direction:column}.splitpanes--dragging *{-webkit-user-select:none;user-select:none}.splitpanes__pane{width:100%;height:100%;overflow:hidden}.splitpanes--vertical>.splitpanes__pane{transition:width .2s ease-out}.splitpanes--horizontal>.splitpanes__pane{transition:height .2s ease-out}.splitpanes--dragging>.splitpanes__pane{pointer-events:none;transition:none}.splitpanes__splitter{touch-action:none;background-color:color-mix(in oklab, #8882 var(--un-bg-opacity), transparent);transition:background-color .2s;position:relative}.splitpanes__splitter:hover{background-color:color-mix(in oklab, #8886 var(--un-bg-opacity), transparent)}.splitpanes--vertical>.splitpanes__splitter{cursor:col-resize;min-width:1px}.splitpanes--horizontal>.splitpanes__splitter{cursor:row-resize;min-height:1px}.splitpanes__splitter:before{content:"";z-index:1;position:absolute;inset:-4px}html,body{height:100%;margin:0}#app{height:100%}body{-webkit-font-smoothing:antialiased}.a11y-scroll::-webkit-scrollbar{width:10px}.a11y-scroll::-webkit-scrollbar-thumb{background:#80808047 padding-box padding-box;border:3px solid #0000;border-radius:8px}.a11y-scroll::-webkit-scrollbar-thumb:hover{background:#80808073 padding-box padding-box}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
1
+ @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{--un-accent-opacity:100%;--un-bg-opacity:100%;--un-border-left-opacity:100%;--un-border-opacity:100%;--un-leading:initial;--un-ring-opacity:100%;--un-text-opacity:100%;--un-translate-x:initial;--un-translate-y:initial;--un-translate-z:initial}}@property --un-text-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-leading{syntax:"*";inherits:false}@property --un-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --un-accent-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-border-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-border-left-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-bg-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-ring-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-inset-ring-color{syntax:"*";inherits:false}@property --un-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-inset-shadow-color{syntax:"*";inherits:false}@property --un-ring-color{syntax:"*";inherits:false}@property --un-ring-inset{syntax:"*";inherits:false}@property --un-ring-offset-color{syntax:"*";inherits:false}@property --un-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --un-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-shadow-color{syntax:"*";inherits:false}@property --un-translate-x{syntax:"*";inherits:false;initial-value:0}@property --un-translate-y{syntax:"*";inherits:false;initial-value:0}@property --un-translate-z{syntax:"*";inherits:false;initial-value:0}@property --un-backdrop-blur{syntax:"*";inherits:false}@property --un-backdrop-brightness{syntax:"*";inherits:false}@property --un-backdrop-contrast{syntax:"*";inherits:false}@property --un-backdrop-grayscale{syntax:"*";inherits:false}@property --un-backdrop-hue-rotate{syntax:"*";inherits:false}@property --un-backdrop-invert{syntax:"*";inherits:false}@property --un-backdrop-opacity{syntax:"*";inherits:false}@property --un-backdrop-saturate{syntax:"*";inherits:false}@property --un-backdrop-sepia{syntax:"*";inherits:false}@property --un-blur{syntax:"*";inherits:false}@property --un-brightness{syntax:"*";inherits:false}@property --un-contrast{syntax:"*";inherits:false}@property --un-drop-shadow{syntax:"*";inherits:false}@property --un-grayscale{syntax:"*";inherits:false}@property --un-hue-rotate{syntax:"*";inherits:false}@property --un-invert{syntax:"*";inherits:false}@property --un-saturate{syntax:"*";inherits:false}@property --un-sepia{syntax:"*";inherits:false}@property --un-numeric-figure{syntax:"*";inherits:false}@property --un-numeric-fraction{syntax:"*";inherits:false}@property --un-numeric-spacing{syntax:"*";inherits:false}@property --un-ordinal{syntax:"*";inherits:false}@property --un-slashed-zero{syntax:"*";inherits:false}:root,:host{--radius-md:.375rem;--spacing:.25rem;--colors-white:#fff;--text-xs-fontSize:.75rem;--text-xs-lineHeight:1rem;--colors-neutral-200:oklch(92.2% 0 0);--colors-neutral-800:oklch(26.9% 0 0);--radius-DEFAULT:.25rem;--default-transition-timingFunction:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--radius-lg:.5rem;--fontWeight-semibold:600;--fontWeight-medium:500;--container-sm:24rem;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--radius-xl:.75rem;--colors-black:#000;--font-sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--leading-relaxed:1.625;--fontWeight-bold:700;--colors-error-DEFAULT:#f63d68;--colors-neutral-400:oklch(70.8% 0 0);--colors-warning-DEFAULT:#f79009;--colors-success-DEFAULT:#12b76a;--colors-primary-500:#578861;--text-sm-fontSize:.875rem;--text-sm-lineHeight:1.25rem;--text-base-fontSize:1rem;--text-base-lineHeight:1.5rem;--text-4xl-fontSize:2.25rem;--text-4xl-lineHeight:2.5rem;--text-lg-fontSize:1.125rem;--text-lg-lineHeight:1.75rem;--leading-none:1;--colors-blue-400:oklch(70.7% .165 254.624);--colors-amber-400:oklch(82.8% .189 84.429);--colors-green-400:oklch(79.2% .209 151.711);--colors-red-400:oklch(70.4% .191 22.216);--colors-sky-400:oklch(74.6% .16 232.661);--colors-violet-400:oklch(70.2% .183 293.541);--colors-rose-400:oklch(71.2% .194 13.428);--colors-teal-400:oklch(77.7% .152 181.912);--colors-orange-400:oklch(75% .183 55.934);--colors-emerald-400:oklch(76.5% .177 163.223);--colors-blue-700:oklch(48.8% .243 264.376);--colors-blue-600:oklch(54.6% .245 262.881);--colors-amber-700:oklch(55.5% .163 48.998);--colors-amber-600:oklch(66.6% .179 58.318);--colors-green-700:oklch(52.7% .154 150.069);--colors-green-600:oklch(62.7% .194 149.214);--colors-red-700:oklch(50.5% .213 27.518);--colors-red-600:oklch(57.7% .245 27.325);--colors-sky-700:oklch(50% .134 242.749);--colors-sky-600:oklch(58.8% .158 241.966);--colors-violet-700:oklch(49.1% .27 292.581);--colors-violet-600:oklch(54.1% .281 293.009);--colors-rose-700:oklch(51.4% .222 16.935);--colors-rose-600:oklch(58.6% .253 17.585);--colors-teal-700:oklch(51.1% .096 186.391);--colors-teal-600:oklch(60% .118 184.704);--colors-orange-700:oklch(55.3% .195 38.402);--colors-orange-600:oklch(64.6% .222 41.116);--colors-emerald-700:oklch(50.8% .118 165.612);--colors-emerald-600:oklch(59.6% .145 163.225);--colors-primary-600:#40704b;--colors-neutral-600:oklch(43.9% 0 0);--colors-neutral-500:oklch(55.6% 0 0);--colors-blue-300:oklch(80.9% .105 251.813);--colors-amber-300:oklch(87.9% .169 91.605);--colors-green-300:oklch(87.1% .15 154.449);--colors-red-300:oklch(80.8% .114 19.571);--colors-sky-300:oklch(82.8% .111 230.318);--colors-violet-300:oklch(81.1% .111 293.571);--colors-rose-300:oklch(81% .117 11.638);--colors-teal-300:oklch(85.5% .138 181.071);--colors-orange-300:oklch(83.7% .128 66.29);--colors-emerald-300:oklch(84.5% .143 164.978);--colors-primary-300:#93c69d;--colors-primary-400:#75a67e;--tracking-wide:.025em;--leading-snug:1.375;--colors-amber-500:oklch(76.9% .188 70.08);--default-font-family:var(--font-sans);--default-monoFont-family:var(--font-mono)}*,: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-featureSettings,normal);font-variation-settings:var(--default-font-variationSettings,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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-monoFont-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-monoFont-featureSettings,normal);font-variation-settings:var(--default-monoFont-variationSettings,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: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}*,:before,:after{border-color:#8882}.i-ph-arrows-clockwise{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M224 48v48a8 8 0 0 1-8 8h-48a8 8 0 0 1 0-16h28.69l-14.63-14.63a79.56 79.56 0 0 0-56.13-23.43h-.45a79.52 79.52 0 0 0-55.89 22.77a8 8 0 0 1-11.18-11.44a96 96 0 0 1 135 .79L208 76.69V48a8 8 0 0 1 16 0m-37.59 135.29a80 80 0 0 1-112.47-.66L59.31 168H88a8 8 0 0 0 0-16H40a8 8 0 0 0-8 8v48a8 8 0 0 0 16 0v-28.69l14.63 14.63A95.43 95.43 0 0 0 130 222.06h.53a95.36 95.36 0 0 0 67.07-27.33a8 8 0 0 0-11.18-11.44Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-caret-right{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m181.66 133.66l-80 80a8 8 0 0 1-11.32-11.32L164.69 128L90.34 53.66a8 8 0 0 1 11.32-11.32l80 80a8 8 0 0 1 0 11.32'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-check{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m229.66 77.66l-128 128a8 8 0 0 1-11.32 0l-56-56a8 8 0 0 1 11.32-11.32L96 188.69L218.34 66.34a8 8 0 0 1 11.32 11.32'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-check-circle-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M224 128a96 96 0 1 1-96-96a96 96 0 0 1 96 96' opacity='.2'/%3E%3Cpath d='M173.66 98.34a8 8 0 0 1 0 11.32l-56 56a8 8 0 0 1-11.32 0l-24-24a8 8 0 0 1 11.32-11.32L112 148.69l50.34-50.35a8 8 0 0 1 11.32 0M232 128A104 104 0 1 1 128 24a104.11 104.11 0 0 1 104 104m-16 0a88 88 0 1 0-88 88a88.1 88.1 0 0 0 88-88'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-check-square-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M216 48v160a8 8 0 0 1-8 8H48a8 8 0 0 1-8-8V48a8 8 0 0 1 8-8h160a8 8 0 0 1 8 8' opacity='.2'/%3E%3Cpath d='M173.66 98.34a8 8 0 0 1 0 11.32l-56 56a8 8 0 0 1-11.32 0l-24-24a8 8 0 0 1 11.32-11.32L112 148.69l50.34-50.35a8 8 0 0 1 11.32 0M224 48v160a16 16 0 0 1-16 16H48a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16m-16 160V48H48v160z'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-copy{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M216 32H88a8 8 0 0 0-8 8v40H40a8 8 0 0 0-8 8v128a8 8 0 0 0 8 8h128a8 8 0 0 0 8-8v-40h40a8 8 0 0 0 8-8V40a8 8 0 0 0-8-8m-56 176H48V96h112Zm48-48h-32V88a8 8 0 0 0-8-8H96V48h112Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-lock-key-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M208 88H48a8 8 0 0 0-8 8v112a8 8 0 0 0 8 8h160a8 8 0 0 0 8-8V96a8 8 0 0 0-8-8m-80 72a20 20 0 1 1 20-20a20 20 0 0 1-20 20' opacity='.2'/%3E%3Cpath d='M208 80h-32V56a48 48 0 0 0-96 0v24H48a16 16 0 0 0-16 16v112a16 16 0 0 0 16 16h160a16 16 0 0 0 16-16V96a16 16 0 0 0-16-16M96 56a32 32 0 0 1 64 0v24H96Zm112 152H48V96h160zm-80-96a28 28 0 0 0-8 54.83V184a8 8 0 0 0 16 0v-17.17a28 28 0 0 0-8-54.83m0 40a12 12 0 1 1 12-12a12 12 0 0 1-12 12'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-person-simple-circle-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M224 128a96 96 0 1 1-96-96a96 96 0 0 1 96 96' opacity='.2'/%3E%3Cpath d='M128 24a104 104 0 1 0 104 104A104.11 104.11 0 0 0 128 24m0 192a88 88 0 1 1 88-88a88.1 88.1 0 0 1-88 88M112 80a16 16 0 1 1 16 16a16 16 0 0 1-16-16m72 32a8 8 0 0 1-8 8h-40v13.58l30.66 46a8 8 0 0 1-13.32 8.88l-25.34-38l-25.34 38a8 8 0 1 1-13.32-8.88l30.66-46V120H80a8 8 0 0 1 0-16h96a8 8 0 0 1 8 8'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-plugs-connected-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='m185 127l-58 58a24 24 0 0 1-33.94 0L71 162.91A24 24 0 0 1 71 129l58-58a24 24 0 0 1 33.94 0L185 93.09a24 24 0 0 1 0 33.91' opacity='.2'/%3E%3Cpath d='M237.66 18.34a8 8 0 0 0-11.32 0l-52.4 52.41l-5.37-5.38a32.05 32.05 0 0 0-45.26 0L100 88.69l-6.34-6.35a8 8 0 0 0-11.32 11.32l6.35 6.34l-23.32 23.31a32 32 0 0 0 0 45.26l5.38 5.37l-52.41 52.4a8 8 0 0 0 11.32 11.32l52.4-52.41l5.37 5.38a32.06 32.06 0 0 0 45.26 0L156 167.31l6.34 6.35a8 8 0 0 0 11.32-11.32l-6.35-6.34l23.32-23.31a32 32 0 0 0 0-45.26l-5.38-5.37l52.41-52.4a8 8 0 0 0 0-11.32m-116.29 161a16 16 0 0 1-22.62 0l-22.06-22.09a16 16 0 0 1 0-22.62L100 111.31L144.69 156Zm57.94-57.94L156 144.69L111.31 100l23.32-23.31a16 16 0 0 1 22.62 0l22.06 22a16 16 0 0 1 0 22.63ZM88.57 35a8 8 0 0 1 14.86-6l8 20a8 8 0 0 1-14.86 6Zm-64 58A8 8 0 0 1 35 88.57l20 8a8 8 0 0 1-6 14.86l-20-8A8 8 0 0 1 24.57 93m206.86 70a8 8 0 0 1-10.4 4.46l-20-8a8 8 0 1 1 5.97-14.89l20 8a8 8 0 0 1 4.43 10.43m-64 58.06a8 8 0 0 1-14.86 5.94l-8-20a8 8 0 0 1 14.86-6Z'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-plugs-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='m76 124l56 56l-29 29a24 24 0 0 1-33.94 0L47 186.91A24 24 0 0 1 47 153Zm133-54.91L186.91 47A24 24 0 0 0 153 47l-29 29l56 56l29-29a24 24 0 0 0 0-33.91' opacity='.2'/%3E%3Cpath d='M149.66 138.34a8 8 0 0 0-11.32 0L120 156.69L99.31 136l18.35-18.34a8 8 0 0 0-11.32-11.32L88 124.69l-18.34-18.35a8 8 0 0 0-11.32 11.32l6.35 6.34l-23.32 23.31a32 32 0 0 0 0 45.26l5.38 5.37l-28.41 28.4a8 8 0 0 0 11.32 11.32l28.4-28.41l5.37 5.38a32 32 0 0 0 45.26 0L132 191.31l6.34 6.35a8 8 0 0 0 11.32-11.32L131.31 168l18.35-18.34a8 8 0 0 0 0-11.32m-52.29 65a16 16 0 0 1-22.62 0l-22.06-22.09a16 16 0 0 1 0-22.62L76 135.31L120.69 180Zm140.29-185a8 8 0 0 0-11.32 0l-28.4 28.41l-5.37-5.38a32.05 32.05 0 0 0-45.26 0L124 64.69l-6.34-6.35a8 8 0 0 0-11.32 11.32l80 80a8 8 0 0 0 11.32-11.32l-6.35-6.34l23.32-23.31a32 32 0 0 0 0-45.26l-5.38-5.37l28.41-28.4a8 8 0 0 0 0-11.32m-34.35 79L180 120.69L135.31 76l23.32-23.31a16 16 0 0 1 22.62 0l22.06 22a16 16 0 0 1 0 22.68Z'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-selection-inverse-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M216 48v160a8 8 0 0 1-2.34 5.66L42.34 42.34A8 8 0 0 1 48 40h160a8 8 0 0 1 8 8' opacity='.2'/%3E%3Cpath d='M152 216a8 8 0 0 1-8 8h-32a8 8 0 0 1 0-16h32a8 8 0 0 1 8 8M40 152a8 8 0 0 0 8-8v-32a8 8 0 0 0-16 0v32a8 8 0 0 0 8 8m32 56H48v-24a8 8 0 0 0-16 0v24a16 16 0 0 0 16 16h24a8 8 0 0 0 0-16M224 48v160a16 16 0 0 1-16 16h-24a8 8 0 0 1 0-16h12.69L48 59.31V72a8 8 0 0 1-16 0V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16m-16 0H59.31L208 196.69Z'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-sparkle-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='m194.82 151.43l-55.09 20.3l-20.3 55.09a7.92 7.92 0 0 1-14.86 0l-20.3-55.09l-55.09-20.3a7.92 7.92 0 0 1 0-14.86l55.09-20.3l20.3-55.09a7.92 7.92 0 0 1 14.86 0l20.3 55.09l55.09 20.3a7.92 7.92 0 0 1 0 14.86' opacity='.2'/%3E%3Cpath d='M197.58 129.06L146 110l-19-51.62a15.92 15.92 0 0 0-29.88 0L78 110l-51.62 19a15.92 15.92 0 0 0 0 29.88L78 178l19 51.62a15.92 15.92 0 0 0 29.88 0L146 178l51.62-19a15.92 15.92 0 0 0 0-29.88ZM137 164.22a8 8 0 0 0-4.74 4.74L112 223.85L91.78 169a8 8 0 0 0-4.78-4.78L32.15 144L87 123.78a8 8 0 0 0 4.78-4.78L112 64.15L132.22 119a8 8 0 0 0 4.74 4.74L191.85 144ZM144 40a8 8 0 0 1 8-8h16V16a8 8 0 0 1 16 0v16h16a8 8 0 0 1 0 16h-16v16a8 8 0 0 1-16 0V48h-16a8 8 0 0 1-8-8m104 48a8 8 0 0 1-8 8h-8v8a8 8 0 0 1-16 0v-8h-8a8 8 0 0 1 0-16h8v-8a8 8 0 0 1 16 0v8h8a8 8 0 0 1 8 8'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-trash-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M200 56v152a8 8 0 0 1-8 8H64a8 8 0 0 1-8-8V56Z' opacity='.2'/%3E%3Cpath d='M216 48h-40v-8a24 24 0 0 0-24-24h-48a24 24 0 0 0-24 24v8H40a8 8 0 0 0 0 16h8v144a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16V64h8a8 8 0 0 0 0-16M96 40a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v8H96Zm96 168H64V64h128Zm-80-104v64a8 8 0 0 1-16 0v-64a8 8 0 0 1 16 0m48 0v64a8 8 0 0 1-16 0v-64a8 8 0 0 1 16 0'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-warning-octagon-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M224 91.55v72.9a8 8 0 0 1-2.34 5.66l-51.55 51.55a8 8 0 0 1-5.66 2.34h-72.9a8 8 0 0 1-5.66-2.34l-51.55-51.55a8 8 0 0 1-2.34-5.66v-72.9a8 8 0 0 1 2.34-5.66l51.55-51.55A8 8 0 0 1 91.55 32h72.9a8 8 0 0 1 5.66 2.34l51.55 51.55a8 8 0 0 1 2.34 5.66' opacity='.2'/%3E%3Cpath d='M120 136V80a8 8 0 0 1 16 0v56a8 8 0 0 1-16 0m112-44.45v72.9a15.86 15.86 0 0 1-4.69 11.31l-51.55 51.55a15.86 15.86 0 0 1-11.31 4.69h-72.9a15.86 15.86 0 0 1-11.31-4.69l-51.55-51.55A15.86 15.86 0 0 1 24 164.45v-72.9a15.86 15.86 0 0 1 4.69-11.31l51.55-51.55A15.86 15.86 0 0 1 91.55 24h72.9a15.86 15.86 0 0 1 11.31 4.69l51.55 51.55A15.86 15.86 0 0 1 232 91.55m-16 0L164.45 40h-72.9L40 91.55v72.9L91.55 216h72.9L216 164.45ZM128 160a12 12 0 1 0 12 12a12 12 0 0 0-12-12'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-x{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M205.66 194.34a8 8 0 0 1-11.32 11.32L128 139.31l-66.34 66.35a8 8 0 0 1-11.32-11.32L116.69 128L50.34 61.66a8 8 0 0 1 11.32-11.32L128 116.69l66.34-66.35a8 8 0 0 1 11.32 11.32L139.31 128Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.badge{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight));--un-leading:var(--leading-none);line-height:var(--leading-none);--un-font-weight:var(--fontWeight-medium);font-weight:var(--fontWeight-medium);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);border-radius:var(--radius-md);gap:calc(var(--spacing) * 1);align-items:center;display:inline-flex}.badge-active{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight));color:color-mix(in srgb, var(--colors-primary-600) var(--un-text-opacity), transparent);--un-leading:var(--leading-none);line-height:var(--leading-none);--un-font-weight:var(--fontWeight-medium);font-weight:var(--fontWeight-medium);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);border-radius:var(--radius-md);background-color:color-mix(in oklab, #99999930 var(--un-bg-opacity), transparent);gap:calc(var(--spacing) * 1);align-items:center;display:inline-flex}.badge-muted{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight));color:color-mix(in srgb, var(--colors-neutral-600) var(--un-text-opacity), transparent);--un-leading:var(--leading-none);line-height:var(--leading-none);--un-font-weight:var(--fontWeight-medium);font-weight:var(--fontWeight-medium);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);border-radius:var(--radius-md);background-color:color-mix(in oklab, #8881 var(--un-bg-opacity), transparent);gap:calc(var(--spacing) * 1);align-items:center;display:inline-flex}.badge-color-amber{color:color-mix(in srgb, var(--colors-amber-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-amber-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-amber-400) 10%, transparent)}.dark .badge-color-amber{color:color-mix(in srgb, var(--colors-amber-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-amber-300) 15%, transparent)}.badge-color-blue{color:color-mix(in srgb, var(--colors-blue-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-blue-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-blue-400) 10%, transparent)}.dark .badge-color-blue{color:color-mix(in srgb, var(--colors-blue-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-blue-300) 15%, transparent)}.badge-color-emerald{color:color-mix(in srgb, var(--colors-emerald-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-emerald-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-emerald-400) 10%, transparent)}.dark .badge-color-emerald{color:color-mix(in srgb, var(--colors-emerald-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-emerald-300) 15%, transparent)}.badge-color-green{color:color-mix(in srgb, var(--colors-green-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-green-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-green-400) 10%, transparent)}.dark .badge-color-green{color:color-mix(in srgb, var(--colors-green-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-green-300) 15%, transparent)}.badge-color-orange{color:color-mix(in srgb, var(--colors-orange-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-orange-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-orange-400) 10%, transparent)}.dark .badge-color-orange{color:color-mix(in srgb, var(--colors-orange-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-orange-300) 15%, transparent)}.badge-color-red{color:color-mix(in srgb, var(--colors-red-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-red-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-red-400) 10%, transparent)}.dark .badge-color-red{color:color-mix(in srgb, var(--colors-red-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-red-300) 15%, transparent)}.badge-color-rose{color:color-mix(in srgb, var(--colors-rose-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-rose-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-rose-400) 10%, transparent)}.dark .badge-color-rose{color:color-mix(in srgb, var(--colors-rose-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-rose-300) 15%, transparent)}.badge-color-sky{color:color-mix(in srgb, var(--colors-sky-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-sky-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-sky-400) 10%, transparent)}.dark .badge-color-sky{color:color-mix(in srgb, var(--colors-sky-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-sky-300) 15%, transparent)}.badge-color-teal{color:color-mix(in srgb, var(--colors-teal-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-teal-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-teal-400) 10%, transparent)}.dark .badge-color-teal{color:color-mix(in srgb, var(--colors-teal-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-teal-300) 15%, transparent)}.badge-color-violet{color:color-mix(in srgb, var(--colors-violet-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-violet-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-violet-400) 10%, transparent)}.dark .badge-color-violet{color:color-mix(in srgb, var(--colors-violet-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-violet-300) 15%, transparent)}.btn-primary{color:color-mix(in srgb, var(--colors-white) var(--un-text-opacity), transparent);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);--un-outline-style:none;border-radius:var(--radius-DEFAULT);background-color:color-mix(in srgb, var(--colors-primary-500) var(--un-bg-opacity), transparent);gap:calc(var(--spacing) * 2);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));border-width:1px;border-color:#0000;outline-style:none;align-items:center;display:flex}.dark .badge-active,.dark .color-active{color:color-mix(in srgb, var(--colors-primary-300) var(--un-text-opacity), transparent)}.dark .badge-muted,.dark .color-muted{color:color-mix(in srgb, var(--colors-neutral-400) var(--un-text-opacity), transparent)}.color-active{color:color-mix(in srgb, var(--colors-primary-600) var(--un-text-opacity), transparent)}.color-base,.data-\[state\=active\]\:color-base[data-state=active]{color:color-mix(in srgb, var(--colors-neutral-800) var(--un-text-opacity), transparent)}.dark .color-base,.dark .data-\[state\=active\]\:color-base[data-state=active]{color:color-mix(in srgb, var(--colors-neutral-200) var(--un-text-opacity), transparent)}.color-faint,.dark .color-faint{color:color-mix(in srgb, var(--colors-neutral-500) var(--un-text-opacity), transparent)}.color-muted{color:color-mix(in srgb, var(--colors-neutral-600) var(--un-text-opacity), transparent)}.dark .hover\:color-active:hover{color:color-mix(in srgb, var(--colors-primary-300) var(--un-text-opacity), transparent)}.hover\:color-active:hover{color:color-mix(in srgb, var(--colors-primary-600) var(--un-text-opacity), transparent)}.dark .hover\:color-base:hover{color:color-mix(in srgb, var(--colors-neutral-200) var(--un-text-opacity), transparent)}.hover\:color-base:hover{color:color-mix(in srgb, var(--colors-neutral-800) var(--un-text-opacity), transparent)}.dark .placeholder\:color-faint::placeholder,.placeholder\:color-faint::placeholder{color:color-mix(in srgb, var(--colors-neutral-500) var(--un-text-opacity), transparent)}.btn-action{padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);--un-outline-style:none;border-width:1px;border-color:color-mix(in oklab, #9992 var(--un-border-opacity), transparent);border-radius:var(--radius-DEFAULT);opacity:.75;gap:calc(var(--spacing) * 2);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));outline-style:none;align-items:center;display:flex}.btn-icon{--un-outline-style:none;opacity:.65;width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));border-radius:3.40282e38px;outline-style:none;justify-content:center;align-items:center;display:flex}.btn-icon-square{--un-outline-style:none;border-width:1px;border-color:color-mix(in oklab, #9992 var(--un-border-opacity), transparent);border-radius:var(--radius-DEFAULT);opacity:.65;width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));outline-style:none;justify-content:center;align-items:center;display:flex}.border-base{border-color:color-mix(in oklab, #9992 var(--un-border-opacity), transparent)}.border-base\!{border-color:color-mix(in oklab, #9992 var(--un-border-opacity), transparent)!important}.dark .focus-visible\:border-active:focus-visible{border-color:color-mix(in srgb, var(--colors-primary-400) 25%, transparent)}.focus-visible\:border-active:focus-visible{border-color:color-mix(in srgb, var(--colors-primary-600) 25%, transparent)}.bg-active{background-color:color-mix(in oklab, #99999930 var(--un-bg-opacity), transparent)}.bg-base,.data-\[state\=active\]\:bg-base[data-state=active]{background-color:color-mix(in srgb, var(--colors-white) var(--un-bg-opacity), transparent)}.dark .bg-base,.dark .data-\[state\=active\]\:bg-base[data-state=active]{background-color:color-mix(in oklab, #111 var(--un-bg-opacity), transparent)}.bg-secondary{background-color:color-mix(in oklab, #f6f6f6 var(--un-bg-opacity), transparent)}.dark .bg-secondary{background-color:color-mix(in oklab, #101010 var(--un-bg-opacity), transparent)}.hover\:bg-active:hover{background-color:color-mix(in oklab, #99999930 var(--un-bg-opacity), transparent)}.hover\:bg-hover:hover{background-color:color-mix(in oklab, #99999920 var(--un-bg-opacity), transparent)}.dark .hover\:bg-secondary:hover{background-color:color-mix(in oklab, #101010 var(--un-bg-opacity), transparent)}.hover\:bg-secondary:hover{background-color:color-mix(in oklab, #f6f6f6 var(--un-bg-opacity), transparent)}.btn-action:hover,.btn-icon:hover,.btn-icon-square:hover{background-color:color-mix(in oklab, #99999920 var(--un-bg-opacity), transparent);opacity:1}.btn-primary:hover{background-color:color-mix(in srgb, var(--colors-primary-600) var(--un-bg-opacity), transparent)}.dark .btn-icon,.dark .btn-icon-square,.dark .op-fade{opacity:.55}.op-fade{opacity:.65}.btn-action:disabled{pointer-events:none;opacity:.3!important}.btn-icon:disabled,.btn-icon-square:disabled{opacity:.3;pointer-events:none}.btn-primary:disabled{opacity:.5;pointer-events:none}.container{width:100%}.h-nav{height:calc(var(--spacing) * 10)}.btn-action:focus-visible,.btn-icon:focus-visible,.btn-icon-square:focus-visible,.btn-primary:focus-visible{--un-ring-shadow:var(--un-ring-inset,) 0 0 0 calc(2px + var(--un-ring-offset-width)) var(--un-ring-color,currentColor);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);--un-ring-color:color-mix(in srgb, var(--colors-primary-500) 40%, transparent)}.z-modal-backdrop{z-index:60}.z-modal-content{z-index:70}.z-nav{z-index:30}@supports (color:color-mix(in lab, red, red)){.badge-color-amber{color:color-mix(in oklab, var(--colors-amber-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-amber-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-amber-400) 10%, transparent)}.dark .badge-color-amber{color:color-mix(in oklab, var(--colors-amber-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-amber-300) 15%, transparent)}.badge-color-blue{color:color-mix(in oklab, var(--colors-blue-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-blue-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-blue-400) 10%, transparent)}.dark .badge-color-blue{color:color-mix(in oklab, var(--colors-blue-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-blue-300) 15%, transparent)}.badge-color-emerald{color:color-mix(in oklab, var(--colors-emerald-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-emerald-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-emerald-400) 10%, transparent)}.dark .badge-color-emerald{color:color-mix(in oklab, var(--colors-emerald-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-emerald-300) 15%, transparent)}.badge-color-green{color:color-mix(in oklab, var(--colors-green-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-green-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-green-400) 10%, transparent)}.dark .badge-color-green{color:color-mix(in oklab, var(--colors-green-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-green-300) 15%, transparent)}.badge-color-orange{color:color-mix(in oklab, var(--colors-orange-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-orange-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-orange-400) 10%, transparent)}.dark .badge-color-orange{color:color-mix(in oklab, var(--colors-orange-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-orange-300) 15%, transparent)}.badge-color-red{color:color-mix(in oklab, var(--colors-red-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-red-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-red-400) 10%, transparent)}.dark .badge-color-red{color:color-mix(in oklab, var(--colors-red-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-red-300) 15%, transparent)}.badge-color-rose{color:color-mix(in oklab, var(--colors-rose-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-rose-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-rose-400) 10%, transparent)}.dark .badge-color-rose{color:color-mix(in oklab, var(--colors-rose-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-rose-300) 15%, transparent)}.badge-color-sky{color:color-mix(in oklab, var(--colors-sky-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-sky-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-sky-400) 10%, transparent)}.dark .badge-color-sky{color:color-mix(in oklab, var(--colors-sky-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-sky-300) 15%, transparent)}.badge-color-teal{color:color-mix(in oklab, var(--colors-teal-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-teal-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-teal-400) 10%, transparent)}.dark .badge-color-teal{color:color-mix(in oklab, var(--colors-teal-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-teal-300) 15%, transparent)}.badge-color-violet{color:color-mix(in oklab, var(--colors-violet-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-violet-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-violet-400) 10%, transparent)}.dark .badge-color-violet{color:color-mix(in oklab, var(--colors-violet-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-violet-300) 15%, transparent)}.btn-primary{color:color-mix(in oklab, var(--colors-white) var(--un-text-opacity), transparent);background-color:color-mix(in oklab, var(--colors-primary-500) var(--un-bg-opacity), transparent)}.badge-active{color:color-mix(in oklab, var(--colors-primary-600) var(--un-text-opacity), transparent)}.dark .badge-active{color:color-mix(in oklab, var(--colors-primary-300) var(--un-text-opacity), transparent)}.badge-muted{color:color-mix(in oklab, var(--colors-neutral-600) var(--un-text-opacity), transparent)}.dark .badge-muted{color:color-mix(in oklab, var(--colors-neutral-400) var(--un-text-opacity), transparent)}.color-active{color:color-mix(in oklab, var(--colors-primary-600) var(--un-text-opacity), transparent)}.dark .color-active{color:color-mix(in oklab, var(--colors-primary-300) var(--un-text-opacity), transparent)}.color-base{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent)}.dark .color-base,.dark .data-\[state\=active\]\:color-base[data-state=active]{color:color-mix(in oklab, var(--colors-neutral-200) var(--un-text-opacity), transparent)}.data-\[state\=active\]\:color-base[data-state=active]{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent)}.color-faint,.dark .color-faint{color:color-mix(in oklab, var(--colors-neutral-500) var(--un-text-opacity), transparent)}.color-muted{color:color-mix(in oklab, var(--colors-neutral-600) var(--un-text-opacity), transparent)}.dark .color-muted{color:color-mix(in oklab, var(--colors-neutral-400) var(--un-text-opacity), transparent)}.dark .hover\:color-active:hover{color:color-mix(in oklab, var(--colors-primary-300) var(--un-text-opacity), transparent)}.hover\:color-active:hover{color:color-mix(in oklab, var(--colors-primary-600) var(--un-text-opacity), transparent)}.dark .hover\:color-base:hover{color:color-mix(in oklab, var(--colors-neutral-200) var(--un-text-opacity), transparent)}.hover\:color-base:hover{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent)}.dark .placeholder\:color-faint::placeholder,.placeholder\:color-faint::placeholder{color:color-mix(in oklab, var(--colors-neutral-500) var(--un-text-opacity), transparent)}.dark .focus-visible\:border-active:focus-visible{border-color:color-mix(in oklab, var(--colors-primary-400) 25%, transparent)}.focus-visible\:border-active:focus-visible{border-color:color-mix(in oklab, var(--colors-primary-600) 25%, transparent)}.bg-base,.data-\[state\=active\]\:bg-base[data-state=active]{background-color:color-mix(in oklab, var(--colors-white) var(--un-bg-opacity), transparent)}.btn-primary:hover{background-color:color-mix(in oklab, var(--colors-primary-600) var(--un-bg-opacity), transparent)}.btn-action:focus-visible,.btn-icon:focus-visible,.btn-icon-square:focus-visible,.btn-primary:focus-visible{--un-ring-color:color-mix(in oklab, var(--colors-primary-500) 40%, transparent)}}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[15px\]{font-size:15px}.text-\[9\.5px\]{font-size:9.5px}.text-\[9px\]{font-size:9px}.text-4xl{font-size:var(--text-4xl-fontSize);line-height:var(--un-leading,var(--text-4xl-lineHeight))}.text-base{font-size:var(--text-base-fontSize);line-height:var(--un-leading,var(--text-base-lineHeight))}.text-lg{font-size:var(--text-lg-fontSize);line-height:var(--un-leading,var(--text-lg-lineHeight))}.text-sm{font-size:var(--text-sm-fontSize);line-height:var(--un-leading,var(--text-sm-lineHeight))}.text-xs{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight))}.text-amber-500{color:color-mix(in srgb, var(--colors-amber-500) var(--un-text-opacity), transparent)}.text-error{color:color-mix(in srgb, var(--colors-error-DEFAULT) var(--un-text-opacity), transparent)}.text-primary-500{color:color-mix(in srgb, var(--colors-primary-500) var(--un-text-opacity), transparent)}.text-success{color:color-mix(in srgb, var(--colors-success-DEFAULT) var(--un-text-opacity), transparent)}.text-white{color:color-mix(in srgb, var(--colors-white) var(--un-text-opacity), transparent)}.hover\:text-error:hover{color:color-mix(in srgb, var(--colors-error-DEFAULT) var(--un-text-opacity), transparent)}.color-\[var\(--impact\)\]{color:color-mix(in oklab, var(--impact) var(--un-text-opacity), transparent)}.leading-none{--un-leading:var(--leading-none);line-height:var(--leading-none)}.leading-relaxed{--un-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--un-leading:var(--leading-snug);line-height:var(--leading-snug)}.tracking-wide{--un-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.font-bold{--un-font-weight:var(--fontWeight-bold);font-weight:var(--fontWeight-bold)}.font-medium{--un-font-weight:var(--fontWeight-medium);font-weight:var(--fontWeight-medium)}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-semibold{--un-font-weight:var(--fontWeight-semibold);font-weight:var(--fontWeight-semibold)}.tab{tab-size:4}.m-0{margin:calc(var(--spacing) * 0)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.me{margin-inline-end:calc(var(--spacing) * 4)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-3\.5{margin-left:calc(var(--spacing) * 3.5)}.ml-auto{margin-left:auto}.ms{margin-inline-start:calc(var(--spacing) * 4)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2,.px2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-2\.5\!{padding-inline:calc(var(--spacing) * 2.5)!important}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-4\!{padding-inline:calc(var(--spacing) * 4)!important}.py-\[7px\]{padding-block:7px}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1,.py1{padding-block:calc(var(--spacing) * 1)}.py-1\!{padding-block:calc(var(--spacing) * 1)!important}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\!{padding-block:calc(var(--spacing) * 2)!important}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-px{padding-block:1px}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3\.5{padding-left:calc(var(--spacing) * 3.5)}.pr{padding-right:calc(var(--spacing) * 4)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pt-3{padding-top:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.outline{outline-style:var(--un-outline-style);outline-width:1px}.outline-none{--un-outline-style:none;outline-style:none}.list-none{list-style-type:none}.accent-\[var\(--impact\)\]{accent-color:color-mix(in oklab, var(--impact) var(--un-accent-opacity), transparent)}.\!b{border-width:1px!important}.b,.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l-3{border-left-width:3px}.border-\[color\:var\(--impact\)\]\!{border-color:color-mix(in oklab, var(--impact) var(--un-border-opacity), transparent)!important}.border-amber-500\/60{border-color:color-mix(in srgb, var(--colors-amber-500) 60%, transparent)}.border-current{border-color:currentColor}.border-error\/30\!{border-color:color-mix(in srgb, var(--colors-error-DEFAULT) 30%, transparent)!important}.border-primary-500\/45{border-color:color-mix(in srgb, var(--colors-primary-500) 45%, transparent)}.border-transparent{border-color:#0000}.has-\[\:checked\]\:border-primary-500:has(:checked){border-color:color-mix(in srgb, var(--colors-primary-500) var(--un-border-opacity), transparent)}.hover\:border-error\/50:hover{border-color:color-mix(in srgb, var(--colors-error-DEFAULT) 50%, transparent)}.border-l-\[color\:var\(--impact\)\]{border-left-color:color-mix(in oklab, var(--impact) var(--un-border-left-opacity), transparent)}.border-t-transparent{border-top-color:#0000}.rounded{border-radius:var(--radius-DEFAULT)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.bg-\[\#8881\]{background-color:color-mix(in oklab, #8881 var(--un-bg-opacity), transparent)}.bg-\[color-mix\(in_srgb\,var\(--impact\)_16\%\,transparent\)\]\!{background-color:color-mix(in oklab, color-mix(in srgb,var(--impact) 16%,transparent) var(--un-bg-opacity), transparent)!important}.bg-\[color-mix\(in_srgb\,var\(--impact\)_8\%\,transparent\)\]\!{background-color:color-mix(in oklab, color-mix(in srgb,var(--impact) 8%,transparent) var(--un-bg-opacity), transparent)!important}.bg-black\/40{background-color:color-mix(in srgb, var(--colors-black) 40%, transparent)}.bg-black\/55{background-color:color-mix(in srgb, var(--colors-black) 55%, transparent)}.bg-error{background-color:color-mix(in srgb, var(--colors-error-DEFAULT) var(--un-bg-opacity), transparent)}.bg-neutral-400{background-color:color-mix(in srgb, var(--colors-neutral-400) var(--un-bg-opacity), transparent)}.bg-primary-500,.peer:checked~.peer-checked\:bg-primary-500{background-color:color-mix(in srgb, var(--colors-primary-500) var(--un-bg-opacity), transparent)}.bg-primary-500\/12{background-color:color-mix(in srgb, var(--colors-primary-500) 12%, transparent)}.bg-success{background-color:color-mix(in srgb, var(--colors-success-DEFAULT) var(--un-bg-opacity), transparent)}.bg-warning{background-color:color-mix(in srgb, var(--colors-warning-DEFAULT) var(--un-bg-opacity), transparent)}.has-\[\:checked\]\:bg-primary-500\/40:has(:checked){background-color:color-mix(in srgb, var(--colors-primary-500) 40%, transparent)}.op100\!{opacity:1!important}.op75{opacity:.75}.opacity-0{opacity:0}.hover\:op100:hover{opacity:1}.disabled\:op-40:disabled{opacity:.4}.disabled\:op30\!:disabled{opacity:.3!important}.underline,.hover\:underline:hover{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.no-underline{text-decoration:none}.flex{display:flex}.inline-flex{display:inline-flex}.flex-1{flex:1}.shrink-0{flex-shrink:0}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.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-4{gap:calc(var(--spacing) * 4)}.grid{display:grid}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.size-\[15px\]{width:15px;height:15px}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.h-\[17px\]{height:17px}.h-\[18px\]{height:18px}.h-4,.h4{height:calc(var(--spacing) * 4)}.h-7\!{height:calc(var(--spacing) * 7)!important}.h-8{height:calc(var(--spacing) * 8)}.h-full{height:100%}.h1{height:calc(var(--spacing) * 1)}.h2{height:calc(var(--spacing) * 2)}.h3{height:calc(var(--spacing) * 3)}.h5{height:calc(var(--spacing) * 5)}.h6{height:calc(var(--spacing) * 6)}.max-h-full{max-height:100%}.max-w-\[38ch\]{max-width:38ch}.max-w-52{max-width:calc(var(--spacing) * 52)}.max-w-full{max-width:100%}.max-w-sm{max-width:var(--container-sm)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-60{min-height:calc(var(--spacing) * 60)}.min-w-\[17px\]{min-width:17px}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-4{min-width:calc(var(--spacing) * 4)}.w-\[min\(680px\,100\%\)\]{width:min(680px,100%)}.w-7\!{width:calc(var(--spacing) * 7)!important}.w-8{width:calc(var(--spacing) * 8)}.w-full{width:100%}.w-max{width:max-content}.inline{display:inline}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.visible{visibility:visible}.disabled\:cursor-default:disabled{cursor:default}.cursor-pointer{cursor:pointer}.pointer-events-none,.disabled\:pointer-events-none:disabled{pointer-events:none}.resize-none{resize:none}.select-none{-webkit-user-select:none;user-select:none}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.ws-break-spaces{white-space:break-spaces}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.has-\[\:focus-visible\]\:ring-2:has(:focus-visible){--un-ring-shadow:var(--un-ring-inset,) 0 0 0 calc(2px + var(--un-ring-offset-width)) var(--un-ring-color,currentColor);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.ring{--un-ring-shadow:var(--un-ring-inset,) 0 0 0 calc(1px + var(--un-ring-offset-width)) var(--un-ring-color,currentColor);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.focus-visible\:ring-2:focus-visible{--un-ring-shadow:var(--un-ring-inset,) 0 0 0 calc(2px + var(--un-ring-offset-width)) var(--un-ring-color,currentColor);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.has-\[\:focus-visible\]\:ring-primary-500\/40:has(:focus-visible){--un-ring-color:color-mix(in srgb, var(--colors-primary-500) 40%, transparent)}.focus-visible\:ring-primary-500\/40:focus-visible{--un-ring-color:color-mix(in srgb, var(--colors-primary-500) 40%, transparent)}.data-\[state\=active\]\:shadow-sm[data-state=active],.shadow,.shadow-sm{--un-shadow:0 1px 3px 0 var(--un-shadow-color,#0000001a),0 1px 2px -1px var(--un-shadow-color,#0000001a);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.shadow-2xl{--un-shadow:0 25px 50px -12px var(--un-shadow-color,#00000040);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.shadow-lg{--un-shadow:0 10px 15px -3px var(--un-shadow-color,#0000001a),0 4px 6px -4px var(--un-shadow-color,#0000001a);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.hover\:shadow-md:hover{--un-shadow:0 4px 6px -1px var(--un-shadow-color,#0000001a),0 2px 4px -2px var(--un-shadow-color,#0000001a);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.peer:checked~.peer-checked\:translate-x-3\.5{--un-translate-x:calc(var(--spacing) * 3.5);translate:var(--un-translate-x) var(--un-translate-y)}.rotate-90{rotate:90deg}.transform{transform:var(--un-rotate-x) var(--un-rotate-y) var(--un-rotate-z) var(--un-skew-x) var(--un-skew-y)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration))}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.self-start{align-self:flex-start}.self-center{align-self:center}.inset-0{inset:calc(var(--spacing) * 0)}.left-0\.5{left:calc(var(--spacing) * .5)}.top-0{top:calc(var(--spacing) * 0)}.top-0\.5{top:calc(var(--spacing) * .5)}.justify-center{justify-content:center}.place-items-center{place-items:center}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.static{position:static}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.animate-spin{animation:1s linear infinite spin}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.h-svh{height:100svh}.backdrop-blur-sm{--un-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--un-backdrop-blur,) var(--un-backdrop-brightness,) var(--un-backdrop-contrast,) var(--un-backdrop-grayscale,) var(--un-backdrop-hue-rotate,) var(--un-backdrop-invert,) var(--un-backdrop-opacity,) var(--un-backdrop-saturate,) var(--un-backdrop-sepia,);backdrop-filter:var(--un-backdrop-blur,) var(--un-backdrop-brightness,) var(--un-backdrop-contrast,) var(--un-backdrop-grayscale,) var(--un-backdrop-hue-rotate,) var(--un-backdrop-invert,) var(--un-backdrop-opacity,) var(--un-backdrop-saturate,) var(--un-backdrop-sepia,)}.blur{--un-blur:blur(8px);filter:var(--un-blur,) var(--un-brightness,) var(--un-contrast,) var(--un-grayscale,) var(--un-hue-rotate,) var(--un-invert,) var(--un-saturate,) var(--un-sepia,) var(--un-drop-shadow,)}.filter{filter:var(--un-blur,) var(--un-brightness,) var(--un-contrast,) var(--un-grayscale,) var(--un-hue-rotate,) var(--un-invert,) var(--un-saturate,) var(--un-sepia,) var(--un-drop-shadow,)}.table{display:table}.tabular-nums{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal,) var(--un-slashed-zero,) var(--un-numeric-figure,) var(--un-numeric-spacing,) var(--un-numeric-fraction,)}@supports (color:color-mix(in lab, red, red)){.text-amber-500{color:color-mix(in oklab, var(--colors-amber-500) var(--un-text-opacity), transparent)}.text-error{color:color-mix(in oklab, var(--colors-error-DEFAULT) var(--un-text-opacity), transparent)}.text-primary-500{color:color-mix(in oklab, var(--colors-primary-500) var(--un-text-opacity), transparent)}.text-success{color:color-mix(in oklab, var(--colors-success-DEFAULT) var(--un-text-opacity), transparent)}.text-white{color:color-mix(in oklab, var(--colors-white) var(--un-text-opacity), transparent)}.hover\:text-error:hover{color:color-mix(in oklab, var(--colors-error-DEFAULT) var(--un-text-opacity), transparent)}.border-amber-500\/60{border-color:color-mix(in oklab, var(--colors-amber-500) 60%, transparent)}.border-error\/30\!{border-color:color-mix(in oklab, var(--colors-error-DEFAULT) 30%, transparent)!important}.border-primary-500\/45{border-color:color-mix(in oklab, var(--colors-primary-500) 45%, transparent)}.has-\[\:checked\]\:border-primary-500:has(:checked){border-color:color-mix(in oklab, var(--colors-primary-500) var(--un-border-opacity), transparent)}.hover\:border-error\/50:hover{border-color:color-mix(in oklab, var(--colors-error-DEFAULT) 50%, transparent)}.bg-black\/40{background-color:color-mix(in oklab, var(--colors-black) 40%, transparent)}.bg-black\/55{background-color:color-mix(in oklab, var(--colors-black) 55%, transparent)}.bg-error{background-color:color-mix(in oklab, var(--colors-error-DEFAULT) var(--un-bg-opacity), transparent)}.bg-neutral-400{background-color:color-mix(in oklab, var(--colors-neutral-400) var(--un-bg-opacity), transparent)}.bg-primary-500{background-color:color-mix(in oklab, var(--colors-primary-500) var(--un-bg-opacity), transparent)}.bg-primary-500\/12{background-color:color-mix(in oklab, var(--colors-primary-500) 12%, transparent)}.bg-success{background-color:color-mix(in oklab, var(--colors-success-DEFAULT) var(--un-bg-opacity), transparent)}.bg-warning{background-color:color-mix(in oklab, var(--colors-warning-DEFAULT) var(--un-bg-opacity), transparent)}.has-\[\:checked\]\:bg-primary-500\/40:has(:checked){background-color:color-mix(in oklab, var(--colors-primary-500) 40%, transparent)}.peer:checked~.peer-checked\:bg-primary-500{background-color:color-mix(in oklab, var(--colors-primary-500) var(--un-bg-opacity), transparent)}.has-\[\:focus-visible\]\:ring-primary-500\/40:has(:focus-visible){--un-ring-color:color-mix(in oklab, var(--colors-primary-500) 40%, transparent)}.focus-visible\:ring-primary-500\/40:focus-visible{--un-ring-color:color-mix(in oklab, var(--colors-primary-500) 40%, transparent)}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.dark .dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:color-mix(in srgb, var(--colors-neutral-200) var(--un-text-opacity), transparent)}@supports (color:color-mix(in lab, red, red)){html.dark .dark{color:color-mix(in oklab, var(--colors-neutral-200) var(--un-text-opacity), transparent)}}html.light .light{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:color-mix(in srgb, var(--colors-neutral-800) var(--un-text-opacity), transparent)}@supports (color:color-mix(in lab, red, red)){html.light .light{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent)}}html,body{color:color-mix(in srgb, var(--colors-neutral-800) var(--un-text-opacity), transparent);background-color:color-mix(in srgb, var(--colors-white) var(--un-bg-opacity), transparent)}@supports (color:color-mix(in lab, red, red)){html,body{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent);background-color:color-mix(in oklab, var(--colors-white) var(--un-bg-opacity), transparent)}}.dark html,.dark body{color:color-mix(in srgb, var(--colors-neutral-200) var(--un-text-opacity), transparent);background-color:color-mix(in oklab, #111 var(--un-bg-opacity), transparent)}@supports (color:color-mix(in lab, red, red)){.dark html,.dark body{color:color-mix(in oklab, var(--colors-neutral-200) var(--un-text-opacity), transparent)}}*{scrollbar-width:thin;scrollbar-color:#88888859 transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#8888884d;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#88888880}@keyframes af-spin{to{transform:rotate(360deg)}}@keyframes af-spin-reverse{to{transform:rotate(-360deg)}}.af-spin{animation:1s linear infinite af-spin}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:9999}html.dark::view-transition-old(root){z-index:9999}html.dark::view-transition-new(root){z-index:1}@media (prefers-reduced-motion:reduce){::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}}[data-reka-popper-content-wrapper]{z-index:70}[data-af-animate][data-state=open]{animation:.15s both af-fade-in}[data-af-animate][data-state=closed]{animation:.15s both af-fade-out}[data-af-modal][data-state=open]{animation:.18s cubic-bezier(.16,1,.3,1) both af-modal-in}[data-af-modal][data-state=closed]{animation:.15s both af-modal-out}[data-af-drawer]{animation-duration:.22s;animation-timing-function:cubic-bezier(.32,.72,0,1);animation-fill-mode:both}[data-af-drawer][data-side=right]{animation-name:af-slide-right}[data-af-drawer][data-side=left]{animation-name:af-slide-left}[data-af-drawer][data-side=top]{animation-name:af-slide-top}[data-af-drawer][data-side=bottom]{animation-name:af-slide-bottom}[data-af-drawer][data-state=closed]{animation-direction:reverse}@keyframes af-fade-in{0%{opacity:0}}@keyframes af-fade-out{to{opacity:0}}@keyframes af-modal-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes af-modal-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}@keyframes af-slide-right{0%{transform:translate(100%)}}@keyframes af-slide-left{0%{transform:translate(-100%)}}@keyframes af-slide-top{0%{transform:translateY(-100%)}}@keyframes af-slide-bottom{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){[data-af-animate],[data-af-modal],[data-af-drawer]{animation:none!important}}.v-popper__popper .v-popper__inner{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight));color:color-mix(in srgb, var(--colors-neutral-800) var(--un-text-opacity), transparent);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);border-width:1px;border-color:color-mix(in oklab, #9992 var(--un-border-opacity), transparent);border-radius:var(--radius-md);background-color:color-mix(in srgb, var(--colors-white) 75%, transparent);--un-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--un-backdrop-blur,) var(--un-backdrop-brightness,) var(--un-backdrop-contrast,) var(--un-backdrop-grayscale,) var(--un-backdrop-hue-rotate,) var(--un-backdrop-invert,) var(--un-backdrop-opacity,) var(--un-backdrop-saturate,) var(--un-backdrop-sepia,);backdrop-filter:var(--un-backdrop-blur,) var(--un-backdrop-brightness,) var(--un-backdrop-contrast,) var(--un-backdrop-grayscale,) var(--un-backdrop-hue-rotate,) var(--un-backdrop-invert,) var(--un-backdrop-opacity,) var(--un-backdrop-saturate,) var(--un-backdrop-sepia,);box-shadow:0 4px 16px #0000001f}@supports (color:color-mix(in lab, red, red)){.v-popper__popper .v-popper__inner{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent);background-color:color-mix(in oklab, var(--colors-white) 75%, transparent)}}.dark .v-popper__popper .v-popper__inner{color:color-mix(in srgb, var(--colors-neutral-200) var(--un-text-opacity), transparent);background-color:oklab(17.7638% -2.23517e-8 0/.75)}@supports (color:color-mix(in lab, red, red)){.dark .v-popper__popper .v-popper__inner{color:color-mix(in oklab, var(--colors-neutral-200) var(--un-text-opacity), transparent)}}.v-popper__popper .v-popper__arrow-outer{border-color:color-mix(in oklab, #9992 var(--un-border-opacity), transparent)}.v-popper__popper .v-popper__arrow-inner{border-color:color-mix(in srgb, var(--colors-white) 75%, transparent);visibility:visible}@supports (color:color-mix(in lab, red, red)){.v-popper__popper .v-popper__arrow-inner{border-color:color-mix(in oklab, var(--colors-white) 75%, transparent)}}.dark .v-popper__popper .v-popper__arrow-inner{border-color:oklab(17.7638% -2.23517e-8 0/.75)}.v-popper--theme-dropdown .v-popper__inner{padding:calc(var(--spacing) * 1)}.splitpanes{width:100%;height:100%;display:flex}.splitpanes--vertical{flex-direction:row}.splitpanes--horizontal{flex-direction:column}.splitpanes--dragging *{-webkit-user-select:none;user-select:none}.splitpanes__pane{width:100%;height:100%;overflow:hidden}.splitpanes--vertical>.splitpanes__pane{transition:width .2s ease-out}.splitpanes--horizontal>.splitpanes__pane{transition:height .2s ease-out}.splitpanes--dragging>.splitpanes__pane{pointer-events:none;transition:none}.splitpanes__splitter{touch-action:none;background-color:color-mix(in oklab, #8882 var(--un-bg-opacity), transparent);transition:background-color .2s;position:relative}.splitpanes__splitter:hover{background-color:color-mix(in oklab, #8886 var(--un-bg-opacity), transparent)}.splitpanes--vertical>.splitpanes__splitter{cursor:col-resize;min-width:1px}.splitpanes--horizontal>.splitpanes__splitter{cursor:row-resize;min-height:1px}.splitpanes__splitter:before{content:"";z-index:1;position:absolute;inset:-4px}html,body{height:100%;margin:0}#app{height:100%}body{-webkit-font-smoothing:antialiased}.a11y-scroll::-webkit-scrollbar{width:10px}.a11y-scroll::-webkit-scrollbar-thumb{background:#80808047 padding-box padding-box;border:3px solid #0000;border-radius:8px}.a11y-scroll::-webkit-scrollbar-thumb:hover{background:#80808073 padding-box padding-box}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
@@ -0,0 +1,4 @@
1
+ (function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var e={context:void 0,registry:void 0,effects:void 0,done:!1,getContextId(){return t(this.context.count)},getNextContextId(){return t(this.context.count++)}};function t(t){let n=String(t),r=n.length-1;return e.context.id+(r?String.fromCharCode(96+r):``)+n}function n(t){e.context=t}var r=(e,t)=>e===t,i=Symbol(`solid-track`),a={equals:r},o=null,s=ue,c=1,l=2,u={owned:null,cleanups:null,context:null,owner:null},d=null,f=null,p=null,m=null,h=null,g=0;function _(e,t){let n=p,r=d,i=e.length===0,a=t===void 0?r:t,o=i?u:{owned:null,cleanups:null,context:a?a.context:null,owner:a},s=i?e:()=>e(()=>C(()=>A(o)));d=o,p=null;try{return k(s,!0)}finally{p=n,d=r}}function v(e,t){t=t?Object.assign({},a,t):a;let n={value:e,observers:null,observerSlots:null,comparator:t.equals||void 0};return[re.bind(n),e=>(typeof e==`function`&&(e=f&&f.running&&f.sources.has(n)?e(n.tValue):e(n.value)),ie(n,e))]}function y(e,t,n){ae(se(e,t,!1,c))}function b(e,t,n){s=de;let r=se(e,t,!1,c),i=O&&te(O);i&&(r.suspense=i),(!n||!n.render)&&(r.user=!0),h?h.push(r):ae(r)}function x(e,t,n){n=n?Object.assign({},a,n):a;let r=se(e,t,!0,0);return r.observers=null,r.observerSlots=null,r.comparator=n.equals||void 0,ae(r),re.bind(r)}function S(e){return k(e,!1)}function C(e){if(p===null)return e();let t=p;p=null;try{return e()}finally{p=t}}function w(e,t,n){let r=Array.isArray(e),i,a=n&&n.defer;return n=>{let o;if(r){o=Array(e.length);for(let t=0;t<e.length;t++)o[t]=e[t]()}else o=e();if(a)return a=!1,n;let s=C(()=>t(o,i,n));return i=o,s}}function T(e){b(()=>C(e))}function E(e){return d===null||(d.cleanups===null?d.cleanups=[e]:d.cleanups.push(e)),e}var[ee,D]=v(!1);function te(e){let t;return d&&d.context&&(t=d.context[e.id])!==void 0?t:e.defaultValue}function ne(e){let t=x(e),n=x(()=>ve(t()));return n.toArray=()=>{let e=n();return Array.isArray(e)?e:e==null?[]:[e]},n}var O;function re(){let e=f&&f.running;if(this.sources&&(e?this.tState:this.state)){if((e?this.tState:this.state)===c)ae(this);else{let e=m;m=null,k(()=>fe(this),!1),m=e}}if(p){let e=this.observers;if(!e||e[e.length-1]!==p){let t=e?e.length:0;p.sources?(p.sources.push(this),p.sourceSlots.push(t)):(p.sources=[this],p.sourceSlots=[t]),e?(e.push(p),this.observerSlots.push(p.sources.length-1)):(this.observers=[p],this.observerSlots=[p.sources.length-1])}}return e&&f.sources.has(this)?this.tValue:this.value}function ie(e,t,n){let r=f&&f.running&&f.sources.has(e)?e.tValue:e.value;if(!e.comparator||!e.comparator(r,t)){if(f){let r=f.running;(r||!n&&f.sources.has(e))&&(f.sources.add(e),e.tValue=t),r||(e.value=t)}else e.value=t;e.observers&&e.observers.length&&k(()=>{for(let t=0;t<e.observers.length;t+=1){let n=e.observers[t],r=f&&f.running;r&&f.disposed.has(n)||((r?!n.tState:!n.state)&&(n.pure?m.push(n):h.push(n),n.observers&&pe(n)),r?n.tState=c:n.state=c)}if(m.length>1e6)throw m=[],Error()},!1)}return t}function ae(e){if(!e.fn)return;A(e);let t=g;oe(e,f&&f.running&&f.sources.has(e)?e.tValue:e.value,t),f&&!f.running&&f.sources.has(e)&&queueMicrotask(()=>{k(()=>{f&&(f.running=!0),p=d=e,oe(e,e.tValue,t),p=d=null},!1)})}function oe(e,t,n){let r,i=d,a=p;p=d=e;try{r=e.fn(t)}catch(t){return e.pure&&(f&&f.running?(e.tState=c,e.tOwned&&e.tOwned.forEach(A),e.tOwned=void 0):(e.state=c,e.owned&&e.owned.forEach(A),e.owned=null)),e.updatedAt=n+1,_e(t)}finally{p=a,d=i}(!e.updatedAt||e.updatedAt<=n)&&(e.updatedAt!=null&&`observers`in e?ie(e,r,!0):f&&f.running&&e.pure?(f.sources.has(e)||(e.value=r),f.sources.add(e),e.tValue=r):e.value=r,e.updatedAt=n)}function se(e,t,n,r=c,i){let a={fn:e,state:r,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:t,owner:d,context:d?d.context:null,pure:n};return f&&f.running&&(a.state=0,a.tState=r),d===null||d!==u&&(f&&f.running&&d.pure?d.tOwned?d.tOwned.push(a):d.tOwned=[a]:d.owned?d.owned.push(a):d.owned=[a]),a}function ce(e){let t=f&&f.running;if((t?e.tState:e.state)===0)return;if((t?e.tState:e.state)===l)return fe(e);if(e.suspense&&C(e.suspense.inFallback))return e.suspense.effects.push(e);let n=[e];for(;(e=e.owner)&&(!e.updatedAt||e.updatedAt<g);){if(t&&f.disposed.has(e))return;(t?e.tState:e.state)&&n.push(e)}for(let r=n.length-1;r>=0;r--){if(e=n[r],t){let t=e,i=n[r+1];for(;(t=t.owner)&&t!==i;)if(f.disposed.has(t))return}if((t?e.tState:e.state)===c)ae(e);else if((t?e.tState:e.state)===l){let t=m;m=null,k(()=>fe(e,n[0]),!1),m=t}}}function k(e,t){if(m)return e();let n=!1;t||(m=[]),h?n=!0:h=[],g++;try{let t=e();return le(n),t}catch(e){n||(h=null),m=null,_e(e)}}function le(e){if(m&&=(ue(m),null),e)return;let t;if(f){if(!f.promises.size&&!f.queue.size){let e=f.sources,n=f.disposed;h.push.apply(h,f.effects),t=f.resolve;for(let e of h)`tState`in e&&(e.state=e.tState),delete e.tState;f=null,k(()=>{for(let e of n)A(e);for(let t of e){if(t.value=t.tValue,t.owned)for(let e=0,n=t.owned.length;e<n;e++)A(t.owned[e]);t.tOwned&&(t.owned=t.tOwned),delete t.tValue,delete t.tOwned,t.tState=0}D(!1)},!1)}else if(f.running){f.running=!1,f.effects.push.apply(f.effects,h),h=null,D(!0);return}}let n=h;h=null,n.length&&k(()=>s(n),!1),t&&t()}function ue(e){for(let t=0;t<e.length;t++)ce(e[t])}function de(t){let r,i=0;for(r=0;r<t.length;r++){let e=t[r];e.user?t[i++]=e:ce(e)}if(e.context){if(e.count){e.effects||=[],e.effects.push(...t.slice(0,i));return}n()}for(e.effects&&(e.done||!e.count)&&(t=[...e.effects,...t],i+=e.effects.length,delete e.effects),r=0;r<i;r++)ce(t[r])}function fe(e,t){let n=f&&f.running;n?e.tState=0:e.state=0;for(let r=0;r<e.sources.length;r+=1){let i=e.sources[r];if(i.sources){let e=n?i.tState:i.state;e===c?i!==t&&(!i.updatedAt||i.updatedAt<g)&&ce(i):e===l&&fe(i,t)}}}function pe(e){let t=f&&f.running;for(let n=0;n<e.observers.length;n+=1){let r=e.observers[n];(t?!r.tState:!r.state)&&(t?r.tState=l:r.state=l,r.pure?m.push(r):h.push(r),r.observers&&pe(r))}}function A(e){let t;if(e.sources)for(;e.sources.length;){let t=e.sources.pop(),n=e.sourceSlots.pop(),r=t.observers;if(r&&r.length){let e=r.pop(),i=t.observerSlots.pop();n<r.length&&(e.sourceSlots[i]=n,r[n]=e,t.observerSlots[n]=i)}}if(e.tOwned){for(t=e.tOwned.length-1;t>=0;t--)A(e.tOwned[t]);delete e.tOwned}if(f&&f.running&&e.pure)me(e,!0);else if(e.owned){for(t=e.owned.length-1;t>=0;t--)A(e.owned[t]);e.owned=null}if(e.cleanups){for(t=e.cleanups.length-1;t>=0;t--)e.cleanups[t]();e.cleanups=null}f&&f.running?e.tState=0:e.state=0}function me(e,t){if(t||(e.tState=0,f.disposed.add(e)),e.owned)for(let t=0;t<e.owned.length;t++)me(e.owned[t])}function he(e){return e instanceof Error?e:Error(typeof e==`string`?e:`Unknown error`,{cause:e})}function ge(e,t,n){try{for(let n of t)n(e)}catch(e){_e(e,n&&n.owner||null)}}function _e(e,t=d){let n=o&&t&&t.context&&t.context[o],r=he(e);if(!n)throw r;h?h.push({fn(){ge(r,n,t)},state:c}):ge(r,n,t)}function ve(e){if(typeof e==`function`&&!e.length)return ve(e());if(Array.isArray(e)){let t=[];for(let n=0;n<e.length;n++){let r=ve(e[n]);if(Array.isArray(r)){if(r.length<32768)t.push.apply(t,r);else for(let e=0;e<r.length;e++)t.push(r[e])}else t.push(r)}return t}return e}var ye=Symbol(`fallback`);function be(e){for(let t=0;t<e.length;t++)e[t]()}function xe(e,t,n={}){let r=[],a=[],o=[],s=0,c=t.length>1?[]:null;return E(()=>be(o)),()=>{let l=e()||[],u=l.length,d,f;return l[i],C(()=>{let e,t,i,m,h,g,v,y,b;if(u===0)s!==0&&(be(o),o=[],r=[],a=[],s=0,c&&=[]),n.fallback&&(r=[ye],a[0]=_(e=>(o[0]=e,n.fallback())),s=1);else if(s===0){for(a=Array(u),f=0;f<u;f++)r[f]=l[f],a[f]=_(p);s=u}else{for(i=Array(u),m=Array(u),c&&(h=Array(u)),g=0,v=Math.min(s,u);g<v&&r[g]===l[g];g++);for(v=s-1,y=u-1;v>=g&&y>=g&&r[v]===l[y];v--,y--)i[y]=a[v],m[y]=o[v],c&&(h[y]=c[v]);for(e=new Map,t=Array(y+1),f=y;f>=g;f--)b=l[f],d=e.get(b),t[f]=d===void 0?-1:d,e.set(b,f);for(d=g;d<=v;d++)b=r[d],f=e.get(b),f!==void 0&&f!==-1?(i[f]=a[d],m[f]=o[d],c&&(h[f]=c[d]),f=t[f],e.set(b,f)):o[d]();for(f=g;f<u;f++)f in i?(a[f]=i[f],o[f]=m[f],c&&(c[f]=h[f],c[f](f))):a[f]=_(p);a=a.slice(0,s=u),r=l.slice(0)}return a});function p(e){if(o[f]=e,c){let[e,n]=v(f);return c[f]=n,t(l[f],e)}return t(l[f])}}}function j(e,t){return C(()=>e(t||{}))}var Se=e=>`Stale read from <${e}>.`;function Ce(e){let t=`fallback`in e&&{fallback:()=>e.fallback};return x(xe(()=>e.each,e.children,t||void 0))}function M(e){let t=e.keyed,n=x(()=>e.when,void 0,void 0),r=t?n:x(n,void 0,{equals:(e,t)=>!e==!t});return x(()=>{let i=r();if(i){let a=e.children;return typeof a==`function`&&a.length>0?C(()=>a(t?i:()=>{if(!C(r))throw Se(`Show`);return n()})):a}return e.fallback},void 0,void 0)}function we(e){let t=ne(()=>e.children),n=x(()=>{let e=t(),n=Array.isArray(e)?e:[e],r=()=>void 0;for(let e=0;e<n.length;e++){let t=e,i=n[e],a=r,o=x(()=>a()?void 0:i.when,void 0,void 0),s=i.keyed?o:x(o,void 0,{equals:(e,t)=>!e==!t});r=()=>a()||(s()?[t,o,i]:void 0)}return r});return x(()=>{let t=n()();if(!t)return e.fallback;let[r,i,a]=t,o=a.children;return typeof o==`function`&&o.length>0?C(()=>o(a.keyed?i():()=>{if(C(n)()?.[0]!==r)throw Se(`Match`);return i()})):o},void 0,void 0)}function Te(e){return e}var Ee=e=>x(()=>e());function De(e,t,n){let r=n.length,i=t.length,a=r,o=0,s=0,c=t[i-1].nextSibling,l=null;for(;o<i||s<a;){if(t[o]===n[s]){o++,s++;continue}for(;t[i-1]===n[a-1];)i--,a--;if(i===o){let t=a<r?s?n[s-1].nextSibling:n[a-s]:c;for(;s<a;)e.insertBefore(n[s++],t)}else if(a===s)for(;o<i;)(!l||!l.has(t[o]))&&t[o].remove(),o++;else if(t[o]===n[a-1]&&n[s]===t[i-1]){let r=t[--i].nextSibling;e.insertBefore(n[s++],t[o++].nextSibling),e.insertBefore(n[--a],r),t[i]=n[a]}else{if(!l){l=new Map;let e=s;for(;e<a;)l.set(n[e],e++)}let r=l.get(t[o]);if(r!=null){if(s<r&&r<a){let c=o,u=1,d;for(;++c<i&&c<a&&(d=l.get(t[c]))!=null&&d===r+u;)u++;if(u>r-s){let i=t[o];for(;s<r;)e.insertBefore(n[s++],i)}else e.replaceChild(n[s++],t[o++])}else o++}else t[o++].remove()}}}var Oe=`_$DX_DELEGATE`;function ke(e,t,n,r={}){let i;return _(r=>{i=r,t===document?e():I(t,e(),t.firstChild?null:void 0,n)},r.owner),()=>{i(),t.textContent=``}}function N(e,t,n,r){let i,a=()=>{let t=r?document.createElementNS(`http://www.w3.org/1998/Math/MathML`,`template`):document.createElement(`template`);return t.innerHTML=e,n?t.content.firstChild.firstChild:r?t.firstChild:t.content.firstChild},o=t?()=>C(()=>document.importNode(i||=a(),!0)):()=>(i||=a()).cloneNode(!0);return o.cloneNode=o,o}function Ae(e,t=window.document){let n=t[Oe]||(t[Oe]=new Set);for(let r=0,i=e.length;r<i;r++){let i=e[r];n.has(i)||(n.add(i),t.addEventListener(i,Ie))}}function P(e,t,n){Pe(e)||(n==null?e.removeAttribute(t):e.setAttribute(t,n))}function F(e,t){Pe(e)||(t==null?e.removeAttribute(`class`):e.className=t)}function je(e,t,n={}){let r=Object.keys(t||{}),i=Object.keys(n),a,o;for(a=0,o=i.length;a<o;a++){let r=i[a];!r||r===`undefined`||t[r]||(Fe(e,r,!1),delete n[r])}for(a=0,o=r.length;a<o;a++){let i=r[a],o=!!t[i];!i||i===`undefined`||n[i]===o||!o||(Fe(e,i,!0),n[i]=o)}return n}function Me(e,t,n){n==null?e.style.removeProperty(t):e.style.setProperty(t,n)}function Ne(e,t,n){return C(()=>e(t,n))}function I(e,t,n,r){if(n!==void 0&&!r&&(r=[]),typeof t!=`function`)return Le(e,t,r,n);y(r=>Le(e,t(),r,n),r)}function Pe(t){return!!e.context&&!e.done&&(!t||t.isConnected)}function Fe(e,t,n){let r=t.trim().split(/\s+/);for(let t=0,i=r.length;t<i;t++)e.classList.toggle(r[t],n)}function Ie(t){if(e.registry&&e.events&&e.events.find(([e,n])=>n===t))return;let n=t.target,r=`$$${t.type}`,i=t.target,a=t.currentTarget,o=e=>Object.defineProperty(t,"target",{configurable:!0,value:e}),s=()=>{let e=n[r];if(e&&!n.disabled){let i=n[`${r}Data`];if(i===void 0?e.call(n,t):e.call(n,i,t),t.cancelBubble)return}return n.host&&typeof n.host!=`string`&&!n.host._$host&&n.contains(t.target)&&o(n.host),!0},c=()=>{for(;s()&&(n=n._$host||n.parentNode||n.host););};if(Object.defineProperty(t,"currentTarget",{configurable:!0,get(){return n||document}}),e.registry&&!e.done&&(e.done=_$HY.done=!0),t.composedPath){let e=t.composedPath();o(e[0]);for(let t=0;t<e.length-2&&(n=e[t],s());t++){if(n._$host){n=n._$host,c();break}if(n.parentNode===a)break}}else c();o(i)}function Le(e,t,n,r,i){let a=Pe(e);if(a){!n&&(n=[...e.childNodes]);let t=[];for(let e=0;e<n.length;e++){let r=n[e];r.nodeType===8&&r.data.slice(0,2)===`!$`?r.remove():t.push(r)}n=t}for(;typeof n==`function`;)n=n();if(t===n)return n;let o=typeof t,s=r!==void 0;if(e=s&&n[0]&&n[0].parentNode||e,o===`string`||o===`number`){if(a||o===`number`&&(t=t.toString(),t===n))return n;if(s){let i=n[0];i&&i.nodeType===3?i.data!==t&&(i.data=t):i=document.createTextNode(t),n=Be(e,n,r,i)}else n=n!==``&&typeof n==`string`?e.firstChild.data=t:e.textContent=t}else if(t==null||o===`boolean`){if(a)return n;n=Be(e,n,r)}else if(o===`function`)return y(()=>{let i=t();for(;typeof i==`function`;)i=i();n=Le(e,i,n,r)}),()=>n;else if(Array.isArray(t)){let o=[],c=n&&Array.isArray(n);if(Re(o,t,n,i))return y(()=>n=Le(e,o,n,r,!0)),()=>n;if(a){if(!o.length)return n;if(r===void 0)return n=[...e.childNodes];let t=o[0];if(t.parentNode!==e)return n;let i=[t];for(;(t=t.nextSibling)!==r;)i.push(t);return n=i}if(o.length===0){if(n=Be(e,n,r),s)return n}else c?n.length===0?ze(e,o,r):De(e,n,o):(n&&Be(e),ze(e,o));n=o}else if(t.nodeType){if(a&&t.parentNode)return n=s?[t]:t;if(Array.isArray(n)){if(s)return n=Be(e,n,r,t);Be(e,n,null,t)}else n==null||n===``||!e.firstChild?e.appendChild(t):e.replaceChild(t,e.firstChild);n=t}return n}function Re(e,t,n,r){let i=!1;for(let a=0,o=t.length;a<o;a++){let o=t[a],s=n&&n[e.length],c;if(o!=null&&o!==!0&&o!==!1){if((c=typeof o)==`object`&&o.nodeType)e.push(o);else if(Array.isArray(o))i=Re(e,o,s)||i;else if(c===`function`){if(r){for(;typeof o==`function`;)o=o();i=Re(e,Array.isArray(o)?o:[o],Array.isArray(s)?s:[s])||i}else e.push(o),i=!0}else{let t=String(o);s&&s.nodeType===3&&s.data===t?e.push(s):e.push(document.createTextNode(t))}}}return i}function ze(e,t,n=null){for(let r=0,i=t.length;r<i;r++)e.insertBefore(t[r],n)}function Be(e,t,n,r){if(n===void 0)return e.textContent=``;let i=r||document.createTextNode(``);if(t.length){let r=!1;for(let a=t.length-1;a>=0;a--){let o=t[a];if(i!==o){let t=o.parentNode===e;!r&&!a?t?e.replaceChild(i,o):e.insertBefore(i,n):t&&o.remove()}else r=!0}}else e.insertBefore(i,n);return[i]}var Ve=`devframes:plugin:a11y`,He=`devframe:docks:active`,Ue={critical:`#ff5c7a`,serious:`#ff9b52`,moderate:`#f2d14e`,minor:`#6fb1fc`};function We(){return{critical:0,serious:0,moderate:0,minor:0}}var Ge=N(`<code class="font-mono text-[11.5px] color-muted bg-secondary border border-base rounded-lg px-3 py-2.5 whitespace-pre-wrap break-all text-left max-w-full">`),Ke=N(`<div class="flex flex-col items-center justify-center gap-3 h-full p-8 text-center color-muted"><span aria-hidden></span><p class="text-[15px] font-semibold color-base"></p><p class="text-xs leading-relaxed max-w-[38ch]">`);function qe(e){return(()=>{var t=Ke(),n=t.firstChild,r=n.nextSibling,i=r.nextSibling;return I(r,()=>e.title),I(i,()=>e.body),I(t,j(M,{get when(){return e.code},get children(){var t=Ge();return I(t,()=>e.code),t}}),null),y(()=>F(n,`${e.icon} ${e.clean?`text-success`:`color-faint`}`)),t})()}function Je(...e){return e.filter(Boolean).join(` `)}function Ye({variant:e=`primary`,size:t=`md`,class:n}={}){let r={primary:`btn-primary`,secondary:`btn-action`,outline:`btn-action`,ghost:`inline-flex items-center justify-center gap-1.5 rounded px2 py1 op75 hover:op100 hover:bg-active transition disabled:pointer-events-none disabled:op30!`,destructive:`btn-action text-error border-error/30!`,link:`inline-flex items-center gap-1.5 color-active hover:underline underline-offset-2`},i=t===`sm`?e===`primary`?`text-sm px-2.5! py-1!`:`text-sm`:t===`lg`?`text-base px-4! py-2!`:``;return Je(r[e],i,n)}function Xe(e){return Je(`flex items-center gap-2 shrink-0 h-nav px-3 border-b border-base bg-base z-nav`,e)}function Ze(e){return Je(`flex items-center gap-1.5 shrink-0 font-semibold text-sm select-none`,e)}function Qe(e){let t=[`You are an accessibility engineer. Fix the following WCAG issues found by axe-core.`,`For each violation, change the markup and/or styles so the rule passes while preserving the design and behavior, and briefly explain each fix.`,``];for(let[n,r]of $e(e)){let e=r[0]?.url;t.push(`## Route: ${n}${e?` (${e})`:``}`);for(let{violation:e}of r)t.push(...et(e));t.push(``)}return t.join(`
2
+ `).trimEnd()}function $e(e){let t=new Map;for(let n of e){let e=t.get(n.route)??[];e.push(n),t.set(n.route,e)}return t}function et(e){let t=[``,`### ${e.ruleId}: ${e.help}`,`- Impact: ${e.impact}${e.bestPractice?` (best practice)`:``}`];e.tags?.length&&t.push(`- WCAG: ${e.tags.join(`, `)}`),t.push(`- Docs: ${e.helpUrl}`),t.push(`- What it checks: ${e.description}`),t.push(`- Affected element${e.nodes.length===1?``:`s`} (${e.nodes.length}):`);for(let n of e.nodes)t.push(...tt(n));return t}function tt(e){let t=[` - selector: \`${e.target.join(` `)}\``," ```html",` ${e.html}`," ```"];return e.failureSummary&&t.push(` fix hint: ${e.failureSummary.replace(/\s*\n\s*/g,` `)}`),t}var nt=N(`<div class="fixed inset-0 z-modal-content flex items-center justify-center p-6 bg-black/55 backdrop-blur-sm"><div class="flex flex-col gap-3 w-[min(680px,100%)] max-h-full p-4 bg-secondary border border-base rounded-xl shadow-2xl"role=dialog aria-modal=true aria-labelledby=fix-prompts-title><div class="flex items-start gap-2.5"><div><h2 id=fix-prompts-title class="m-0 text-[15px] font-semibold color-base">Fix prompts</h2><p class="mt-0.5 text-xs color-muted"> <!> selected. Copy the prompt into your AI assistant.</p></div><button type=button class="ml-auto inline-flex p-1.5 rounded color-muted cursor-pointer transition hover:bg-active hover:color-base outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40"aria-label=Close><span aria-hidden class="i-ph-x shrink-0"></span></button></div><textarea class="flex-1 min-h-60 resize-none w-full p-3 bg-base border border-base rounded-lg font-mono text-[11.5px] leading-relaxed color-base ws-break-spaces overflow-auto outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40"readonly aria-label="Generated fix prompt"></textarea><div class="flex items-center gap-2.5"><span class="min-w-0 truncate text-[11px] color-faint"></span><span class=flex-1></span><button type=button><span aria-hidden>`),rt=N(`<code class=font-mono>`);function it(e){let t=x(()=>Qe(e.items)),n=()=>e.items.length,[r,i]=v(!1),a;function o(){navigator.clipboard?.writeText(t()).then(()=>{i(!0),setTimeout(i,1500,!1)})}function s(t){t.key===`Escape`&&e.onClose()}return T(()=>{addEventListener(`keydown`,s),a?.focus()}),E(()=>removeEventListener(`keydown`,s)),(()=>{var i=nt(),s=i.firstChild,c=s.firstChild,l=c.firstChild,u=l.firstChild.nextSibling,d=u.firstChild,f=d.nextSibling;f.nextSibling;var p=l.nextSibling,m=c.nextSibling,h=m.nextSibling.firstChild,g=h.nextSibling.nextSibling,_=g.firstChild;i.$$click=()=>e.onClose(),s.$$click=e=>e.stopPropagation(),I(u,n,d),I(u,()=>n()===1?`violation`:`violations`,f),p.$$click=()=>e.onClose();var v=a;return typeof v==`function`?Ne(v,p):a=p,I(m,t),I(h,j(Ce,{get each(){return e.items},children:(e,t)=>[j(M,{get when(){return t()>0},children:`, `}),(()=>{var t=rt();return I(t,()=>e.violation.ruleId),t})()]})),g.$$click=o,I(g,()=>r()?`Copied`:`Copy prompt`,null),y(e=>{var t=Ye({variant:`primary`,size:`sm`}),n=`shrink-0 ${r()?`i-ph-check`:`i-ph-copy`}`;return t!==e.e&&F(g,e.e=t),n!==e.t&&F(_,e.t=n),e},{e:void 0,t:void 0}),i})()}Ae([`click`]);var at=N(`<span class="inline-flex items-center justify-center min-w-4 h-4 px-1 rounded-full bg-active text-[10px] font-bold tabular-nums">`),ot=N(`<header><span><span aria-hidden class="i-ph-person-simple-circle-duotone text-base color-active"></span><span>A11y Inspector</span></span><span class=flex-1></span><span class="inline-flex items-center gap-1.5 text-xs color-muted select-none"><span></span></span><button type=button title="Generate AI fix prompts for the selected violations"><span aria-hidden class="i-ph-sparkle-duotone shrink-0"></span>Generate fix prompts</button><button type=button><span aria-hidden class="i-ph-arrows-clockwise shrink-0"></span>Rescan`);function st(e){let t=()=>e.pageScriptReady?e.scanning?`Scanning…`:`Connected`:`No page connected`,n=()=>e.pageScriptReady?e.scanning?`bg-primary-500 animate-pulse`:`bg-success`:`bg-neutral-400`;return(()=>{var r=ot(),i=r.firstChild,a=i.nextSibling.nextSibling,o=a.firstChild,s=a.nextSibling;s.firstChild.nextSibling;var c=s.nextSibling,l=c.firstChild;return I(a,t,null),s.$$click=()=>e.onGenerate(),I(s,j(M,{get when(){return e.selectedCount>0},get children(){var t=at();return I(t,()=>e.selectedCount),t}}),null),c.$$click=()=>e.onRescan(),y(t=>{var a=Xe(),u=Ze(),d=`size-2 rounded-full shrink-0 ${n()}`,f=Ye({variant:e.selectedCount===0?`secondary`:`primary`,size:`sm`}),p=e.selectedCount===0,m=Ye({variant:`secondary`,size:`sm`}),h=!e.pageScriptReady||e.scanning,g=!!e.scanning;return a!==t.e&&F(r,t.e=a),u!==t.t&&F(i,t.t=u),d!==t.a&&F(o,t.a=d),f!==t.o&&F(s,t.o=f),p!==t.i&&(s.disabled=t.i=p),m!==t.n&&F(c,t.n=m),h!==t.s&&(c.disabled=t.s=h),g!==t.h&&l.classList.toggle(`animate-spin`,t.h=g),t},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0}),r})()}Ae([`click`]);var ct=N(`<span class="shrink-0 px-1.5 py-px border border-base rounded">axe `),lt=N(`<div class="flex items-center gap-2 px-4 py-1.5 font-mono text-[11.5px] color-faint border-b border-base bg-base"><span class="flex-1 truncate color-muted">`),ut=N(`<span class="shrink-0 px-1.5 py-px border border-base rounded">`),dt=N(`<span class="shrink-0 px-1.5 py-px border border-amber-500/60 rounded text-amber-500 capitalize"title="devframe backend connection">`);function ft(e){let t=()=>{let t=e.status?.();return t===`disconnected`||t===`unauthorized`||t===`error`?t:null};return j(M,{get when(){return e.url},get children(){var n=lt(),r=n.firstChild;return I(r,()=>e.url),I(n,j(M,{get when(){return t()},get fallback(){return j(M,{get when(){return e.backend()},children:e=>(()=>{var t=ut();return I(t,e),t})()})},children:e=>(()=>{var t=dt();return I(t,e),t})()}),null),I(n,j(M,{get when(){return e.engine},get children(){var t=ct();return t.firstChild,I(t,()=>e.engine,null),t}}),null),y(()=>P(r,`title`,e.url)),n}})}var pt={critical:`Critical`,serious:`Serious`,moderate:`Moderate`,minor:`Minor`},mt=N(`<div class="grid grid-cols-4 gap-1.5">`),ht=N(`<button type=button class="flex items-baseline gap-1.5 px-3 py-2 text-left bg-secondary border border-base border-l-3 border-l-[color:var(--impact)] cursor-pointer transition hover:bg-active outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40"><span class="text-lg font-bold tabular-nums leading-none"></span><span class="text-xs font-semibold tracking-wide uppercase">`),gt=[`critical`,`serious`,`moderate`,`minor`];function _t(e){return(()=>{var t=mt();return I(t,j(Ce,{each:gt,children:t=>{let n=()=>e.counts[t],r=()=>e.active===t;return(()=>{var i=ht(),a=i.firstChild,o=a.nextSibling;return i.addEventListener(`blur`,()=>e.onHover?.(null)),i.addEventListener(`focus`,()=>e.onHover?.(t)),i.addEventListener(`mouseleave`,()=>e.onHover?.(null)),i.addEventListener(`mouseenter`,()=>e.onHover?.(t)),i.$$click=()=>e.onToggle(t),I(a,n),I(o,()=>pt[t]),y(e=>{var a={"bg-[color-mix(in_srgb,var(--impact)_16%,transparent)]! border-[color:var(--impact)]!":r(),"color-[var(--impact)]":n()>0,"color-muted":n()===0},o=Ue[t],s=r(),c=`${n()} ${pt[t]} issues: filter and highlight`;return e.e=je(i,a,e.e),o!==e.t&&Me(i,`--impact`,e.t=o),s!==e.a&&P(i,`aria-pressed`,e.a=s),c!==e.o&&P(i,`aria-label`,e.o=c),e},{e:void 0,t:void 0,a:void 0,o:void 0}),i})()}})),t})()}Ae([`click`]);var vt=N(`<label class="inline-flex items-center gap-2 cursor-pointer select-none"><span class="relative w-8 h-[18px] rounded-full bg-secondary border border-base transition has-[:checked]:bg-primary-500/40 has-[:checked]:border-primary-500 has-[:focus-visible]:ring-2 has-[:focus-visible]:ring-primary-500/40"><input type=checkbox class="peer absolute inset-0 m-0 opacity-0 cursor-pointer"><span class="absolute top-0.5 left-0.5 size-3 rounded-full bg-neutral-400 pointer-events-none transition peer-checked:translate-x-3.5 peer-checked:bg-primary-500"></span></span><span class="text-xs color-muted">`);function yt(e){return(()=>{var t=vt(),n=t.firstChild,r=n.firstChild,i=n.nextSibling;return r.addEventListener(`change`,t=>e.onChange(t.currentTarget.checked)),I(i,()=>e.label),y(()=>r.checked=e.checked),t})()}var bt=N(`<button type=button class="inline-flex items-center gap-1.5 text-xs color-muted bg-secondary border border-base rounded-md px-2.5 py-1 cursor-pointer transition hover:bg-active outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40 disabled:op-40 disabled:cursor-default"title="Clear the whole selection"><span aria-hidden class="i-ph-x shrink-0"></span>Clear selection<span class="inline-flex items-center justify-center min-w-4 h-4 px-1 rounded-full bg-active text-[10px] font-bold tabular-nums">`),xt=N(`<div class="flex flex-col gap-2 pt-3 pb-2.5 sticky top-0 z-nav bg-base"><div class="flex items-center gap-2 flex-wrap"><span class="text-[11.5px] color-muted tabular-nums"> · <!> · </span><button type=button class="inline-flex items-center gap-1.5 text-xs color-muted bg-secondary border border-base rounded-md px-2.5 py-1 cursor-pointer transition hover:bg-active outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40 disabled:op-40 disabled:cursor-default"title="Select all visible violations"><span aria-hidden class="i-ph-check-square-duotone shrink-0"></span>Select all</button><button type=button class="inline-flex items-center gap-1.5 text-xs color-muted bg-secondary border border-base rounded-md px-2.5 py-1 cursor-pointer transition hover:bg-active outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40 disabled:op-40 disabled:cursor-default"title="Invert the selection across the visible violations"><span aria-hidden class="i-ph-selection-inverse-duotone shrink-0"></span>Invert</button><span class=flex-1></span><button type=button class="inline-flex items-center gap-1.5 text-xs color-muted bg-secondary border border-base rounded-md px-2.5 py-1 cursor-pointer transition hover:text-error hover:border-error/50 disabled:op-40 disabled:cursor-default"title="Clear all tracked routes"><span aria-hidden class="i-ph-trash-duotone shrink-0"></span>Clear`);function St(e){let t=(e,t)=>`${e} ${e===1?t:`${t}s`}`;return(()=>{var n=xt(),r=n.firstChild,i=r.firstChild,a=i.firstChild,o=a.nextSibling;o.nextSibling;var s=i.nextSibling,c=s.nextSibling,l=c.nextSibling,u=l.nextSibling;return I(n,j(_t,{get counts(){return e.counts},get active(){return e.filter},get onToggle(){return e.onToggleFilter},get onHover(){return e.onHoverImpact}}),r),I(i,()=>t(e.totalNodes,`issue`),a),I(i,()=>t(e.totalRules,`rule`),o),I(i,()=>t(e.routeCount,`route`),null),s.$$click=()=>e.onSelectAll(),c.$$click=()=>e.onInvertSelection(),I(r,j(M,{get when(){return e.selectedCount>0},get children(){var t=bt(),n=t.firstChild.nextSibling.nextSibling;return t.$$click=()=>e.onClearSelection(),I(n,()=>e.selectedCount),t}}),l),I(r,j(yt,{label:`Best-practice`,get checked(){return e.showBestPractice},get onChange(){return e.onToggleBestPractice}}),u),I(r,j(yt,{label:`Auto-scan`,get checked(){return e.autoScan},get onChange(){return e.onToggleAutoScan}}),u),u.$$click=()=>e.onClearAll(),y(t=>{var n=e.allSelected,r=e.routeCount===0;return n!==t.e&&(s.disabled=t.e=n),r!==t.t&&(u.disabled=t.t=r),t},{e:void 0,t:void 0}),n})()}Ae([`click`]);function Ct(e,t){return`rule-${encodeURIComponent(e)}-${t}`}var wt=N(`<span class="text-[9.5px] font-bold tracking-wide uppercase color-muted border border-base rounded-full px-1.5"title="axe best-practice rule (not a WCAG success criterion)">best practice`),Tt=N(`<ul class="list-none m-0 flex flex-col gap-1 pl-3.5 pr-2.5 pb-2">`),Et=N(`<a class="self-start block ml-3.5 mb-2 text-[11px] color-faint no-underline hover:color-active hover:underline"target=_blank rel="noreferrer noopener">Learn how to fix <!> ↗`),Dt=N(`<li class="relative bg-secondary border border-base border-l-3 border-l-[color:var(--impact)] overflow-hidden transition hover:shadow-md"><div class="flex items-stretch"><input type=checkbox class="shrink-0 self-center size-[15px] ml-3 accent-[var(--impact)] cursor-pointer outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40"><button type=button class="flex flex-col gap-0.5 flex-1 min-w-0 text-left cursor-pointer outline-none py-[7px] pl-2.5 pr-3"><span class="flex items-center gap-1.5"><span class="text-[9px] font-bold tracking-wide uppercase color-[var(--impact)]"></span><code class="font-mono text-xs color-base"></code><span class="ml-auto inline-flex items-center gap-1.5 text-[11px] color-faint tabular-nums"> <span aria-hidden class="i-ph-caret-right text-sm color-faint transition-transform"></span></span></span><span class="text-xs color-muted leading-snug truncate">`),Ot=N(`<span class="inline-block mt-1.5 font-mono text-[10.5px] text-primary-500 bg-primary-500/12 rounded px-1.5 py-px">`),kt=N(`<span class="block mt-1.5 text-[11px] leading-snug color-muted whitespace-pre-wrap">`),At=N(`<li><button type=button class="block w-full bg-[#8881] text-left border border-base rounded px-2.5 py-1.5 cursor-pointer transition hover:bg-hover outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40"><span class="flex items-start gap-1.5"><code class="block font-mono text-[11px] color-base whitespace-pre-wrap break-words">`),jt=N(`<span class="shrink-0 inline-flex items-center justify-center min-w-[17px] h-[17px] px-1 rounded-full bg-primary-500 text-white text-[10.5px] font-bold tabular-nums">`);function Mt(e){let t=()=>e.violation,n=()=>`nodes-${Ct(e.route,t().ruleId)}`,r=()=>t().nodes[0];return(()=>{var i=Dt(),a=i.firstChild.firstChild,o=a.nextSibling,s=o.firstChild,c=s.firstChild,l=c.nextSibling,u=l.nextSibling,d=u.firstChild,f=d.nextSibling,p=s.nextSibling;return i.addEventListener(`mouseleave`,()=>e.channel.clearPreview()),a.addEventListener(`mouseenter`,()=>r()&&e.channel.preview(r())),a.addEventListener(`change`,()=>e.onToggleSelect()),o.addEventListener(`blur`,()=>e.channel.clearPreview()),o.addEventListener(`focus`,()=>r()&&e.channel.preview(r())),o.addEventListener(`mouseenter`,()=>r()&&e.channel.preview(r())),o.$$click=()=>e.onToggle(),I(c,()=>pt[t().impact]),I(s,j(M,{get when(){return t().bestPractice},get children(){return wt()}}),l),I(l,()=>t().ruleId),I(u,()=>t().nodes.length,d),I(u,()=>t().nodes.length===1?`element`:`elements`,f),I(p,()=>t().help),I(i,j(M,{get when(){return e.expanded},get children(){return[(()=>{var r=Tt();return I(r,j(Ce,{get each(){return t().nodes},children:t=>(()=>{var n=At(),r=n.firstChild,i=r.firstChild,a=i.firstChild;return r.addEventListener(`blur`,()=>e.channel.clearPreview()),r.addEventListener(`mouseleave`,()=>e.channel.clearPreview()),r.addEventListener(`focus`,()=>e.channel.preview(t)),r.addEventListener(`mouseenter`,()=>e.channel.preview(t)),I(i,j(M,{get when(){return e.numberOf(t.id)},children:e=>(()=>{var t=jt();return I(t,e),t})()}),a),I(a,()=>t.html),I(r,j(M,{get when(){return t.target.length},get children(){var e=Ot();return I(e,()=>t.target.join(` `)),e}}),null),I(r,j(M,{get when(){return t.failureSummary},get children(){var e=kt();return I(e,()=>t.failureSummary),e}}),null),n})()})),y(()=>P(r,`id`,n())),r})(),(()=>{var e=Et(),n=e.firstChild.nextSibling;return n.nextSibling,I(e,()=>t().ruleId,n),y(()=>P(e,`href`,t().helpUrl)),e})()]}}),null),y(r=>{var s=Ct(e.route,t().ruleId),c={"bg-[color-mix(in_srgb,var(--impact)_8%,transparent)]! border-[color:var(--impact)]/60":e.selected},l=Ue[t().impact],u=`Select ${t().ruleId} to highlight and add to fix prompts`,d=e.expanded,p=n(),m=!!e.expanded;return s!==r.e&&P(i,`id`,r.e=s),r.t=je(i,c,r.t),l!==r.a&&Me(i,`--impact`,r.a=l),u!==r.o&&P(a,`aria-label`,r.o=u),d!==r.i&&P(o,`aria-expanded`,r.i=d),p!==r.n&&P(o,`aria-controls`,r.n=p),m!==r.s&&f.classList.toggle(`rotate-90`,r.s=m),r},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),y(()=>a.checked=e.selected),i})()}Ae([`click`]);var Nt=N(`<span class="text-[9.5px] font-bold tracking-wide uppercase color-active border border-primary-500/45 rounded-full px-1.5 shrink-0">active`),Pt=N(`<ul class="list-none m-0 mt-1 flex flex-col gap-1">`),Ft=N(`<section class="flex flex-col"><div class="flex items-center gap-1 py-0.5"><button type=button class="flex items-center gap-2 flex-1 min-w-0 text-left cursor-pointer py-1 px-0.5 rounded outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40"><span aria-hidden class="i-ph-caret-right text-sm color-faint transition-transform shrink-0"></span><code></code><span class="ml-auto text-[11px] color-faint tabular-nums shrink-0"> </span></button><button type=button class="shrink-0 inline-flex p-1 rounded color-faint cursor-pointer transition hover:text-error hover:bg-secondary outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40"title="Clear this route's history"><span aria-hidden class="i-ph-trash-duotone shrink-0">`);function It(e){return(()=>{var t=Ft(),n=t.firstChild.firstChild,r=n.firstChild,i=r.nextSibling,a=i.nextSibling,o=a.firstChild,s=n.nextSibling;return n.$$click=()=>e.onToggleGroup(),I(i,()=>e.report.route),I(n,j(M,{get when(){return e.active},get children(){return Nt()}}),a),I(a,()=>e.violations.length,o),I(a,()=>e.violations.length===1?`rule`:`rules`,null),s.$$click=()=>e.onClearRoute(),I(t,j(M,{get when(){return!e.collapsed},get children(){var t=Pt();return I(t,j(Ce,{get each(){return e.violations},children:t=>j(Mt,{get route(){return e.report.route},violation:t,get expanded(){return e.expandedRules.has(`${e.report.route}::${t.ruleId}`)},get selected(){return e.selection.isSelected(e.report.route,t.ruleId)},onToggle:()=>e.onToggleRule(t.ruleId),onToggleSelect:()=>e.selection.toggle(e.report.route,t.ruleId),get channel(){return e.channel},get numberOf(){return e.selection.numberOf}})})),t}}),null),y(a=>{var o=`group-${encodeURIComponent(e.report.route)}`,s=!e.collapsed,c=!e.collapsed,l=`font-mono text-[12.5px] truncate ${e.active?`color-active`:`color-base`}`;return o!==a.e&&P(t,`id`,a.e=o),s!==a.t&&P(n,`aria-expanded`,a.t=s),c!==a.a&&r.classList.toggle(`rotate-90`,a.a=c),l!==a.o&&F(i,a.o=l),a},{e:void 0,t:void 0,a:void 0,o:void 0}),t})()}Ae([`click`]);var Lt=N(`<div class="flex flex-col gap-2.5">`);function Rt(e){return(()=>{var t=Lt();return I(t,j(Ce,{get each(){return e.groups},children:t=>j(It,{get report(){return t.report},get active(){return t.active},get violations(){return t.violations},get collapsed(){return e.collapsedRoutes.has(t.report.route)},onToggleGroup:()=>e.onToggleGroup(t.report.route),onClearRoute:()=>e.onClearRoute(t.report.route),get expandedRules(){return e.expandedRules},onToggleRule:n=>e.onToggleRule(t.report.route,n),get channel(){return e.channel},get selection(){return e.selection}})})),t})()}function zt(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var Bt=Math.random.bind(Math),Vt=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function Ht(e=21){let t=``,n=e;for(;n--;)t+=Vt[Bt()*64|0];return t}var Ut=6e4,Wt=e=>e,Gt=Wt,{clearTimeout:Kt,setTimeout:qt}=globalThis;function Jt(e,t){let{post:n,on:r,off:i=()=>{},eventNames:a=[],serialize:o=Wt,deserialize:s=Gt,resolver:c,bind:l=`rpc`,timeout:u=Ut,proxify:d=!0}=t,f=!1,p=new Map,m,h;async function g(e,r,i,a){if(f)throw Error(`[birpc] rpc is closed, cannot call "${e}"`);let s={m:e,a:r,t:`q`};a&&(s.o=!0);let c=async e=>n(o(e));if(i){await c(s);return}if(m)try{await m}finally{m=void 0}let{promise:l,resolve:d,reject:g}=zt(),_=Ht();s.i=_;let v;async function y(n=s){return u>=0&&(v=qt(()=>{try{if(t.onTimeoutError?.call(h,e,r)!==!0)throw Error(`[birpc] timeout on calling "${e}"`)}catch(e){g(e)}p.delete(_)},u),typeof v==`object`&&(v=v.unref?.())),p.set(_,{resolve:d,reject:g,timeoutId:v,method:e}),await c(n),l}try{t.onRequest?await t.onRequest.call(h,s,y,d):await y()}catch(e){if(t.onGeneralError?.call(h,e)!==!0)throw e;return}finally{Kt(v),p.delete(_)}return l}let _={$call:(e,...t)=>g(e,t,!1),$callOptional:(e,...t)=>g(e,t,!1,!0),$callEvent:(e,...t)=>g(e,t,!0),$callRaw:e=>g(e.method,e.args,e.event,e.optional),$rejectPendingCalls:y,get $closed(){return f},get $meta(){return t.meta},$close:v,$functions:e};h=d?new Proxy({},{get(t,n){if(Object.hasOwn(_,n))return _[n];if(n===`then`&&!a.includes(`then`)&&!(`then`in e))return;let r=(...e)=>g(n,e,!0);if(a.includes(n))return r.asEvent=r,r;let i=(...e)=>g(n,e,!1);return i.asEvent=r,i}}):_;function v(e){f=!0,p.forEach(({reject:t,method:n})=>{let r=Error(`[birpc] rpc is closed, cannot call "${n}"`);if(e)return e.cause??=r,t(e);t(r)}),p.clear(),i(b)}function y(e){let t=Array.from(p.values()).map(({method:t,reject:n})=>e?e({method:t,reject:n}):n(Error(`[birpc]: rejected pending call "${t}".`)));return p.clear(),t}async function b(r,...i){let a;try{a=s(r)}catch(e){if(t.onGeneralError?.call(h,e)!==!0)throw e;return}if(a.t===`q`){let{m:r,a:s,o:u}=a,d,f,p=await(c?c.call(h,r,e[r]):e[r]);if(u&&(p||=()=>void 0),!p)f=Error(`[birpc] function "${r}" not found`);else try{d=await p.apply(l===`rpc`?h:e,s)}catch(e){f=e}if(a.i){if(f&&t.onFunctionError&&t.onFunctionError.call(h,f,r,s)===!0)return;if(!f)try{await n(o({t:`s`,i:a.i,r:d}),...i);return}catch(e){if(f=e,t.onGeneralError?.call(h,e,r,s)!==!0)throw e}try{await n(o({t:`s`,i:a.i,e:f}),...i)}catch(e){if(t.onGeneralError?.call(h,e,r,s)!==!0)throw e}}}else{let{i:e,r:t,e:n}=a,r=p.get(e);r&&(Kt(r.timeoutId),n?r.reject(n):r.resolve(t)),p.delete(e)}}return m=r(b),h}function L(e,t){let n=`\x1B[${e}m`,r=`\x1B[${t}m`;return((e,...t)=>{if(Array.isArray(e)&&`raw`in e){let i=e,a=``;for(let e=0;e<i.length;e++)a+=i[e],e<t.length&&(a+=String(t[e]));return`${n}${a}${r}`}return`${n}${String(e)}${r}`})}var Yt={blue:L(34,39),cyan:L(36,39),gray:L(90,39),green:L(32,39),red:L(31,39),yellow:L(33,39),bold:L(1,22),dim:L(2,22),reset:L(0,0),underline:L(4,24)};function Xt(e,...t){return typeof e==`function`?e(...t):e}var Zt=Error.captureStackTrace,Qt=class e extends Error{name;code;docs;fix;sources;get why(){return this.message}constructor(t,n=e){super(t.why,{cause:t.cause}),this.code=this.name=t.code,this.fix=t.fix,this.docs=t.docs,this.sources=t.sources,Zt?.(this,n)}toJSON(){return{name:this.name,why:this.why,fix:this.fix,docs:this.docs,sources:this.sources,cause:this.cause,stack:this.stack}}};function $t(e,t){return typeof e==`string`?`${e}/${t.toLowerCase()}`:e?.(t)}function en(e){let t=e.reporters??[],n={},{docsBase:r}=e;for(let i of Object.keys(e.codes)){let a=e.codes[i],o=a.docs===!1?void 0:a.docs||$t(r,i),s=(e={},n={})=>{let r=new Qt({code:i,why:Xt(a.why,e),fix:Xt(a.fix,e),docs:o,cause:e.cause,sources:e.sources},s);for(let e of t)e(r,n);return r};n[i]=s}return n}function tn(e){return t=>{let n=`${e.bold(e.red(`[${t.name}]`))} ${t.message}`,r=[];return t.fix&&r.push(`${e.dim(`fix:`)} ${t.fix}`),t.sources?.length&&r.push(`${e.dim(`sources:`)} ${t.sources.join(`, `)}`),t.docs&&r.push(`${e.dim(`see:`)} ${e.cyan(t.docs)}`),r.length===0?n:[n,...r.map((t,n)=>`${e.dim(n<r.length-1?`├▶`:`╰▶`)} ${t}`)].join(`
3
+ `)}}var nn=tn(Yt);function rn(e,{method:t=`warn`}={}){console[t](nn(e))}function an(e){return en({...e,reporters:[rn,...e.reporters??[]]})}var on=an({docsBase:`https://devfra.me/errors`,codes:{DF0077:{why:e=>`In-page channel function "${e.name}" is not registered on this endpoint.`,fix:"Declare the function in this endpoint's `functions` option."}}}),sn=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function cn(e=21){let t=``,n=e;for(;n--;)t+=sn[Math.random()*64|0];return t}var R={bus:{agentManifestChanged:`agent:manifest:changed`,agentToolRegistered:`agent:tool:registered`,agentToolUnregistered:`agent:tool:unregistered`,agentResourceRegistered:`agent:resource:registered`,agentResourceUnregistered:`agent:resource:unregistered`},client:{isTrustedUpdated:`rpc:is-trusted:updated`,error:`rpc:error`,connectionStatus:`connection:status`,connectionError:`connection:error`},broadcast:{authRevoked:`devframe:auth:revoked`,clientStateUpdated:`devframe:rpc:client-state:updated`,clientStatePatch:`devframe:rpc:client-state:patch`,streamingChunk:`devframe:streaming:chunk`,streamingEnd:`devframe:streaming:end`,streamingUploadCancel:`devframe:streaming:upload-cancel`},inPageChannel:{panelStateUpdated:`devframe:in-page:panel-state:updated`,panelStatePatch:`devframe:in-page:panel-state:patch`},postMessage:{remoteAssetsError:`devframe:remote-assets-error`,inPageChannel:`devframe:in-page-channel`}},ln=R.postMessage.inPageChannel;function un(e){return!!e&&typeof e==`object`&&`__dfIpc`in e}function dn(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.channel===ln&&typeof t.name==`string`&&typeof t.panelId==`string`&&(t.kind===`hello`||t.kind===`grant`)}function fn(e,t){if(e?.length)return e;let n=t?.location?.origin;return n&&n!==`null`?[n]:[`*`]}function pn(e){let t=[];try{let n=e;for(;n.parent&&n.parent!==n;)t.push(n.parent),n=n.parent}catch{}try{let n=e.opener;n&&n!==e&&t.push(n)}catch{}return t}var mn={intervalMs:5e3,timeoutMs:12e3};function hn(e){return e===!1?void 0:{...mn,...e}}var z=class extends Error{code;name=`InPageChannelError`;constructor(e,t,n){super(t,n),this.code=e}},gn=new Set;function _n(e){gn.has(e)||(gn.add(e),console.warn(`[devframe] ${e}`))}function vn(e,t,n){for(let r=0;r<e.length;r++){let i=bn(e[r],`${t}[${r}]`,n);if(i)return i}}function yn(e,t,n){let r=Object.getPrototypeOf(e);if(r!==Object.prototype&&r!==null)return`${t} is an instance of ${e.constructor?.name??`an exotic class`}`;for(let[r,i]of Object.entries(e)){let e=bn(i,`${t}.${r}`,n);if(e)return e}}function bn(e,t,n){if(e!==null&&typeof e!=`boolean`&&typeof e!=`string`)return typeof e==`number`?Number.isFinite(e)?void 0:`${t} is ${e}`:typeof e==`object`?n.has(e)?`${t} is circular`:(n.add(e),Array.isArray(e)?vn(e,t,n):yn(e,t,n)):`${t} is ${e===void 0?"`undefined`":`a ${typeof e}`}`}function xn(e,t,n){let r=bn(e,t,new Set);if(r)throw new z(`not-serializable`,`in-page function "${n}" is declared jsonSerializable, but ${r}`)}function Sn(e){return e.map(e=>{let t=e.path?.map(e=>typeof e==`object`?e.key:e).join(`.`);return t?`${t}: ${e.message}`:e.message}).join(`; `)}async function Cn(e,t,n){for(let r=0;r<t.length;r++){let i=t[r];if(!i)continue;let a=await i[`~standard`].validate(n[r]);if(a.issues)throw new z(`invalid-args`,`in-page function "${e}" rejected argument ${r}: ${Sn(a.issues)}`)}}function wn(e,t){return e.serialize?t.map(e.serialize):t}function Tn(e,t){return e.deserialize&&t!==void 0?e.deserialize(t):t}function En(e,t){return`devframe:in-page:${e===`event`?`event`:`function`}:${t}`}var Dn=En(`function`,``);function On(e){let t=new Map,n=new Map;return{register(e){t.set(En(e.type,e.name),e)},on(e,t){let r=En(`event`,e),i=n.get(r);return i||(i=new Set,n.set(r,i)),i.add(t),()=>{i.delete(t),i.size===0&&n.delete(r)}},resolve(r){let i=t.get(r),a=n.get(r);return!i&&!a?.size?r.startsWith(Dn)?()=>{throw on.DF0077({name:r.slice(Dn.length)})}:void 0:async(...t)=>{let a=e.deserialize?t.map(e.deserialize):t;i?.jsonSerializable&&xn(a,`its arguments`,i.name),i?.args?.length&&await Cn(i.name,i.args,a);let o=await i?.handler?.(...a);for(let e of[...n.get(r)??[]])e(...a);if(i?.type!==`event`)return i?.jsonSerializable&&o!==void 0&&xn(o,`its return value`,i.name),e.serialize&&o!==void 0?e.serialize(o):o}}}}function kn(e){return e instanceof DOMException&&e.name===`DataCloneError`?new z(`not-cloneable`,`a payload could not be structured-cloned across the in-page channel: ${e.message}. Strip non-cloneable values (functions, DOM nodes, framework reactivity proxies) before sending: declare the function \`jsonSerializable: true\` for a precise error, or provide a \`serialize\` hook.`,{cause:e}):e}function An(e,t){let n,r=!1,i={rpc:Jt({},{post:t=>{try{e.postMessage(t)}catch(e){throw kn(e)}},on:e=>{n=e},off:()=>{n=void 0},timeout:-1,proxify:!1,resolver:(e,n)=>n??t.resolveLocal(e)}),lastActivity:Date.now(),postControl(t){try{e.postMessage({__dfIpc:t})}catch{}},dispose(t){if(r)return;r=!0,t?.bye&&i.postControl(`bye`);let n=new z(`closed`,`in-page channel call dropped: ${t?.reason??`the in-page channel port was closed`}`);i.rpc.$rejectPendingCalls(({reject:e})=>e(n)),i.rpc.$close(),e.removeEventListener(`message`,a),e.removeEventListener(`close`,o);try{e.close()}catch{}}};function a(e){i.lastActivity=Date.now();let r=e.data;if(un(r)){r.__dfIpc===`bye`?t.onPeerClosed():t.onControl(r.__dfIpc);return}n?.(r)}function o(){t.onPeerClosed()}return e.addEventListener(`message`,a),e.addEventListener(`close`,o),e.start?.(),i}function jn(e,t,n){return t<=0?e:new Promise((r,i)=>{let a=setTimeout(()=>i(new z(`timeout`,n())),t);e.then(e=>{clearTimeout(a),r(e)},e=>{clearTimeout(a),i(e)})})}function Mn(){let e={};function t(t,...n){let r=e[t]||[];for(let e=0,t=r.length;e<t;e++){let t=r[e];t&&t(...n)}}function n(n,...r){t(n,...r),delete e[n]}function r(t,n){return(e[t]||=[]).push(n),()=>{e[t]=e[t]?.filter(e=>n!==e)}}function i(e,t){let n=r(e,((...e)=>(n(),t(...e))));return n}return{_listeners:e,emit:t,emitOnce:n,on:r,once:i}}var Nn=Symbol.for(`immer-nothing`),Pn=Symbol.for(`immer-draftable`),B=Symbol.for(`immer-state`);function V(e,...t){throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var H=Object,U=H.getPrototypeOf,Fn=`constructor`,In=`prototype`,Ln=`configurable`,Rn=`enumerable`,zn=`writable`,Bn=`value`,W=e=>!!e&&!!e[B];function G(e){return e?Un(e)||Jn(e)||!!e[Pn]||!!e[Fn]?.[Pn]||Yn(e)||Xn(e):!1}var Vn=H[In][Fn].toString(),Hn=new WeakMap;function Un(e){if(!e||!Zn(e))return!1;let t=U(e);if(t===null||t===H[In])return!0;let n=H.hasOwnProperty.call(t,Fn)&&t[Fn];if(n===Object)return!0;if(!J(n))return!1;let r=Hn.get(n);return r===void 0&&(r=Function.toString.call(n),Hn.set(n,r)),r===Vn}function Wn(e,t,n=!0){K(e)===0?(n?Reflect.ownKeys(e):H.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function K(e){let t=e[B];return t?t.type_:Jn(e)?1:Yn(e)?2:Xn(e)?3:0}var Gn=(e,t,n=K(e))=>n===2?e.has(t):H[In].hasOwnProperty.call(e,t),q=(e,t,n=K(e))=>n===2?e.get(t):e[t],Kn=(e,t,n,r=K(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function qn(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var Jn=Array.isArray,Yn=e=>e instanceof Map,Xn=e=>e instanceof Set,Zn=e=>typeof e==`object`,J=e=>typeof e==`function`,Qn=e=>typeof e==`boolean`;function $n(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var er=e=>Zn(e)?e?.[B]:null,Y=e=>e.copy_||e.base_,tr=e=>e.modified_?e.copy_:e.base_;function nr(e,t){if(Yn(e))return new Map(e);if(Xn(e))return new Set(e);if(Jn(e))return Array[In].slice.call(e);let n=Un(e);if(t===!0||t===`class_only`&&!n){let t=H.getOwnPropertyDescriptors(e);delete t[B];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){let i=n[r],a=t[i];a[zn]===!1&&(a[zn]=!0,a[Ln]=!0),(a.get||a.set)&&(t[i]={[Ln]:!0,[zn]:!0,[Rn]:a[Rn],[Bn]:e[i]})}return H.create(U(e),t)}{let t=U(e);if(t!==null&&n)return{...e};let r=H.create(t);return H.assign(r,e)}}function rr(e,t=!1){return or(e)||W(e)||!G(e)?e:(K(e)>1&&H.defineProperties(e,{set:ar,add:ar,clear:ar,delete:ar}),H.freeze(e),t&&Wn(e,(e,t)=>{rr(t,!0)},!1),e)}function ir(){V(2)}var ar={[Bn]:ir};function or(e){return e===null||!Zn(e)||H.isFrozen(e)}var sr=`MapSet`,cr=`Patches`,lr=`ArrayMethods`,ur={};function X(e){let t=ur[e];return t||V(0,e),t}var dr=e=>!!ur[e];function fr(e,t){ur[e]||(ur[e]=t)}var pr,mr=()=>pr,hr=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:dr(sr)?X(sr):void 0,arrayMethodsPlugin_:dr(lr)?X(lr):void 0});function gr(e,t){t&&(e.patchPlugin_=X(cr),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function _r(e){vr(e),e.drafts_.forEach(br),e.drafts_=null}function vr(e){e===pr&&(pr=e.parent_)}var yr=e=>pr=hr(pr,e);function br(e){let t=e[B];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function xr(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[B].modified_&&(_r(t),V(4)),G(e)&&(e=Sr(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[B].base_,e,t)}else e=Sr(t,n);return Cr(t,e,!0),_r(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===Nn?void 0:e}function Sr(e,t){if(or(t))return t;let n=t[B];if(!n)return jr(t,e.handledSet_,e);if(!Tr(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){let{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);kr(n,e)}return n.copy_}function Cr(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&rr(t,n)}function wr(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var Tr=(e,t)=>e.scope_===t,Er=[];function Dr(e,t,n,r){let i=Y(e),a=e.type_;if(r!==void 0&&q(i,r,a)===t){Kn(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;Wn(i,(e,n)=>{if(W(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??Er;for(let e of o)Kn(i,e,n,a)}function Or(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!Tr(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=tr(i);Dr(e,i.draft_??i,a,n),kr(i,r)})}function kr(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let r=n.getPath(e);r&&n.generatePatches_(e,r,t)}wr(e)}}function Ar(e,t,n){let{scope_:r}=e;if(W(n)){let i=n[B];Tr(i,r)&&i.callbacks_.push(function(){Br(e),Dr(e,n,tr(i),t)})}else G(n)&&e.callbacks_.push(function(){let i=Y(e);e.type_===3?i.has(n)&&jr(n,r.handledSet_,r):q(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&jr(q(e.copy_,t,e.type_),r.handledSet_,r)})}function jr(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||W(e)||t.has(e)||!G(e)||or(e)?e:(t.add(e),Wn(e,(r,i)=>{if(W(i)){let t=i[B];Tr(t,n)&&(Kn(e,r,tr(t),e.type_),wr(t))}else G(i)&&jr(i,t,n)}),e)}function Mr(e,t){let n=Jn(e),r={type_:+!!n,scope_:t?t.scope_:mr(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},i=r,a=Nr;n&&(i=[r],a=Pr);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var Nr={get(e,t){if(t===B)return e;let n=e.scope_.arrayMethodsPlugin_,r=e.type_===1&&typeof t==`string`;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);let i=Y(e);if(!Gn(i,t,e.type_))return Lr(e,i,t);let a=i[t];if(e.finalized_||!G(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&$n(t))return a;if(a===Fr(e.base_,t)||Ir(e,t,a)){Br(e);let n=e.type_===1?+t:t,r=Hr(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in Y(e)},ownKeys(e){return Reflect.ownKeys(Y(e))},set(e,t,n){let r=Rr(Y(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=Fr(Y(e),t),i=r?.[B];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(qn(n,r)&&(n!==void 0||Gn(e.base_,t,e.type_)))return!0;Br(e),zr(e)}return e.copy_[t]===n&&(n!==void 0||Gn(e.copy_,t,e.type_))||Number.isNaN(n)&&Number.isNaN(e.copy_[t])?!0:(e.copy_[t]=n,e.assigned_.set(t,!0),Ar(e,t,n),!0)},deleteProperty(e,t){return Br(e),Fr(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),zr(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=Y(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[zn]:!0,[Ln]:e.type_!==1||t!==`length`,[Rn]:r[Rn],[Bn]:n[t]}},defineProperty(){V(11)},getPrototypeOf(e){return U(e.base_)},setPrototypeOf(){V(12)}},Pr={};for(let e in Nr){let t=Nr[e];Pr[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}Pr.deleteProperty=function(e,t){return Pr.set.call(this,e,t,void 0)},Pr.set=function(e,t,n){return Nr.set.call(this,e[0],t,n,e[0])};function Fr(e,t){let n=e[B];return(n?Y(n):e)[t]}function Ir(e,t,n){return e.type_!==1||!e.allIndicesReassigned_||e.assigned_?.get(t)||!G(n)||n[B]?!1:e.baseRefs_.has(n)}function Lr(e,t,n){let r=Rr(t,n);return r?Bn in r?r[Bn]:r.get?.call(e.draft_):void 0}function Rr(e,t){if(!(t in e))return;let n=U(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=U(n)}}function zr(e){e.modified_||(e.modified_=!0,e.parent_&&zr(e.parent_))}function Br(e){e.copy_||=(e.assigned_=new Map,nr(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var Vr=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(J(e)&&!J(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}J(t)||V(6),n!==void 0&&!J(n)&&V(7);let r;if(G(e)){let i=yr(this),a=Hr(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?_r(i):vr(i)}return gr(i,n),xr(r,i)}if(!e||!Zn(e)){if(r=t(e),r===void 0&&(r=e),r===Nn&&(r=void 0),this.autoFreeze_&&rr(r,!0),n){let t=[],i=[];X(cr).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}V(1,e)},this.produceWithPatches=(e,t)=>{if(J(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},Qn(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Qn(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Qn(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){G(e)||V(8),W(e)&&(e=Ur(e));let t=yr(this),n=Hr(t,e,void 0);return n[B].isManual_=!0,vr(t),n}finishDraft(e,t){let n=e&&e[B];(!n||!n.isManual_)&&V(9);let{scope_:r}=n;return gr(r,t),xr(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=X(cr).applyPatches_;return W(e)?r(e,t):this.produce(e,e=>r(e,t))}};function Hr(e,t,n,r){let[i,a]=Yn(t)?X(sr).proxyMap_(t,n):Xn(t)?X(sr).proxySet_(t,n):Mr(t,n);return(n?.scope_??mr()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?Or(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),i}function Ur(e){return W(e)||V(10,e),Wr(e)}function Wr(e){if(!G(e)||or(e))return e;let t=e[B],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=nr(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=nr(e,!0);return Wn(n,(e,t)=>{Kn(n,e,Wr(t))},r),t&&(t.finalized_=!1),n}function Gr(){function e(n,r=[]){if(n.key_!==void 0){let e=n.parent_.copy_??n.parent_.base_,t=er(q(e,n.key_)),i=q(e,n.key_);if(i===void 0||i!==n.draft_&&i!==n.base_&&i!==n.copy_||t!=null&&t.base_!==n.base_)return null;let a=n.parent_.type_===3,o;if(a){let e=n.parent_;o=Array.from(e.drafts_.keys()).indexOf(n.key_)}else o=n.key_;if(!(a&&e.size>o||Gn(e,o)))return null;r.push(o)}if(n.parent_)return e(n.parent_,r);r.reverse();try{t(n.copy_,r)}catch{return null}return r}function t(e,t){let n=e;for(let e=0;e<t.length-1;e++){let r=t[e];if(n=q(n,r),!Zn(n)||n===null)throw Error(`Cannot resolve path at '${t.join(`/`)}'`)}return n}let n=`replace`,r=`remove`;function i(e,t,n){if(e.scope_.processedForPatches_.has(e))return;e.scope_.processedForPatches_.add(e);let{patches_:r,inversePatches_:i}=n;switch(e.type_){case 0:case 2:return o(e,t,r,i);case 1:return a(e,t,r,i);case 3:return s(e,t,r,i)}}function a(e,t,i,a){let{base_:o,assigned_:s}=e,c=e.copy_;c.length<o.length&&([o,c]=[c,o],[i,a]=[a,i]);let l=e.allIndicesReassigned_===!0;for(let e=0;e<o.length;e++){let r=c[e],u=o[e];if((l||s?.get(e.toString()))&&r!==u){let o=r?.[B];if(o&&o.modified_)continue;let s=t.concat([e]);i.push({op:n,path:s,value:d(r)}),a.push({op:n,path:s,value:d(u)})}}for(let e=o.length;e<c.length;e++){let n=t.concat([e]);i.push({op:`add`,path:n,value:d(c[e])})}for(let e=c.length-1;o.length<=e;--e){let n=t.concat([e]);a.push({op:r,path:n})}}function o(e,t,i,a){let{base_:o,copy_:s,type_:c}=e;Wn(e.assigned_,(e,l)=>{let u=q(o,e,c),f=q(s,e,c),p=l?Gn(o,e)?n:`add`:r;if(u===f&&p===n)return;let m=t.concat(e);i.push(p===r?{op:p,path:m}:{op:p,path:m,value:d(f)}),a.push(p===`add`?{op:r,path:m}:p===r?{op:`add`,path:m,value:d(u)}:{op:n,path:m,value:d(u)})})}function s(e,t,n,i){let{base_:a,copy_:o}=e,s=0;a.forEach(e=>{if(!o.has(e)){let a=t.concat([s]);n.push({op:r,path:a,value:e}),i.unshift({op:`add`,path:a,value:e})}s++}),s=0,o.forEach(e=>{if(!a.has(e)){let a=t.concat([s]);n.push({op:`add`,path:a,value:e}),i.unshift({op:r,path:a,value:e})}s++})}function c(e,t,r){let{patches_:i,inversePatches_:a}=r;i.push({op:n,path:[],value:t===Nn?void 0:t}),a.push({op:n,path:[],value:e})}function l(e,t){return t.forEach(t=>{let{path:i,op:a}=t,o=e;for(let e=0;e<i.length-1;e++){let t=K(o),n=i[e];typeof n!=`string`&&typeof n!=`number`&&(n=``+n),(t===0||t===1)&&(n===`__proto__`||n===Fn)&&V(19),J(o)&&n===In&&V(19),o=q(o,n),(o===null||!Zn(o))&&V(18,i.join(`/`))}let s=K(o),c=u(t.value),l=i[i.length-1];switch(a){case n:switch(s){case 2:return o.set(l,c);case 3:V(16);default:return o[l]=c}case`add`:switch(s){case 1:return l===`-`?o.push(c):o.splice(l,0,c);case 2:return o.set(l,c);case 3:return o.add(c);default:return o[l]=c}case r:switch(s){case 1:return o.splice(l,1);case 2:return o.delete(l);case 3:return o.delete(t.value);default:return delete o[l]}default:V(17,a)}}),e}function u(e){if(!G(e))return e;if(Jn(e))return e.map(u);if(Yn(e))return new Map(Array.from(e.entries()).map(([e,t])=>[e,u(t)]));if(Xn(e))return new Set(Array.from(e).map(u));let t=Object.create(U(e));for(let n in e)t[n]=u(e[n]);return Gn(e,Pn)&&(t[Pn]=e[Pn]),t}function d(e){return W(e)?u(e):e}fr(cr,{applyPatches_:l,generatePatches_:i,generateReplacementPatches_:c,getPath:e})}globalThis.Iterator?.from;var Kr=new Vr,qr=Kr.produce,Jr=Kr.produceWithPatches.bind(Kr),Yr=Kr.applyPatches.bind(Kr),Xr=1e3;function Zr(e,t){if(e.add(t),e.size>Xr){let t=e.values().next().value;t!==void 0&&e.delete(t)}}function Qr(e){let{enablePatches:t=!1}=e;t&&Gr();let n=Mn(),r=e.initialValue,i=new Set;return{on:n.on,value:()=>r,patch:(e,t=cn())=>{i.has(t)||(Gr(),r=Yr(r,e),Zr(i,t),n.emit(`updated`,r,void 0,t))},mutate:(e,a=cn())=>{if(!i.has(a)){if(Zr(i,a),t){let[t,i]=Jr(r,e);if(t===r)return;r=t,n.emit(`updated`,r,i,a)}else{let t=qr(r,e);if(t===r)return;r=t,n.emit(`updated`,r,void 0,a)}}},syncIds:i}}var $r={subscribe:`devframe:in-page:page-state:subscribe`,set:`devframe:in-page:page-state:set`,patch:`devframe:in-page:page-state:patch`};function ei(e){let t=new Map,n=new Set,r=new Map,i=new Set;function a(e){n.add(e);let t=r.get(e);if(t){r.delete(e);for(let e of t)e()}}function o(e,n){let r=t.get(e);if(r&&n!==void 0){let e=cn();i.add(e),r.mutate(()=>n,e)}a(e)}function s(t){e.call($r.subscribe,[t]).then(e=>o(t,e)).catch(e=>{console.warn(`[devframe] in-page shared state "${t}": subscribe failed`,e)})}return{handlers:{[R.inPageChannel.panelStateUpdated]:(e,n,r)=>{let i=t.get(e);i&&!i.syncIds.has(r)&&i.mutate(()=>n,r),a(e)},[R.inPageChannel.panelStatePatch]:(e,n,r)=>{t.get(e)?.patch(n,r),a(e)}},resubscribe(){for(let e of t.keys())s(e)},get:(a,o)=>{let c=t.get(a);if(c)return Promise.resolve(c);let l=Qr({initialValue:o?.initialValue,enablePatches:!0});return t.set(a,l),l.on(`updated`,(t,n,r)=>{i.delete(r)||e.isConnected()&&(n?e.callEvent($r.patch,[a,n,r]):e.callEvent($r.set,[a,t,r]))}),e.isConnected()&&s(a),o?.initialValue===void 0?new Promise(e=>{if(n.has(a)){e(l);return}let t=r.get(a)??[];t.push(()=>e(l)),r.set(a,t)}):Promise.resolve(l)}}}var ti=300,ni=3e3,ri=64;function ii(e){let{name:t}=e,n=e.callTimeoutMs??15e3,r=e.eventBufferLimit??ri,i=e.window===!1?void 0:e.window??(typeof window>`u`?void 0:window),a=fn(e.allowedOrigins,i),o=hn(e.heartbeat),s={serialize:e.serialize,deserialize:e.deserialize},c=cn(),l=e.targets??(i?pn(i):[]),u=!!i&&l.length>0,d=Mn(),f=On(s);for(let[t,n]of Object.entries(e.functions))f.register({...n,name:t});for(let[t,n]of Object.entries(e.events??{}))f.register({...n,name:t,type:`event`});let p=`connecting`,m,h,g,_,v=!1,y=[],b=[],x=[];function S(e){p!==e&&(p=e,d.emit(`status:updated`,e))}let C=ei({isConnected:()=>p===`connected`,callEvent:(e,t)=>E(e,wn(s,t)),call:(e,t)=>ee(e,wn(s,t))}),w=On(s);for(let[e,t]of Object.entries(C.handlers))w.register({name:e,handler:t});function T(e,t){m?.rpc.$callRaw({method:e,args:t,event:!0,optional:!0}).catch(()=>{})}function E(e,n){if(p!==`closed`){if(p===`connected`&&m){T(e,n);return}b.length>=r&&(b.shift(),v||(v=!0,console.warn(`[devframe] in-page channel "${t}": event buffer overflowed while connecting, so the oldest events are being dropped (limit ${r})`))),b.push({method:e,args:n})}}function ee(e,r){return p===`closed`?Promise.reject(new z(`closed`,`in-page channel "${t}": call "${e}" rejected because the channel is closed`)):jn(new Promise((t,n)=>{let i=()=>{m.rpc.$call(e,...r).then(e=>t(Tn(s,e)),n)};p===`connected`&&m?i():y.push({run:i,reject:n})}),n,()=>`in-page channel "${t}": call "${e}" timed out after ${n}ms (status: ${p}${p===`connecting`?`; is the page script loaded?`:``})`)}function D(e,t){m?.dispose({bye:!0,reason:`the panel adopted a newer port`}),m=An(e,{resolveLocal:e=>w.resolve(e)??f.resolve(e),onControl:e=>{e===`ping`&&m?.postControl(`pong`)},onPeerClosed:()=>ne(`the page script went away`)}),h=t,te(),S(`connected`),o&&(_=setInterval(()=>{m&&(Date.now()-m.lastActivity>o.timeoutMs?ne(`the page script went silent (heartbeat timeout)`):m.postControl(`ping`))},o.intervalMs));for(let e of y.splice(0))e.run();for(let{method:e,args:t}of b.splice(0))T(e,t);C.resubscribe();for(let e of x.splice(0))e.resolve()}function te(){g&&=(clearTimeout(g),void 0),_&&=(clearInterval(_),void 0)}function ne(e){p!==`closed`&&(m?.dispose({reason:e}),m=void 0,h=void 0,te(),S(`connecting`),u?O():_n(`in-page channel "${t}": transport lost (${e}) and the panel has no handshake targets, so it stays disconnected`))}function O(){if(g||!u||p!==`connecting`)return;let n=e.helloIntervalMs??ti,r=()=>{let i={channel:ln,v:2,kind:`hello`,name:t,panelId:c,instanceId:e.instanceId};for(let e of l)for(let t of a)try{e.postMessage(i,t)}catch{}n=Math.min(n*1.5,ni),g=setTimeout(r,n)};r()}let re=n=>{if(p===`closed`)return;let r=n.data;if(!dn(r)||r.kind!==`grant`||r.name!==t||r.panelId!==c)return;if(r.v!==2){_n(`in-page channel "${t}": ignoring a grant with protocol version ${r.v} (this side speaks 2); align the devframe versions of the page script and the panel`);return}if(!a.includes(`*`)&&!a.includes(n.origin)){_n(`in-page channel "${t}": ignoring a grant from disallowed origin "${n.origin}"`);return}if(e.instanceId&&r.instanceId!==e.instanceId)return;let i=n.ports?.[0];i&&D(i,{instanceId:r.instanceId})};return i?.addEventListener(`message`,re),e.transport?D(e.transport):u?O():_n(`in-page channel "${t}": the panel has no handshake targets (not embedded, no opener) and no transport, so calls will buffer until a transport appears or the channel is closed`),{name:t,get status(){return p},get pageScript(){return h},events:{on:d.on,once:d.once},whenConnected:e=>p===`connected`?Promise.resolve():p===`closed`?Promise.reject(new z(`closed`,`in-page channel "${t}" is closed`)):new Promise((n,r)=>{let i={resolve:n,reject:r};x.push(i),e!==void 0&&e>0&&setTimeout(()=>{let n=x.indexOf(i);n>=0&&(x.splice(n,1),r(new z(`timeout`,`in-page channel "${t}": no page script answered within ${e}ms; it may not be loaded in this context (render a fallback state)`)))},e)}),call:(e,...t)=>ee(En(`function`,e),wn(s,t)),emit:(e,...t)=>E(En(`event`,e),wn(s,t)),callEvent:(e,...t)=>E(En(`event`,e),wn(s,t)),on:(e,t)=>f.on(e,t),sharedState:C,close:()=>{if(p===`closed`)return;S(`closed`),te(),i?.removeEventListener(`message`,re),m?.dispose({bye:!0,reason:`the panel closed the channel`}),m=void 0,h=void 0;let e=new z(`closed`,`in-page channel "${t}" was closed`);for(let t of y.splice(0))t.reject(e);b.length=0;for(let t of x.splice(0))t.reject(e)}}}function ai(){let[e,t]=v(null),[n,r]=v(!1),[i,a]=v(!1),o=ii({name:Ve,functions:{},events:{}});return o.events.on(`status:updated`,e=>r(e===`connected`)),o.sharedState.get(`state`).then(e=>{let n=e=>{a(!1),t({...e})};n(e.value()),e.on(`updated`,e=>n(e))}),E(()=>o.close()),{state:e,pageScriptReady:n,scanning:()=>e()?.scanning||i(),activeRoute:()=>e()?.activeRoute??null,preview:e=>o.emit(`highlight`,e.id,e.target),clearPreview:()=>o.emit(`clear-highlight`),setPins:e=>o.emit(`set-pins`,e),rescan:()=>{a(!0),o.emit(`rescan`)},sendConfig:e=>o.emit(`set-config`,e),setAutoScan:e=>o.emit(`set-autoscan`,e),clearRoute:e=>o.emit(`clear-route`,e),clearAll:()=>o.emit(`clear-all`)}}var oi=`__connection.json`,si=`__DEVFRAME_CONNECTION__`,ci=`x-birpc-session`,li=`__rpc-dump/index.json`,ui=`devframe:services`,di=`devframe_otp`,fi=`devframe_auth_token`;R.postMessage.remoteAssetsError;function pi(e){return typeof e==`string`?`'${e}'`:new _i().serialize(e)}var mi=` _-,;:!?.'"()[]{}@*/\\&#%\`^+<=>|~$0123456789abcdefghijklmnopqrstuvwxyz`,hi=(function(){let e=new Uint8Array(128);for(let t=0;t<69;t++)e[mi.charCodeAt(t)]=t+1;for(let t=65;t<=90;t++)e[t]=e[t+32];return e})();function gi(e,t){if(e===t)return 0;let n=Math.min(e.length,t.length),r=0;for(let i=0;i<n;i++){let n=e.charCodeAt(i),a=t.charCodeAt(i);if(n===a)continue;let o=n<128&&hi[n]?hi[n]:n+128,s=a<128&&hi[a]?hi[a]:a+128;if(o!==s)return o<s?-1:1;r===0&&(r=n>a?-1:1)}return e.length===t.length?r:e.length<t.length?-1:1}var _i=(function(){class e{#e=new Map;compare(e,t){let n=typeof e,r=typeof t;return n===`string`&&r===`string`?gi(e,t):n===`number`&&r===`number`?e-t:gi(this.serialize(e,!0),this.serialize(t,!0))}serialize(e,t){if(e===null)return`null`;switch(typeof e){case`string`:return t?e:`'${e}'`;case`bigint`:return`${e}n`;case`object`:return this.$object(e);case`function`:return this.$function(e)}return String(e)}serializeObject(e){let t=Object.prototype.toString.call(e);if(t!==`[object Object]`)return this.serializeBuiltInType(t.length<10?`unknown:${t}`:t.slice(8,-1),e);let n=e.constructor,r=n===Object||n===void 0?``:n.name;if(r!==``&&globalThis[r]===n)return this.serializeBuiltInType(r,e);if(`toJSON`in e&&typeof e.toJSON==`function`){let t=e.toJSON();return r+(typeof t==`object`&&t?this.$object(t):`(${this.serialize(t)})`)}let i=Object.keys(e).sort(gi),a=`${r}{`;for(let t=0;t<i.length;t++){let n=i[t];a+=`${n}:${this.serialize(e[n])}`,t<i.length-1&&(a+=`,`)}return a+`}`}serializeBuiltInType(e,t){let n=this[`$`+e];if(n)return n.call(this,t);if(typeof t.entries==`function`)return this.serializeObjectEntries(e,t.entries());throw Error(`Cannot serialize ${e}`)}serializeObjectEntries(e,t){let n=Array.from(t).sort((e,t)=>this.compare(e[0],t[0])),r=`${e}{`;for(let e=0;e<n.length;e++){let[t,i]=n[e];r+=`${this.serialize(t,!0)}:${this.serialize(i)}`,e<n.length-1&&(r+=`,`)}return r+`}`}$object(e){let t=this.#e.get(e);return t===void 0&&(this.#e.set(e,`#${this.#e.size}`),t=this.serializeObject(e),this.#e.set(e,t)),t}$function(e){let t=Function.prototype.toString.call(e);return t.slice(-15)===`[native code] }`?`${e.name||``}()[native]`:`${e.name}(${e.length})${t.replace(/\s*\n\s*/g,``)}`}$Array(e){let t=`[`;for(let n=0;n<e.length;n++)t+=this.serialize(e[n]),n<e.length-1&&(t+=`,`);return t+`]`}$Date(e){try{return`Date(${e.toISOString()})`}catch{return`Date(null)`}}$ArrayBuffer(e){return`ArrayBuffer[${new Uint8Array(e).join(`,`)}]`}$Set(e){return`Set${this.$Array(Array.from(e).sort((e,t)=>this.compare(e,t)))}`}$Map(e){return this.serializeObjectEntries(`Map`,e.entries())}}for(let t of[`Error`,`RegExp`,`URL`])e.prototype[`$`+t]=function(e){return`${t}(${e})`};for(let t of[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`,`)}]`};for(let t of[`BigInt64Array`,`BigUint64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`n,`)}${e.length>0?`n`:``}]`};return e})(),vi=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],yi=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],bi=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,Z=[],xi=class{_data=new Si;_hash=new Si([...vi]);_nDataBytes=0;_minBufferSize=0;finalize(e){e&&this._append(e);let t=this._nDataBytes*8,n=this._data.sigBytes*8;return this._data.words[n>>>5]|=128<<24-n%32,this._data.words[(n+64>>>9<<4)+14]=Math.floor(t/4294967296),this._data.words[(n+64>>>9<<4)+15]=t,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}_doProcessBlock(e,t){let n=this._hash.words,r=n[0],i=n[1],a=n[2],o=n[3],s=n[4],c=n[5],l=n[6],u=n[7];for(let n=0;n<64;n++){if(n<16)Z[n]=e[t+n]|0;else{let e=Z[n-15],t=(e<<25|e>>>7)^(e<<14|e>>>18)^e>>>3,r=Z[n-2],i=(r<<15|r>>>17)^(r<<13|r>>>19)^r>>>10;Z[n]=t+Z[n-7]+i+Z[n-16]}let d=s&c^~s&l,f=r&i^r&a^i&a,p=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),m=(s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25),h=u+m+d+yi[n]+Z[n],g=p+f;u=l,l=c,c=s,s=o+h|0,o=a,a=i,i=r,r=h+g|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+s|0,n[5]=n[5]+c|0,n[6]=n[6]+l|0,n[7]=n[7]+u|0}_append(e){typeof e==`string`&&(e=Si.fromUtf8(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes}_process(e){let t,n=this._data.sigBytes/64;n=e?Math.ceil(n):Math.max((n|0)-this._minBufferSize,0);let r=n*16,i=Math.min(r*4,this._data.sigBytes);if(r){for(let e=0;e<r;e+=16)this._doProcessBlock(this._data.words,e);t=this._data.words.splice(0,r),this._data.sigBytes-=i}return new Si(t,i)}},Si=class e{words;sigBytes;constructor(e,t){e=this.words=e||[],this.sigBytes=t===void 0?e.length*4:t}static fromUtf8(t){let n=unescape(encodeURIComponent(t)),r=n.length,i=[];for(let e=0;e<r;e++)i[e>>>2]|=(n.charCodeAt(e)&255)<<24-e%4*8;return new e(i,r)}toBase64(){let e=[];for(let t=0;t<this.sigBytes;t+=3){let n=this.words[t>>>2]>>>24-t%4*8&255,r=this.words[t+1>>>2]>>>24-(t+1)%4*8&255,i=this.words[t+2>>>2]>>>24-(t+2)%4*8&255,a=n<<16|r<<8|i;for(let n=0;n<4&&t*8+n*6<this.sigBytes*8;n++)e.push(bi.charAt(a>>>6*(3-n)&63))}return e.join(``)}concat(e){if(this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4),this.sigBytes%4)for(let t=0;t<e.sigBytes;t++){let n=e.words[t>>>2]>>>24-t%4*8&255;this.words[this.sigBytes+t>>>2]|=n<<24-(this.sigBytes+t)%4*8}else for(let t=0;t<e.sigBytes;t+=4)this.words[this.sigBytes+t>>>2]=e.words[t>>>2];this.sigBytes+=e.sigBytes}};function Ci(e){return new xi().finalize(e).toBase64()}function wi(e){return Ci(pi(e))}function Ti(e){return wi(e)}var Ei=class{cacheMap=new Map;options;keySerializer;constructor(e){this.options=e,this.keySerializer=e.keySerializer||(e=>Ti(e))}updateOptions(e){this.options={...this.options,...e}}cached(e,t){let n=this.cacheMap.get(e);if(n)return n.get(this.keySerializer(t))}has(e,t){return this.cacheMap.get(e)?.has(this.keySerializer(t))??!1}apply(e,t){let n=this.cacheMap.get(e.m)||new Map;n.set(this.keySerializer(e.a),t),this.cacheMap.set(e.m,n)}validate(e){return this.options.functions.includes(e)}clear(e){e?this.cacheMap.delete(e):this.cacheMap.clear()}},Q=an({docsBase:`https://devfra.me/errors`,codes:{DF0019:{why:e=>`RPC function "${e.name}" has \`agent\` set but \`jsonSerializable\` is not \`true\`; MCP requires JSON-serializable data.`,fix:"Set `jsonSerializable: true` if the payload is JSON-safe, or remove `agent` to keep it RPC-only."},DF0020:{why:e=>`RPC function "${e.name}" declares \`jsonSerializable: true\` but the value at "${e.path}" is a ${e.type}.`,fix:"Either drop `jsonSerializable: true` (falls back to structured-clone) or change the value to a JSON-safe shape."},DF0021:{why:e=>`RPC function "${e.name}" is already registered`,fix:"Use the `force` parameter to overwrite an existing registration."},DF0022:{why:e=>`RPC function "${e.name}" is not registered. Use register() to add new functions.`},DF0023:{why:e=>`RPC function "${e.name}" is not registered`},DF0024:{why:e=>`Either handler or setup function must be provided for RPC function "${e.name}"`},DF0025:{why:e=>`Function "${e.name}" not found in dump store`},DF0026:{why:e=>`No dump match for "${e.name}" with args: ${e.args}`},DF0027:{why:e=>`Function "${e.name}" with type "${e.type}" cannot have dump configuration. Only "static" and "query" types support dumps.`},DF0028:{why:e=>`Function "${e.name}" with type "${e.type}" cannot use \`snapshot: true\`. Only "query" functions support this sugar; "static" functions have equivalent default behavior already.`,fix:"Remove `snapshot: true`, or change the function type to `query`."},DF0043:{why:e=>`RPC function "${e.name}" received an invalid argument at position ${e.index}: ${e.issues}`,fix:"Pass a value that satisfies the `args` schema declared for this function."},DF0044:{why:e=>`RPC function "${e.name}" returned a value that failed its \`returns\` schema: ${e.issues}`,fix:"Make the handler return a value that satisfies the `returns` schema, or relax the schema."}}});async function Di(e,t){let n=e[`~standard`].validate(t);return n instanceof Promise?await n:n}function Oi(e){return e.map(e=>{let t=e.path?.map(e=>typeof e==`object`?e.key:e).join(`.`);return t?`${t}: ${e.message}`:e.message}).join(`; `)}async function ki(e,t,n){let r=n.slice();if(!t||t.length===0)return r;for(let r=0;r<t.length;r++){let i=t[r];if(!i)continue;let a=await Di(i,n[r]);if(a.issues)throw Q.DF0043({name:e,index:r,issues:Oi(a.issues)})}return r}async function Ai(e,t,n){if(!t)return n;let r=await Di(t,n);if(r.issues)throw Q.DF0044({name:e,issues:Oi(r.issues)});return n}async function ji(e,t){if(!e.setup)return{};if(typeof t==`object`&&t){e.__cache??=new WeakMap;let n=e.__cache,r=n.get(t);return r||(r=Promise.resolve(e.setup(t)),r.catch(()=>{n.get(t)===r&&n.delete(t)}),n.set(t,r)),await r}if(!e.__promise){let n=Promise.resolve(e.setup(t));n.catch(()=>{e.__promise===n&&(e.__promise=void 0)}),e.__promise=n}return await e.__promise}async function Mi(e,t){let n=e.handler;if(!n){let r=await ji(e,t);if(!r.handler)throw Q.DF0024({name:e.name});n=r.handler}let r=e.args,i=e.returns;if(!r&&!i)return n;let a=n;return async(...t)=>{let n=await ki(e.name,r,t),o=await a(...n);return await Ai(e.name,i,o)}}var Ni=class{context;definitions=new Map;functions;_onChanged=[];constructor(e){this.context=e;let t=this.definitions,n=this;this.functions=new Proxy({},{get(e,r){let i=t.get(r);if(i)return Mi(i,n.context)},has(e,n){return t.has(n)},getOwnPropertyDescriptor(e,n){return{value:t.get(n)?.handler,configurable:!0,enumerable:!0}},ownKeys(){return Array.from(t.keys())}})}register(e,t=!1){if(this.definitions.has(e.name)&&!t)throw Q.DF0021({name:e.name});Pi(e),this.definitions.set(e.name,e),this._onChanged.forEach(t=>t(e.name))}update(e,t=!1){if(!this.definitions.has(e.name)&&!t)throw Q.DF0022({name:e.name});Pi(e),this.definitions.set(e.name,e),this._onChanged.forEach(t=>t(e.name))}onChanged(e){return this._onChanged.push(e),()=>{let t=this._onChanged.indexOf(e);t!==-1&&this._onChanged.splice(t,1)}}async getHandler(e){return await Mi(this.definitions.get(e),this.context)}getSchema(e){let t=this.definitions.get(e);if(!t)throw Q.DF0023({name:String(e)});return{args:t.args,returns:t.returns}}has(e){return this.definitions.has(e)}get(e){return this.definitions.get(e)}list(){return Array.from(this.definitions.keys())}};function Pi(e){if(e.agent&&e.jsonSerializable!==!0)throw Q.DF0019({name:e.name})}function Fi(e,t=``){return JSON.stringify(e,function(e,n){let r=this,i=r==null?n:r[e];if(i===void 0){if(Array.isArray(r))throw Li(t,`undefined`,r,e);return n}return i!==null&&Ii(i,r,e,t),n})}function Ii(e,t,n,r){if(typeof e==`bigint`)throw Li(r,`BigInt`,t,n);if(typeof e!=`object`)return;if(e instanceof Map)throw Li(r,`Map`,t,n);if(e instanceof Set)throw Li(r,`Set`,t,n);if(e instanceof Date)throw Li(r,`Date`,t,n);if(Array.isArray(e))return;let i=Object.getPrototypeOf(e);if(i!==null&&i!==Object.prototype)throw Li(r,e.constructor?.name??`class instance`,t,n)}function Li(e,t,n,r){let i=Ri(n,r);return Q.DF0020({name:e||`<anonymous>`,type:t,path:i})}function Ri(e,t){return Array.isArray(e)?`[${t}]`:t===``?`<root>`:t}String.fromCharCode;var zi=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,Bi=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,Vi=/^([/\\]\s*){2,}[^/\\]/,Hi=/\/$|\/\?|\/#/,Ui=/^\.?\//;function Wi(e,t={}){return typeof t==`boolean`&&(t={acceptRelative:t}),t.strict?zi.test(e):Bi.test(e)||(t.acceptRelative?Vi.test(e):!1)}function Gi(e=``,t){return t?Hi.test(e):e.endsWith(`/`)}function Ki(e=``,t){if(!t)return(Gi(e)?e.slice(0,-1):e)||`/`;if(!Gi(e,!0))return e||`/`;let n=e,r=``,i=e.indexOf(`#`);i!==-1&&(n=e.slice(0,i),r=e.slice(i));let[a,...o]=n.split(`?`);return((a.endsWith(`/`)?a.slice(0,-1):a)||`/`)+(o.length>0?`?${o.join(`?`)}`:``)+r}function qi(e=``,t){if(!t)return e.endsWith(`/`)?e:e+`/`;if(Gi(e,!0))return e||`/`;let n=e,r=``,i=e.indexOf(`#`);if(i!==-1&&(n=e.slice(0,i),r=e.slice(i),!n))return r;let[a,...o]=n.split(`?`);return a+`/`+(o.length>0?`?${o.join(`?`)}`:``)+r}function Ji(e,t){if(Yi(t)||Wi(e))return e;let n=Ki(t);if(e.startsWith(n)){let t=e[n.length];if(!t||t===`/`||t===`?`)return e}return Zi(n,e)}function Yi(e){return!e||e===`/`}function Xi(e){return e&&e!==`/`}function Zi(e,...t){let n=e||``;for(let e of t.filter(e=>Xi(e)))if(n){let t=e.replace(Ui,``);n=qi(n)+t}else n=e;return n}function Qi(e,t){let n=e.match(Bi);return n||=e.match(/^\/{2,}/),n?t+e.slice(n[0].length):t+e}var $i=`__DEVFRAME_CONNECTION_META__`,ea=`__DEVFRAME_CONNECTION_AUTH_TOKEN__`;function ta(e){let t=[()=>window?.[e],()=>globalThis?.[e],()=>parent.window?.[e]];for(let e of t)try{let t=e();if(t)return t}catch{}}function na(){return ta(si)}function ra(){return ta($i)}function ia(e){if(e)return e;try{let e=localStorage.getItem(ea);if(e)return e}catch{}return ta(ea)}function aa(e){globalThis[si]=e,globalThis[$i]={...e.connectionMeta,baseUrl:e.metaBaseUrl},e.authToken&&oa(e.authToken)}function oa(e){try{localStorage.setItem(ea,e)}catch{}globalThis[ea]=e;let t=na();t&&(globalThis[si]={...t,authToken:e})}function sa(e){let t=Ji(oi,e);try{return new URL(t,globalThis.location?.href).href}catch{return t}}function ca(e,t){return t&&t!==e.authToken?{...e,authToken:t}:e}function la(){let e=na();if(e)return ca(e,ia()??e.authToken??e.connectionMeta.authToken);let t=ra();if(t)return{connectionMeta:t,metaBaseUrl:t.baseUrl??sa(`./`),authToken:ia(t.authToken)}}async function ua(e={}){if(e.connection){let t=ca(e.connection,ia(e.authToken??e.connection.authToken??e.connection.connectionMeta.authToken));return aa(t),t}let t=Array.isArray(e.baseURL)?e.baseURL:[e.baseURL??`./`];if(e.connectionMeta){let n={connectionMeta:e.connectionMeta,metaBaseUrl:sa(t[0]??`./`),authToken:ia(e.authToken??e.connectionMeta.authToken)};return aa(n),n}let n=la();if(n){let t=ca(n,ia(e.authToken??n.authToken??n.connectionMeta.authToken));return aa(t),t}let r=[];for(let n of t){let t=Ji(oi,n),i=sa(n);try{let n=await fetch(t);if(!n.ok)throw Error(`Failed to fetch connection meta from ${i}: ${n.status}`);let r=await n.json(),a=n.url||i,o={connectionMeta:r,metaBaseUrl:r.baseUrl?new URL(r.baseUrl,a).href:a,authToken:ia(e.authToken??r.authToken)};return aa(o),o}catch(e){r.push(e)}}throw Error(`Failed to get connection meta from ${t.join(`, `)}`,{cause:r})}var $=class extends Error{name=`DevframeConnectionError`;kind;constructor(e,t,n){super(t,n),this.kind=e}};function da(e=di){try{let t=globalThis.location?.hash?.replace(/^#/,``)??``;return new URLSearchParams(t).get(e)||void 0}catch{return}}function fa(e){try{let t=new URL(globalThis.location.href),n=new URLSearchParams(t.hash.replace(/^#/,``));if(!n.has(e))return;n.delete(e),t.hash=n.toString(),globalThis.history?.replaceState(globalThis.history.state,``,t.href)}catch{}}function pa(e=di){let t=da(e);return t&&fa(e),t}async function ma(e,t={}){let n=pa(t.param??`devframe_otp`);return n?e.isTrusted?!0:e.requestTrustWithCode(n):!1}function ha(e){let t={},n=new WeakMap,r,i=()=>(r??=e.sharedState.get(ui,{initialValue:{}}).then(e=>(t=e.value(),e.on(`updated`,e=>{t=e}),e)),r);return i(),{state:i,has:e=>e in t,keys:()=>Object.keys(t),get:r=>{let i=t[r];if(!i)return;let a=n.get(i);return a||(a={...i,rpc:e.scope(i.scope).rpc},n.set(i,a)),a}}}function ga(e){let t=new Map,n=new Map,r=new Map,i=new Set,a=e.connectionMeta.backend===`static`;function o(e,t){let n=r.get(e);return n&&typeof n==`object`&&!Array.isArray(n)&&typeof t==`object`&&!Array.isArray(t)?{...n,...t}:t}e.client.register({name:R.broadcast.clientStateUpdated,type:`event`,handler:(e,n,r)=>{let i=t.get(e);!i||i.syncIds.has(r)||i.mutate(()=>o(e,n),r)}}),e.client.register({name:R.broadcast.clientStatePatch,type:`event`,handler:(e,n,r)=>{let i=t.get(e);!i||i.syncIds.has(r)||i.patch(n,r)}});function s(t,n){let r=[];return r.push(n.on(`updated`,(n,r,i)=>{a||(r?e.callEvent(`devframe:rpc:server-state:patch`,t,r,i):e.callEvent(`devframe:rpc:server-state:set`,t,n,i))})),()=>{for(let e of r)e()}}return{keys:()=>Array.from(t.keys()),onKeyAdded(e){return i.add(e),()=>{i.delete(e)}},delete(e){let i=n.get(e);n.delete(e);let a=t.delete(e);return r.delete(e),i?.(),a},get:async(c,l)=>{if(l?.initialValue!==void 0&&r.set(c,l.initialValue),t.has(c))return t.get(c);let u=Qr({initialValue:l?.initialValue,enablePatches:!1});async function d(){if(a||e.callEvent(`devframe:rpc:server-state:subscribe`,c),l?.initialValue!==void 0){t.set(c,u);for(let e of i)e(c);return e.call(`devframe:rpc:server-state:get`,c).then(e=>{e!==void 0&&u.mutate(()=>o(c,e))}).catch(e=>{console.error(`Error getting server state`,e)}),n.set(c,s(c,u)),u}{let r=await e.call(`devframe:rpc:server-state:get`,c);u.mutate(()=>o(c,r)),t.set(c,u);for(let e of i)e(c);return n.set(c,s(c,u)),u}}return new Promise(t=>{if(e.isTrusted)d().then(t);else{t(u);let n=!1;e.events.on(R.client.isTrustedUpdated,e=>{e&&!n&&(n=!0,d())})}})}}}var _a=typeof self==`object`?self:globalThis,va=new Set([`Error`,`EvalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`,`AggregateError`]),ya=new Set([`Boolean`,`Number`,`String`,`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float16Array`,`Float32Array`,`Float64Array`,`BigInt64Array`,`BigUint64Array`]);function ba(e,t){let n=(t,n)=>(e.set(n,t),t),r=i=>{if(e.has(i))return e.get(i);let[a,o]=t[i];switch(a){case 0:case-1:return n(o,i);case 1:{let e=n([],i);for(let t of o)e.push(r(t));return e}case 2:{let e=n({},i);for(let[t,n]of o)e[r(t)]=r(n);return e}case 3:return n(new Date(o),i);case 4:{let{source:e,flags:t}=o;return n(new RegExp(e,t),i)}case 5:{let e=n(new Map,i);for(let[t,n]of o)e.set(r(t),r(n));return e}case 6:{let e=n(new Set,i);for(let t of o)e.add(r(t));return e}case 7:{let{name:e,message:t}=o,r=va.has(e)?_a[e]:void 0;return n(new(r??_a.Error)(t),i)}case 8:return n(BigInt(o),i);case`BigInt`:return n(Object(BigInt(o)),i);case`ArrayBuffer`:return n(new Uint8Array(o).buffer,o);case`DataView`:{let{buffer:e}=new Uint8Array(o);return n(new DataView(e),o)}}if(typeof a==`string`&&ya.has(a))return n(new _a[a](o),i);throw TypeError(`unable to deserialize unsafe or unknown type: ${String(a)}`)};return r}function xa(e){return ba(new Map,e)(0)}var Sa=``,{toString:Ca}={},{keys:wa}=Object;function Ta(e){let t=typeof e;if(t!==`object`||!e)return[0,t];let n=Ca.call(e).slice(8,-1);switch(n){case`Array`:return[1,Sa];case`Object`:return[2,Sa];case`Date`:return[3,Sa];case`RegExp`:return[4,Sa];case`Map`:return[5,Sa];case`Set`:return[6,Sa];case`DataView`:return[1,n]}return n.includes(`Array`)?[1,n]:n.includes(`Error`)?[7,n]:[2,n]}function Ea([e,t]){return e===0&&(t===`function`||t===`symbol`)}function Da(e,t,n,r){let i=(e,t)=>{let i=r.push(e)-1;return n.set(t,i),i},a=r=>{if(n.has(r))return n.get(r);let[o,s]=Ta(r);switch(o){case 0:{let t=r;switch(s){case`bigint`:o=8,t=r.toString();break;case`function`:case`symbol`:if(e)throw TypeError(`unable to serialize ${s}`);t=null;break;case`undefined`:return i([-1],r)}return i([o,t],r)}case 1:{if(s){let e=r;return s===`DataView`?e=new Uint8Array(r.buffer):s===`ArrayBuffer`&&(e=new Uint8Array(r)),i([s,[...e]],r)}let e=[],t=i([o,e],r);for(let t of r)e.push(a(t));return t}case 2:{if(s)switch(s){case`BigInt`:return i([s,r.toString()],r);case`Boolean`:case`Number`:case`String`:return i([s,r.valueOf()],r)}if(t&&`toJSON`in r)return a(r.toJSON());let n=[],c=i([o,n],r);for(let t of wa(r))(e||!Ea(Ta(r[t])))&&n.push([a(t),a(r[t])]);return c}case 3:return i([o,r.toISOString()],r);case 4:{let{source:e,flags:t}=r;return i([o,{source:e,flags:t}],r)}case 5:{let t=[],n=i([o,t],r);for(let[n,i]of r)(e||!(Ea(Ta(n))||Ea(Ta(i))))&&t.push([a(n),a(i)]);return n}case 6:{let t=[],n=i([o,t],r);for(let n of r)(e||!Ea(Ta(n)))&&t.push(a(n));return n}}let{message:c}=r;return i([o,{name:s,message:c}],r)};return a}function Oa(e,t={}){let n=[];return Da(!(t.json||t.lossy),!!t.json,new Map,n)(e),n}var{parse:ka,stringify:Aa}=JSON,ja={json:!0,lossy:!0};function Ma(e){return xa(ka(e))}function Na(e){return Aa(Oa(e,ja))}function Pa(e){return xa(e)}function Fa(e){return Na(e)}function Ia(e){return Ma(e)}var La=new Map;function Ra(e=La){let t=new Map;return{serialize:n=>{let r;return n.t===`q`?r=n.m:(r=t.get(n.i),t.delete(n.i)),!(n.t===`s`&&`e`in n)&&r&&e.get(r)?.jsonSerializable===!0?Fi(n,r??``):`s:${Fa(n)}`},deserialize:e=>{let n=e.startsWith(`s:`)?Ia(e.slice(2)):JSON.parse(e);return n.t===`q`&&n.i&&n.m&&t.set(n.i,n.m),n}}}function za(){}function Ba(e){let t=e.search(/\n\n|\r\n\r\n/);if(!(t<0))return{frame:e.slice(0,t),rest:e.slice(t+(e[t]===`\r`?4:2))}}function Va(e){let t=`message`,n=[];for(let r of e.split(/\r?\n/))r.startsWith(`:`)||(r.startsWith(`event:`)?t=r.slice(6).trimStart():r.startsWith(`data:`)&&n.push(r.slice(5).replace(/^ /,``)));return{event:t,data:n}}function Ha(e){let{onConnected:t=za,onError:n=za,onDisconnected:r=za,definitions:i,fetch:a=globalThis.fetch.bind(globalThis)}=e,o=e.url;e.authToken&&(o=`${o}${o.includes(`?`)?`&`:`?`}${fi}=${encodeURIComponent(e.authToken)}`);let s=Ra(i),c=new AbortController,l=!1,u,d,f,p,m=new Promise((e,t)=>{f=e,p=t});m.catch(()=>{});function h(e){l||(l=!0,p(e),n(e),r())}function g(){l||(l=!0,p(Error(`Devframe SSE stream closed`)),r())}function _(e,n){if(e===`session`){f(n),t();return}u?.(n)}async function v(e){let t=e.getReader();d=t;let n=new TextDecoder,r=``;for(;;){let{done:e,value:i}=await t.read();if(e)break;for(r+=n.decode(i,{stream:!0});;){let e=Ba(r);if(!e)break;r=e.rest;let{event:t,data:n}=Va(e.frame);n.length>0&&_(t,n.join(`
4
+ `))}}g()}return(async()=>{try{let e=await a(o,{headers:{accept:`text/event-stream`},signal:c.signal});if(!e.ok||!e.body)throw Error(`Devframe SSE stream request failed: ${e.status}`);await v(e.body)}catch(e){if(c.signal.aborted){g();return}h(e instanceof Error?e:Error(String(e)))}})(),{close:()=>{l=!0,c.abort(),d?.cancel().catch(()=>{})},on:e=>{u=e},post:async e=>{let t;try{t=await m}catch{return}if(l){n(Error(`Devframe SSE channel is closed; message dropped`));return}try{let n=await a(o,{method:`POST`,headers:{"content-type":`text/plain; charset=utf-8`,[ci]:t},body:e});if(n.status===200){let e=await n.text();e&&u?.(e);return}if(!n.ok)throw Error(`Devframe SSE POST failed: ${n.status}`)}catch(e){n(e instanceof Error?e:Error(String(e)))}},serialize:s.serialize,deserialize:s.deserialize}}function Ua(e,t){let{channel:n,rpcOptions:r={}}=t;return Jt(e,{...n,timeout:-1,...r,proxify:!1})}function Wa(e){let{transport:t,authToken:n,connectionMeta:r,events:i,clientRpc:a,rpcOptions:o={},callTimeout:s=0}=e,c=!1,l=`connecting`,u=null,d=Promise.withResolvers();function f(e,t=null){if(t?u=t:e===`connected`&&(u=null),e===l)return;let n=l;l=e,i.emit(R.client.connectionStatus,e,n)}let p=new Set;function m(e){for(let t of[...p])t.reject(e)}function h(){return l===`disconnected`||l===`error`?new $(`connection`,`[devframe] Not connected to the devframe server`,{cause:u??void 0}):l===`unauthorized`?new $(`auth`,`[devframe] Not authorized by the devframe server`,{cause:u??void 0}):null}function g(e,t){return new Promise((n,r)=>{let a=!1,o,c={reject(e){a||(l(),i.emit(R.client.error,e,t),r(e))}};function l(){a=!0,p.delete(c),o&&clearTimeout(o)}p.add(c),s>0&&(o=setTimeout(()=>{c.reject(new $(`timeout`,`[devframe] RPC call "${t}" timed out after ${s}ms`))},s)),e.then(e=>{a||(l(),n(e))},e=>{if(a)return;l();let n=e instanceof Error?e:Error(String(e));i.emit(R.client.error,n,t),r(n)})})}let _=new Map;for(let e of r.jsonSerializableMethods??[])_.set(e,{jsonSerializable:!0});let v=e.createChannel({definitions:_,onError(e){f(`error`,e),i.emit(R.client.connectionError,e),m(new $(`connection`,`[devframe] Connection to the devframe server failed`,{cause:e}))},onDisconnected(){l!==`error`&&f(`disconnected`),m(new $(`connection`,`[devframe] Disconnected from the devframe server`,{cause:u??void 0}))}}),y=Ua(a.functions,{channel:v,rpcOptions:o});a.register({name:R.broadcast.authRevoked,type:`event`,handler:()=>{c=!1;let e=new $(`auth`,`[devframe] The devframe server revoked this client's trust`);f(`unauthorized`,e),i.emit(R.client.connectionError,e),m(e),i.emit(R.client.isTrustedUpdated,!1)}});let b=n;async function x(e){b=e;let t=await y.$call(`anonymous:devframe:auth`,{authToken:e,ua:navigator.userAgent,origin:location.origin});if(c=t.isTrusted,c)d.resolve(!0),f(`connected`);else{let e=new $(`auth`,`[devframe] The devframe server refused this client's credentials`);f(`unauthorized`,e),i.emit(R.client.connectionError,e)}return i.emit(R.client.isTrustedUpdated,c),t.isTrusted}async function S(e){let t=(await y.$call(`anonymous:devframe:auth:exchange`,{code:e,ua:navigator.userAgent,origin:location.origin}))?.authToken??null;return t&&(b=t,c=!0,d.resolve(!0),f(`connected`),i.emit(R.client.isTrustedUpdated,!0)),t}async function C(e={}){await y.$call(`anonymous:devframe:auth:request-code`,{ua:navigator.userAgent,origin:location.origin,...e.reissue?{reissue:!0}:{}})}async function w(){return c?!0:x(b??``)}async function T(e=6e4){if(c&&d.resolve(!0),e<=0)return d.promise;let t=()=>{};return await Promise.race([d.promise.then(t),new Promise((n,r)=>{let i=setTimeout(()=>{r(Error(`[devframe] Timeout waiting for rpc to be trusted`))},e);t=()=>clearTimeout(i)})]),c}return{transport:t,get isTrusted(){return c},get status(){return l},get connectionError(){return u},requestTrust:w,requestTrustWithToken:x,requestTrustWithCode:S,requestAuthCode:C,ensureTrusted:T,call:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(R.client.error,n,t),Promise.reject(n)):g(y.$call(...e),t)},callEvent:(...e)=>{let t=h();if(t){i.emit(R.client.error,t,String(e[0]));return}return y.$callEvent(...e)},callOptional:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(R.client.error,n,t),Promise.reject(n)):g(y.$callOptional(...e),t)},close:()=>{v.close()}}}function Ga(e,t,n){let r=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})();if(e&&typeof e==`object`){if(e.host!=null||e.port!=null){let t=e.host??`${r.hostname}:${e.port}`;return new URL(e.path??`/`,`${r.protocol}//${t}`).href}return new URL(e.path??``,r).href}let i=e??``;return/^https?:\/\//i.test(i)?i:new URL(i,r).href}function Ka(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},sseOptions:s={},callTimeout:c=0}=e,l=Ga(n.sse,r??`./`,location);return Wa({transport:`sse`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>Ha({url:l,authToken:t,definitions:e.definitions,...s,onConnected(){s.onConnected?.()},onError(t){e.onError(t),s.onError?.(t)},onDisconnected(){e.onDisconnected(),s.onDisconnected?.()}})})}function qa(e){let{name:t,message:n,cause:r,...i}=e,a=r instanceof Error?r:Ja(r)?qa(r):r,o=a===void 0?Error(n):Error(n,{cause:a});return o.name=t,Object.assign(o,i),o}function Ja(e){return typeof e==`object`&&!!e&&typeof e.message==`string`&&typeof e.name==`string`}function Ya(e){return typeof e==`object`&&!!e&&e.type===`static`&&typeof e.path==`string`}function Xa(e){return typeof e==`object`&&!!e&&e.type===`query`&&typeof e.records==`object`&&e.records!==null}function Za(e){return typeof e==`object`&&!!e&&(`output`in e||`error`in e)}function Qa(e){if(e.error)throw qa(e.error);return e.output}function $a(e){return e.some(e=>e!=null)}function eo(e){return typeof e==`object`&&e&&`serialization`in e&&`data`in e?e.data:e}function to(e,t){let n=new Map,r=new Map;function i(e,t){return t===`structured-clone`&&Array.isArray(e)?Pa(e):e}function a(e,t){return i(eo(e),t)}async function o(e){n.has(e.path)||n.set(e.path,t(e.path).then(t=>a(t,e.serialization)));let r=await n.get(e.path);return Za(r)?Qa(r):r}async function s(e,n){return r.has(e)||r.set(e,t(e).then(e=>a(e,n))),await r.get(e)}async function c(t,n){if(!(t in e))throw Error(`[devframe-rpc] Function "${t}" not found in dump store`);let r=e[t];if(Ya(r)){if($a(n))throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`);return await o(r)}if(Xa(r)){let e=Ti(n),i=r.records[e];if(i)return Qa(await s(i,r.serialization));if(r.fallback)return Qa(await s(r.fallback,r.serialization));throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}if(!$a(n))return r;throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}return{call:async(e,t)=>await c(e,t),callOptional:async(t,n)=>{if(t in e)return await c(t,n)},callEvent:async(e,t)=>{}}}async function no(e){let t=to(await e.fetchJsonFromBases(li),e.fetchJsonFromBases);return{transport:`static`,isTrusted:!0,status:`connected`,connectionError:null,requestTrust:async()=>!0,requestTrustWithToken:async()=>!0,requestTrustWithCode:async()=>null,requestAuthCode:async()=>{},ensureTrusted:async()=>!0,call:(...e)=>t.call(e[0],e.slice(1)),callEvent:(...e)=>t.callEvent(e[0],e.slice(1)),callOptional:(...e)=>t.callOptional(e[0],e.slice(1)),close:()=>{}}}var ro=256,io=class extends Error{name=`StreamClosedError`};function ao(e={}){let t=e.id??cn(),n=Math.max(0,e.replayWindow??0),r=Mn(),i=new AbortController,a=[],o=!1,s=0;function c(e){if(o)throw new io(`Cannot write to a closed stream "${t}"`);s+=1,n>0&&(a.push({seq:s,chunk:e}),a.length>n&&(a.length-n===1?a.shift():a.splice(0,a.length-n))),r.emit(`chunk`,s,e)}function l(e){if(o)return;o=!0;let t=so(e);i.abort(e),r.emit(`end`,t)}function u(){o||(o=!0,i.signal.aborted||i.abort(`stream closed`),r.emit(`end`,void 0))}function d(e){o||i.signal.aborted||i.abort(e??`aborted`)}let f=new WritableStream({write(e){c(e)},close(){u()},abort(e){l(e)}});return{id:t,signal:i.signal,get closed(){return o},get lastSeq(){return s},write:c,error:l,close:u,abort:d,writable:f,events:r,buffer:a}}function oo(e={}){let t=e.id??cn(),n=Math.max(1,e.highWaterMark??ro),r=[],i=0,a=!1,o=!1,s,c,l,u;function d(){if(c){if(r.length>0){let e=r.shift(),t=c;c=void 0,t.resolve({value:e,done:!1});return}if(a){let e=c;if(c=void 0,s){let t=Error(s.message);t.name=s.name,e.reject(t)}else e.resolve({value:void 0,done:!0})}}}function f(){if(l){for(;r.length>0;){let e=r.shift();try{l.enqueue(e)}catch{break}}if(a&&l){try{if(s){let e=Error(s.message);e.name=s.name,l.error(e)}else l.close()}catch{}l=void 0}}}function p(t,s){if(!(a||o)&&!(t<=i)){if(i=t,r.push(s),r.length>n){let t=r.length-n;r.splice(0,t),e.onOverflow?.(t)}d(),u&&f()}}function m(e){a||(a=!0,s=e,d(),u&&f())}function h(){o||a||(o=!0,e.onCancel?.(),m(void 0))}function g(){return u||(u=new ReadableStream({start(e){l=e,f()},cancel(){h()}}),u)}return{id:t,get cancelled(){return o},get done(){return a},get lastSeenSeq(){return i},get readable(){return g()},cancel:h,_push:p,_end:m,[Symbol.asyncIterator](){return{next(){if(r.length>0)return Promise.resolve({value:r.shift(),done:!1});if(a){if(s){let e=Error(s.message);return e.name=s.name,Promise.reject(e)}return Promise.resolve({value:void 0,done:!0})}return new Promise((e,t)=>{c={resolve:e,reject:t}})},return(){return h(),Promise.resolve({value:void 0,done:!0})}}}}}function so(e){if(e instanceof Error)return{name:e.name||`Error`,message:e.message};if(typeof e==`string`)return{name:`Error`,message:e};try{return{name:`Error`,message:JSON.stringify(e)}}catch{return{name:`Error`,message:String(e)}}}var co=``;function lo(e,t){return`${e}${co}${t}`}function uo(e){let t=new Map,n=new Map;e.client.register({name:R.broadcast.streamingChunk,type:`event`,handler(e,n,r,i){t.get(lo(e,n))?._push(r,i)}}),e.client.register({name:R.broadcast.streamingEnd,type:`event`,handler(e,n,r){let i=lo(e,n),a=t.get(i);a&&(a._end(r),t.delete(i))}}),e.client.register({name:R.broadcast.streamingUploadCancel,type:`event`,handler(e,t){let r=lo(e,t),i=n.get(r);i&&(i.abort(`server cancelled upload`),n.delete(r))}}),e.events.on(R.client.isTrustedUpdated,n=>{if(n)for(let[n,r]of t){if(r.cancelled||r.done)continue;let t=n.indexOf(co);if(t<0)continue;let i=n.slice(0,t),a=n.slice(t+1);e.callEvent(`devframe:streaming:subscribe`,i,a,{afterSeq:r.lastSeenSeq})}});function r(n,r,i={}){let a=lo(n,r),o=t.get(a);if(o)return o;let s=oo({id:r,highWaterMark:i.highWaterMark,onOverflow(e){console.warn(`[devframe] DF0029: Stream "${n}#${r}" dropped ${e} chunk(s) after exceeding the client high-water mark.`)},onCancel(){e.callEvent(`devframe:streaming:cancel`,n,r),t.delete(a)}});if(t.set(a,s),e.isTrusted)e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:0});else{let i=e.events.on(R.client.isTrustedUpdated,o=>{o&&(i(),t.has(a)&&!s.cancelled&&!s.done&&e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:s.lastSeenSeq}))})}return s}function i(t,r){let i=lo(t,r),a=n.get(i);if(a)return a;let o=ao({id:r});return o.events.on(`chunk`,(n,i)=>{e.callEvent(`devframe:streaming:upload-chunk`,t,r,n,i)}),o.events.on(`end`,a=>{e.callEvent(`devframe:streaming:upload-end`,t,r,a),n.delete(i)}),n.set(i,o),o}return{subscribe:r,upload:i}}function fo(){}var po=new Map;function mo(e){let t=e.url;e.authToken&&(t=`${t}?${fi}=${encodeURIComponent(e.authToken)}`);let n=new WebSocket(t),{onConnected:r=fo,onError:i=fo,onDisconnected:a=fo,definitions:o=po}=e;n.addEventListener(`open`,e=>{r(e)}),n.addEventListener(`error`,e=>{let t=e instanceof Error?e:Error(e.type);i(t)}),n.addEventListener(`close`,e=>{a(e)});let s=Ra(o);return{close:()=>{n.close()},on:e=>{n.addEventListener(`message`,t=>{e(t.data)})},post:e=>{if(n.readyState===WebSocket.OPEN){n.send(e);return}if(n.readyState===WebSocket.CONNECTING){let t=()=>{i(),n.readyState===WebSocket.OPEN&&n.send(e)},r=()=>i();function i(){n.removeEventListener(`open`,t),n.removeEventListener(`close`,r)}n.addEventListener(`open`,t),n.addEventListener(`close`,r);return}i(Error(`Devframe WebSocket is not open; message dropped`))},serialize:s.serialize,deserialize:s.deserialize}}function ho(e,t,n){let r=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})(),i=r.protocol===`https:`?`wss:`:`ws:`;if(e&&typeof e==`object`){if(e.host!=null||e.port!=null){let t=e.host??`${r.hostname}:${e.port}`,n=new URL(e.path??`/`,`${i}//${t}`);return n.protocol=i,n.href}let t=new URL(e.path??``,r);return t.protocol=i,t.href}if(typeof e==`number`)return`${i}//${r.hostname}:${e}`;let a=e??``;if(/^wss?:\/\//i.test(a))return a;if(/^https?:\/\//i.test(a))return Qi(a,/^https/i.test(a)?`wss://`:`ws://`);let o=new URL(a,r);return o.protocol=i,o.href}function go(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},wsOptions:s={},callTimeout:c=0}=e,l=ho(n.websocket,r??`./`,location);return Wa({transport:`websocket`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>mo({url:l,authToken:t,definitions:e.definitions,...s,onConnected(e){s.onConnected?.(e)},onError(t){e.onError(t),s.onError?.(t)},onDisconnected(t){e.onDisconnected(),s.onDisconnected?.(t)}})})}function _o(e){return e.includes(`:`)}function vo(e,t){return _o(t)?t:`${e}:${t}`}function yo(e){return{async get(t){return(await e()).value()[t]},async set(t,n){(await e()).mutate(e=>{e[t]=n})},async delete(t){(await e()).mutate(e=>{delete e[t]})},async all(){return(await e()).value()},async onChange(t){return(await e()).on(`updated`,e=>t(e))}}}function bo(e,t,n){let r=`devframe:settings:${n}:${t}`,i;function a(){return i||=e.sharedState.get(r,{initialValue:{}}),i}return yo(a)}function xo(e,t){return{global:bo(e,t,`global`),project:bo(e,t,`project`)}}function So(e,t){return{namespace:t,base:e,rpc:{namespace:t,register(n){if(_o(n.name))throw Error(`[devframe] Scoped client RPC registration for namespace "${t}" received an already-namespaced function name "${n.name}". Pass a bare name without a ":" separator.`);e.client.register({...n,name:`${t}:${n.name}`})},call:((n,...r)=>e.call(vo(t,n),...r)),callEvent:((n,...r)=>e.callEvent(vo(t,n),...r)),callOptional:((n,...r)=>e.callOptional(vo(t,n),...r)),sharedState:((n,r)=>e.sharedState.get(vo(t,n),r)),streaming:{subscribe:(n,r,i)=>e.streaming.subscribe(vo(t,n),r,i),upload:(n,r)=>e.streaming.upload(vo(t,n),r)}},settings:xo(e,t),scope:e.scope}}var Co=128;function wo(e){return e.replace(/[^\w-]+/g,`_`).slice(0,Co)}var To=Object.freeze({type:`object`,additionalProperties:!0});function Eo(e){let t=e[`~standard`];if(t.jsonSchema)try{return t.jsonSchema.input({target:`draft-2020-12`})}catch{return To}return To}function Do(e){if(!e||e.length===0)return{type:`object`,properties:{}};let t={},n=[];for(let r=0;r<e.length;r++){let i=`arg${r}`;t[i]=Eo(e[r]),n.push(i)}return{type:`object`,properties:t,required:n,additionalProperties:!1}}function Oo(e,t,n=`wrap`){if(Array.isArray(e))return e;if(e==null)return[];if(typeof e==`object`){let n=e;if(t&&t.length)return t.map((e,t)=>n[`arg${t}`]);if(`arg0`in n){let e=[],t=0;for(;`arg${t}`in n;)e.push(n[`arg${t}`]),t++;return e}if(Object.keys(n).length===0)return[]}return n===`drop`?[]:[e]}function ko(){if(typeof document<`u`){let e=document.modelContext;if(e)return e}if(typeof navigator<`u`){let e=navigator.modelContext;if(e)return e}}function Ao(e,t={}){let n=t.modelContext??ko();if(!n)return()=>{};let r=n,i=new Map,a=new Map;function o(t,n){let o=wo(t.name),s=a.get(o);if(s&&s!==t.name){console.warn(`[devframe] WebMCP tool name "${o}" (from "${t.name}") collides with "${s}"; keeping the first registration.`);return}let c=new AbortController,l=r.registerTool({name:o,description:n.description,inputSchema:Do(t.args),annotations:{title:n.title??t.name,readOnlyHint:jo(t,n)===`read`,destructiveHint:jo(t,n)===`destructive`},execute:n=>Mo(t,e.context,n)},{signal:c.signal});l&&`then`in l&&l.then(()=>{},()=>{}),a.set(o,t.name),i.set(t.name,()=>{c.abort(),l&&`unregister`in l&&typeof l.unregister==`function`&&l.unregister(),a.delete(o)})}function s(t){let n=t?[t]:[...e.definitions.keys()];for(let t of n){i.get(t)?.(),i.delete(t);let n=e.definitions.get(t),r=n?.agent;n&&r&&o(n,r)}}s();let c=e.onChanged(e=>s(e));return()=>{c();for(let e of i.values())e();i.clear()}}function jo(e,t){if(t.safety)return t.safety;let n=e.type??`query`;return n===`static`||n===`query`?`read`:`action`}async function Mo(e,t,n){try{let r=Oo(n,e.args,`wrap`);return{content:[{type:`text`,text:No(await(await Mi(e,t))(...r))}]}}catch(e){return{isError:!0,content:[{type:`text`,text:Po(e)}]}}}function No(e){return e===void 0?`undefined`:typeof e==`string`?e:JSON.stringify(e,null,2)}function Po(e){if(!(e instanceof Error))return String(e);let t=e.cause instanceof Error?` (cause: ${e.cause.message})`:``;return`${e.name}: ${e.message}${t}`}function Fo(e,t){if(t.backend===`static`)return`static`;let n=t.websocket!==void 0,r=t.sse!==void 0;if(e===`websocket`){if(!n)throw Error(`[devframe] transport: 'websocket' was requested, but this server does not advertise a WebSocket endpoint`);return`websocket`}if(e===`sse`){if(!r)throw Error(`[devframe] transport: 'sse' was requested, but this server does not advertise an SSE endpoint`);return`sse`}if(t.backend===`sse`&&r)return`sse`;if(n)return`websocket`;if(r)return`sse`;throw Error(`[devframe] This server advertises no RPC transport (backend "none"), so there is nothing to connect to. Enable the WebSocket or SSE endpoint on the server, or use its static/MCP surfaces instead.`)}async function Io(e={}){let{baseURL:t=`./`,rpcOptions:n={},cacheOptions:r=!1}=e,i=Mn(),a=Array.isArray(t)?t:[t],o=await ua(e),{connectionMeta:s,metaBaseUrl:c,authToken:l}=o,u=a[0]??`./`;try{u=new URL(`.`,c).href}catch{}let d=new Ei({functions:[],...typeof e.cacheOptions==`object`?e.cacheOptions:{}}),f={rpc:void 0},p=new Ni(f),m=e.webmcp===!1?void 0:Ao(p);async function h(e){let t=[u,...a.filter(e=>e!==u)].filter(e=>e!=null),n=[];for(let r of t)try{return await fetch(Ji(e,r)).then(t=>{if(!t.ok)throw Error(`Failed to fetch ${e} from ${r}: ${t.status}`);return t.json()})}catch(e){n.push(e)}throw Error(`Failed to load ${e} from ${t.join(`, `)}`,{cause:n})}let g={authToken:l,connectionMeta:s,metaBaseUrl:c,events:i,clientRpc:p,callTimeout:e.callTimeout,rpcOptions:{...n,async onRequest(e,t,i){if(await n.onRequest?.call(this,e,t,i),r&&d?.validate(e.m)){if(d.has(e.m,e.a))return i(d.cached(e.m,e.a));let n=await t(e);d.apply(e,n)}else await t(e)}}},_=Fo(e.transport??`auto`,s),v=_===`static`?await no({fetchJsonFromBases:h}):_===`sse`?Ka({...g,sseOptions:e.sseOptions}):go({...g,wsOptions:e.wsOptions}),y;try{y=new BroadcastChannel(`devframe-auth`)}catch{}let b,x=!1;function S(e){return((...t)=>x||!b?e(...t):b.then(()=>e(...t)))}let C={events:i,get isTrusted(){return v.isTrusted},get status(){return v.status},get connectionError(){return v.connectionError},get transport(){return v.transport??_},get connection(){return o},connectionMeta:s,ensureTrusted:v.ensureTrusted,requestTrust:v.requestTrust,requestTrustWithToken:async e=>(oa(e),o={...o,authToken:e},v.requestTrustWithToken(e)),requestTrustWithCode:async e=>{let t=await v.requestTrustWithCode(e);if(!t)return!1;oa(t),o={...o,authToken:t};try{y?.postMessage({type:`auth-update`,authToken:t})}catch{}return!0},requestAuthCode:e=>v.requestAuthCode(e),call:S(v.call),callEvent:S(v.callEvent),callOptional:S(v.callOptional),client:p,sharedState:void 0,services:void 0,streaming:void 0,cacheManager:d,scope:void 0,close:()=>{m?.(),v.close?.()}};C.sharedState=ga(C),C.streaming=uo(C),C.services=ha(C);let w=new Map;C.scope=(e=>{if(!e)return C;let t=w.get(e);return t||(t=So(C,e),w.set(e,t)),t}),f.rpc=C;function T(){try{return typeof window<`u`&&window.self===window.top}catch{return!1}}async function E(){if(!(e.simpleAuth===!1||!T())&&typeof globalThis.prompt==`function`)for(await C.requestAuthCode().catch(()=>{});!C.isTrusted;){let e=globalThis.prompt(`devframe: enter the authentication code shown in your terminal`);if(e==null)return;let t=e.trim();if(t&&await C.requestTrustWithCode(t))return}}async function ee(){let t=await v.requestTrust(),n=e.otpParam??`devframe_otp`,r=n?await ma(C,{param:n}):!1;t||r||C.isTrusted||await E()}return b=ee().then(()=>{x=!0},()=>{x=!0}),y&&(y.onmessage=e=>{e.data?.type===`auth-update`&&e.data.authToken&&C.requestTrustWithToken(e.data.authToken)}),C}var Lo=Io;function Ro(){let[e,t]=v(null),[n,r]=v(null),[i,a]=v(null),[o,s]=v(null);return Lo().then(async e=>{t(e.connectionMeta.backend),r(e.status),e.events.on(`connection:status`,e=>r(e));try{await e.ensureTrusted(2e3)}catch{}let n=e.callOptional,i=await n(`devframes:plugin:a11y:get-config`);i&&a(i);try{let t=await e.sharedState.get(He,{initialValue:{activation:null}}),n=e=>{e?.activation&&s({...e.activation})};n(t.value()),t.on(`updated`,n)}catch{}}).catch(()=>{r(`error`)}),{backend:e,status:n,config:i,activation:o}}var zo=N(`<div class="flex flex-col h-full min-h-0 bg-base color-base font-sans"><p class=sr-only aria-live=polite></p><div id=a11y-scroll class="a11y-scroll flex-1 min-h-0 overflow-y-auto px-4 pb-5">`),Bo=`<script type="module" src="…/inject.js"><\/script>`,Vo=`devframes:plugin:a11y:autoscan`,Ho=(e,t)=>`${e}::${t}`;function Uo(e,t){return{nodeId:t.id,target:t.target,impact:e.impact,ruleId:e.ruleId}}function Wo(){let e=ai(),t=Ro(),[n,r]=v(null),[i,a]=v(!0),[o,s]=v(new Set),[c,l]=v(new Set),[u,d]=v(new Set),[f,p]=v(!1),[m,h]=v(null),g=(()=>{try{return sessionStorage.getItem(Vo)}catch{return null}})(),[_,y]=v(g==null||g===`1`),C=()=>e.state()?.routes??[],T=()=>e.activeRoute(),E=x(()=>C().find(e=>e.route===T())??null),ee=()=>e.state()?.engine,D=e=>i()||!e.bestPractice,te=e=>n()===null||e.impact===n(),ne=x(()=>{let e=We();for(let t of C())for(let n of t.violations)D(n)&&(e[n.impact]+=n.nodes.length);return e}),O=x(()=>C().reduce((e,t)=>e+t.violations.filter(D).reduce((e,t)=>e+t.nodes.length,0),0)),re=x(()=>C().reduce((e,t)=>e+t.violations.filter(D).length,0)),ie=x(()=>{let e=C().map(e=>({report:e,active:e.route===T(),violations:e.violations.filter(e=>D(e)&&te(e))})).filter(e=>e.violations.length>0);return e.sort((e,t)=>Number(t.active)-Number(e.active)),e}),ae=x(()=>ie().reduce((e,t)=>e+t.violations.length,0)),oe=x(()=>C().reduce((e,t)=>e+t.violations.filter(D).length,0)),se=x(()=>{let e=new Set;for(let t of C())o().has(t.route)||e.add(t.route);return e}),ce=x(()=>{let e=u(),t=[];for(let n of C())for(let r of n.violations)if(e.has(Ho(n.route,r.ruleId)))for(let e of r.nodes)t.push(Uo(r,e));return t}),k=e=>{let t=[];for(let n of C())for(let r of n.violations)if(D(r)&&r.impact===e)for(let e of r.nodes)t.push(Uo(r,e));return t},le=x(()=>{let e=u(),t=[];for(let n of C())for(let r of n.violations)e.has(Ho(n.route,r.ruleId))&&t.push({route:n.route,url:n.url,violation:r});return t}),ue=x(()=>ie().flatMap(e=>e.violations.map(t=>Ho(e.report.route,t.ruleId)))),de=x(()=>{let e=ue();return e.length>0&&e.every(e=>u().has(e))});function fe(){let e=ue();e.length!==0&&d(t=>{let n=new Set(t);for(let t of e)n.add(t);return n})}function pe(){let e=ue();e.length!==0&&d(t=>{let n=new Set(t);for(let t of e)n.has(t)?n.delete(t):n.add(t);return n})}function A(){d(new Set)}let me={isSelected:(e,t)=>u().has(Ho(e,t)),toggle:(e,t)=>{let n=Ho(e,t);d(e=>{let t=new Set(e);return t.has(n)?t.delete(n):t.add(n),t})},numberOf:e=>{let t=ce().findIndex(t=>t.nodeId===e);return t===-1?null:t+1}},he=!1;b(()=>{let n=t.config();n&&(e.sendConfig(n.pageScript),!he&&g==null&&(he=!0,y(n.pageScript.autoScan)))}),b(w(_,t=>{e.setAutoScan(t);try{sessionStorage.setItem(Vo,t?`1`:`0`)}catch{}})),b(()=>{let e=T();e&&s(t=>t.has(e)?t:new Set(t).add(e))}),b(()=>{let t=m();e.setPins(t?k(t):ce())});let ge=new Set;b(()=>{let e=t.config(),n=E();!e?.defaultHighlight||!n||ge.has(n.route)||(ge.add(n.route),d(e=>{let t=new Set(e);for(let e of n.violations)t.add(Ho(n.route,e.ruleId));return t}))}),b(w(t.activation,e=>{if(!e)return;let n=t.config();if(n&&e.dockId!==n.dockId)return;let r=e.params??{},i=typeof r.route==`string`?r.route:void 0,a=typeof r.ruleId==`string`?r.ruleId:void 0;if(r.tab===`dashboard`||!i){document.querySelector(`#a11y-scroll`)?.scrollTo({top:0,behavior:`smooth`});return}S(()=>{s(e=>new Set(e).add(i)),a&&(l(e=>new Set(e).add(`${i}::${a}`)),d(e=>new Set(e).add(Ho(i,a))))}),a&&setTimeout(()=>document.getElementById(Ct(i,a))?.scrollIntoView({block:`center`,behavior:`smooth`}),60)},{defer:!0}));function _e(e){r(t=>t===e?null:e)}function ve(e){s(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}function ye(e,t){let n=`${e}::${t}`;l(e=>{let t=new Set(e);return t.has(n)?t.delete(n):t.add(n),t})}let be=()=>e.state()?`${O()} accessibility ${O()===1?`issue`:`issues`} found across ${C().length} ${C().length===1?`route`:`routes`}`:e.scanning()?`Scanning the page`:``;return(()=>{var r=zo(),o=r.firstChild,s=o.nextSibling;return I(r,j(st,{get pageScriptReady(){return e.pageScriptReady()},get scanning(){return e.scanning()},get selectedCount(){return le().length},onGenerate:()=>p(!0),get onRescan(){return e.rescan}}),o),I(r,j(ft,{get url(){return E()?.url},get engine(){return ee()},get backend(){return t.backend},get status(){return t.status}}),o),I(o,be),I(s,j(we,{get children(){return[j(Te,{get when(){return Ee(()=>!e.state())()&&!e.pageScriptReady()},get children(){return j(qe,{icon:`i-ph-plugs-duotone text-4xl`,title:`No page connected`,body:`Load the inspector page script in the app you want to check, then this panel will list its accessibility issues live.`,code:Bo})}}),j(Te,{get when(){return!e.state()},get children(){return j(qe,{icon:`i-ph-plugs-duotone text-4xl`,title:`Scanning the page…`,body:`Running axe-core against the connected document.`})}}),j(Te,{get when(){return oe()===0},get children(){return j(qe,{clean:!0,icon:`i-ph-check-circle-duotone text-4xl`,title:`No violations`,body:`axe-core found nothing to flag across the tracked routes. Re-run after changes to keep it that way.`})}}),j(Te,{get when(){return oe()>0},get children(){return[j(St,{get counts(){return ne()},get filter(){return n()},onToggleFilter:_e,onHoverImpact:h,get totalNodes(){return O()},get totalRules(){return re()},get routeCount(){return C().length},get selectedCount(){return le().length},get allSelected(){return de()},onSelectAll:fe,onInvertSelection:pe,onClearSelection:A,get autoScan(){return _()},onToggleAutoScan:y,get showBestPractice(){return i()},onToggleBestPractice:a,get onClearAll(){return e.clearAll}}),j(M,{get when(){return ae()>0},get fallback(){return j(qe,{clean:!0,icon:`i-ph-check-circle-duotone text-4xl`,title:`Nothing matches the filter`,get body(){return[Ee(oe),` `,Ee(()=>oe()===1?`rule`:`rules`),` at other severities. Clear the filter to see them.`]}})},get children(){return j(Rt,{get groups(){return ie()},get collapsedRoutes(){return se()},onToggleGroup:ve,get onClearRoute(){return e.clearRoute},get expandedRules(){return c()},onToggleRule:ye,channel:e,selection:me})}})]}})]}})),I(r,j(M,{get when(){return Ee(()=>!!f())()&&le().length>0},get children(){return j(it,{get items(){return le()},onClose:()=>p(!1)})}}),null),r})()}var Go=window.matchMedia(`(prefers-color-scheme: dark)`);function Ko(e){document.documentElement.classList.toggle(`dark`,e),document.documentElement.classList.toggle(`light`,!e)}Ko(Go.matches),Go.addEventListener(`change`,e=>Ko(e.matches));var qo=document.getElementById(`app`);if(!qo)throw Error(`#app mount node missing from index.html`);ke(()=>j(Wo,{}),qo);
package/dist/index.html CHANGED
@@ -5,8 +5,8 @@
5
5
  <meta name="viewport" content="width=device-width,initial-scale=1" />
6
6
  <base href="./" />
7
7
  <title>A11y Inspector</title>
8
- <script type="module" crossorigin src="./assets/index-DATqTFxh.js"></script>
9
- <link rel="stylesheet" crossorigin href="./assets/index-BXhK3wTS.css">
8
+ <script type="module" crossorigin src="./assets/index-MxPCZa8h.js"></script>
9
+ <link rel="stylesheet" crossorigin href="./assets/index-BxpzpYn5.css">
10
10
  </head>
11
11
  <body>
12
12
  <div id="app"></div>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@devframes/plugin-a11y--assets",
3
3
  "type": "module",
4
- "version": "0.9.15",
4
+ "version": "0.9.17",
5
5
  "description": "Prebuilt browser assets (SPA) for @devframes/plugin-a11y, served on demand through devframe's remote-assets back-proxy.",
6
6
  "author": "Anthony Fu <anthonyfu117@hotmail.com>",
7
7
  "license": "MIT",
@@ -1,4 +0,0 @@
1
- (function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var e={context:void 0,registry:void 0,effects:void 0,done:!1,getContextId(){return t(this.context.count)},getNextContextId(){return t(this.context.count++)}};function t(t){let n=String(t),r=n.length-1;return e.context.id+(r?String.fromCharCode(96+r):``)+n}function n(t){e.context=t}var r=(e,t)=>e===t,i=Symbol(`solid-track`),a={equals:r},o=null,s=ue,c=1,l=2,u={owned:null,cleanups:null,context:null,owner:null},d=null,f=null,p=null,m=null,h=null,g=0;function _(e,t){let n=p,r=d,i=e.length===0,a=t===void 0?r:t,o=i?u:{owned:null,cleanups:null,context:a?a.context:null,owner:a},s=i?e:()=>e(()=>C(()=>A(o)));d=o,p=null;try{return k(s,!0)}finally{p=n,d=r}}function v(e,t){t=t?Object.assign({},a,t):a;let n={value:e,observers:null,observerSlots:null,comparator:t.equals||void 0};return[re.bind(n),e=>(typeof e==`function`&&(e=f&&f.running&&f.sources.has(n)?e(n.tValue):e(n.value)),ie(n,e))]}function y(e,t,n){ae(se(e,t,!1,c))}function b(e,t,n){s=de;let r=se(e,t,!1,c),i=O&&te(O);i&&(r.suspense=i),(!n||!n.render)&&(r.user=!0),h?h.push(r):ae(r)}function x(e,t,n){n=n?Object.assign({},a,n):a;let r=se(e,t,!0,0);return r.observers=null,r.observerSlots=null,r.comparator=n.equals||void 0,ae(r),re.bind(r)}function S(e){return k(e,!1)}function C(e){if(p===null)return e();let t=p;p=null;try{return e()}finally{p=t}}function w(e,t,n){let r=Array.isArray(e),i,a=n&&n.defer;return n=>{let o;if(r){o=Array(e.length);for(let t=0;t<e.length;t++)o[t]=e[t]()}else o=e();if(a)return a=!1,n;let s=C(()=>t(o,i,n));return i=o,s}}function T(e){b(()=>C(e))}function E(e){return d===null||(d.cleanups===null?d.cleanups=[e]:d.cleanups.push(e)),e}var[ee,D]=v(!1);function te(e){let t;return d&&d.context&&(t=d.context[e.id])!==void 0?t:e.defaultValue}function ne(e){let t=x(e),n=x(()=>ve(t()));return n.toArray=()=>{let e=n();return Array.isArray(e)?e:e==null?[]:[e]},n}var O;function re(){let e=f&&f.running;if(this.sources&&(e?this.tState:this.state)){if((e?this.tState:this.state)===c)ae(this);else{let e=m;m=null,k(()=>fe(this),!1),m=e}}if(p){let e=this.observers;if(!e||e[e.length-1]!==p){let t=e?e.length:0;p.sources?(p.sources.push(this),p.sourceSlots.push(t)):(p.sources=[this],p.sourceSlots=[t]),e?(e.push(p),this.observerSlots.push(p.sources.length-1)):(this.observers=[p],this.observerSlots=[p.sources.length-1])}}return e&&f.sources.has(this)?this.tValue:this.value}function ie(e,t,n){let r=f&&f.running&&f.sources.has(e)?e.tValue:e.value;if(!e.comparator||!e.comparator(r,t)){if(f){let r=f.running;(r||!n&&f.sources.has(e))&&(f.sources.add(e),e.tValue=t),r||(e.value=t)}else e.value=t;e.observers&&e.observers.length&&k(()=>{for(let t=0;t<e.observers.length;t+=1){let n=e.observers[t],r=f&&f.running;r&&f.disposed.has(n)||((r?!n.tState:!n.state)&&(n.pure?m.push(n):h.push(n),n.observers&&pe(n)),r?n.tState=c:n.state=c)}if(m.length>1e6)throw m=[],Error()},!1)}return t}function ae(e){if(!e.fn)return;A(e);let t=g;oe(e,f&&f.running&&f.sources.has(e)?e.tValue:e.value,t),f&&!f.running&&f.sources.has(e)&&queueMicrotask(()=>{k(()=>{f&&(f.running=!0),p=d=e,oe(e,e.tValue,t),p=d=null},!1)})}function oe(e,t,n){let r,i=d,a=p;p=d=e;try{r=e.fn(t)}catch(t){return e.pure&&(f&&f.running?(e.tState=c,e.tOwned&&e.tOwned.forEach(A),e.tOwned=void 0):(e.state=c,e.owned&&e.owned.forEach(A),e.owned=null)),e.updatedAt=n+1,_e(t)}finally{p=a,d=i}(!e.updatedAt||e.updatedAt<=n)&&(e.updatedAt!=null&&`observers`in e?ie(e,r,!0):f&&f.running&&e.pure?(f.sources.has(e)||(e.value=r),f.sources.add(e),e.tValue=r):e.value=r,e.updatedAt=n)}function se(e,t,n,r=c,i){let a={fn:e,state:r,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:t,owner:d,context:d?d.context:null,pure:n};return f&&f.running&&(a.state=0,a.tState=r),d===null||d!==u&&(f&&f.running&&d.pure?d.tOwned?d.tOwned.push(a):d.tOwned=[a]:d.owned?d.owned.push(a):d.owned=[a]),a}function ce(e){let t=f&&f.running;if((t?e.tState:e.state)===0)return;if((t?e.tState:e.state)===l)return fe(e);if(e.suspense&&C(e.suspense.inFallback))return e.suspense.effects.push(e);let n=[e];for(;(e=e.owner)&&(!e.updatedAt||e.updatedAt<g);){if(t&&f.disposed.has(e))return;(t?e.tState:e.state)&&n.push(e)}for(let r=n.length-1;r>=0;r--){if(e=n[r],t){let t=e,i=n[r+1];for(;(t=t.owner)&&t!==i;)if(f.disposed.has(t))return}if((t?e.tState:e.state)===c)ae(e);else if((t?e.tState:e.state)===l){let t=m;m=null,k(()=>fe(e,n[0]),!1),m=t}}}function k(e,t){if(m)return e();let n=!1;t||(m=[]),h?n=!0:h=[],g++;try{let t=e();return le(n),t}catch(e){n||(h=null),m=null,_e(e)}}function le(e){if(m&&=(ue(m),null),e)return;let t;if(f){if(!f.promises.size&&!f.queue.size){let e=f.sources,n=f.disposed;h.push.apply(h,f.effects),t=f.resolve;for(let e of h)`tState`in e&&(e.state=e.tState),delete e.tState;f=null,k(()=>{for(let e of n)A(e);for(let t of e){if(t.value=t.tValue,t.owned)for(let e=0,n=t.owned.length;e<n;e++)A(t.owned[e]);t.tOwned&&(t.owned=t.tOwned),delete t.tValue,delete t.tOwned,t.tState=0}D(!1)},!1)}else if(f.running){f.running=!1,f.effects.push.apply(f.effects,h),h=null,D(!0);return}}let n=h;h=null,n.length&&k(()=>s(n),!1),t&&t()}function ue(e){for(let t=0;t<e.length;t++)ce(e[t])}function de(t){let r,i=0;for(r=0;r<t.length;r++){let e=t[r];e.user?t[i++]=e:ce(e)}if(e.context){if(e.count){e.effects||=[],e.effects.push(...t.slice(0,i));return}n()}for(e.effects&&(e.done||!e.count)&&(t=[...e.effects,...t],i+=e.effects.length,delete e.effects),r=0;r<i;r++)ce(t[r])}function fe(e,t){let n=f&&f.running;n?e.tState=0:e.state=0;for(let r=0;r<e.sources.length;r+=1){let i=e.sources[r];if(i.sources){let e=n?i.tState:i.state;e===c?i!==t&&(!i.updatedAt||i.updatedAt<g)&&ce(i):e===l&&fe(i,t)}}}function pe(e){let t=f&&f.running;for(let n=0;n<e.observers.length;n+=1){let r=e.observers[n];(t?!r.tState:!r.state)&&(t?r.tState=l:r.state=l,r.pure?m.push(r):h.push(r),r.observers&&pe(r))}}function A(e){let t;if(e.sources)for(;e.sources.length;){let t=e.sources.pop(),n=e.sourceSlots.pop(),r=t.observers;if(r&&r.length){let e=r.pop(),i=t.observerSlots.pop();n<r.length&&(e.sourceSlots[i]=n,r[n]=e,t.observerSlots[n]=i)}}if(e.tOwned){for(t=e.tOwned.length-1;t>=0;t--)A(e.tOwned[t]);delete e.tOwned}if(f&&f.running&&e.pure)me(e,!0);else if(e.owned){for(t=e.owned.length-1;t>=0;t--)A(e.owned[t]);e.owned=null}if(e.cleanups){for(t=e.cleanups.length-1;t>=0;t--)e.cleanups[t]();e.cleanups=null}f&&f.running?e.tState=0:e.state=0}function me(e,t){if(t||(e.tState=0,f.disposed.add(e)),e.owned)for(let t=0;t<e.owned.length;t++)me(e.owned[t])}function he(e){return e instanceof Error?e:Error(typeof e==`string`?e:`Unknown error`,{cause:e})}function ge(e,t,n){try{for(let n of t)n(e)}catch(e){_e(e,n&&n.owner||null)}}function _e(e,t=d){let n=o&&t&&t.context&&t.context[o],r=he(e);if(!n)throw r;h?h.push({fn(){ge(r,n,t)},state:c}):ge(r,n,t)}function ve(e){if(typeof e==`function`&&!e.length)return ve(e());if(Array.isArray(e)){let t=[];for(let n=0;n<e.length;n++){let r=ve(e[n]);if(Array.isArray(r)){if(r.length<32768)t.push.apply(t,r);else for(let e=0;e<r.length;e++)t.push(r[e])}else t.push(r)}return t}return e}var ye=Symbol(`fallback`);function be(e){for(let t=0;t<e.length;t++)e[t]()}function xe(e,t,n={}){let r=[],a=[],o=[],s=0,c=t.length>1?[]:null;return E(()=>be(o)),()=>{let l=e()||[],u=l.length,d,f;return l[i],C(()=>{let e,t,i,m,h,g,v,y,b;if(u===0)s!==0&&(be(o),o=[],r=[],a=[],s=0,c&&=[]),n.fallback&&(r=[ye],a[0]=_(e=>(o[0]=e,n.fallback())),s=1);else if(s===0){for(a=Array(u),f=0;f<u;f++)r[f]=l[f],a[f]=_(p);s=u}else{for(i=Array(u),m=Array(u),c&&(h=Array(u)),g=0,v=Math.min(s,u);g<v&&r[g]===l[g];g++);for(v=s-1,y=u-1;v>=g&&y>=g&&r[v]===l[y];v--,y--)i[y]=a[v],m[y]=o[v],c&&(h[y]=c[v]);for(e=new Map,t=Array(y+1),f=y;f>=g;f--)b=l[f],d=e.get(b),t[f]=d===void 0?-1:d,e.set(b,f);for(d=g;d<=v;d++)b=r[d],f=e.get(b),f!==void 0&&f!==-1?(i[f]=a[d],m[f]=o[d],c&&(h[f]=c[d]),f=t[f],e.set(b,f)):o[d]();for(f=g;f<u;f++)f in i?(a[f]=i[f],o[f]=m[f],c&&(c[f]=h[f],c[f](f))):a[f]=_(p);a=a.slice(0,s=u),r=l.slice(0)}return a});function p(e){if(o[f]=e,c){let[e,n]=v(f);return c[f]=n,t(l[f],e)}return t(l[f])}}}function j(e,t){return C(()=>e(t||{}))}var Se=e=>`Stale read from <${e}>.`;function Ce(e){let t=`fallback`in e&&{fallback:()=>e.fallback};return x(xe(()=>e.each,e.children,t||void 0))}function M(e){let t=e.keyed,n=x(()=>e.when,void 0,void 0),r=t?n:x(n,void 0,{equals:(e,t)=>!e==!t});return x(()=>{let i=r();if(i){let a=e.children;return typeof a==`function`&&a.length>0?C(()=>a(t?i:()=>{if(!C(r))throw Se(`Show`);return n()})):a}return e.fallback},void 0,void 0)}function we(e){let t=ne(()=>e.children),n=x(()=>{let e=t(),n=Array.isArray(e)?e:[e],r=()=>void 0;for(let e=0;e<n.length;e++){let t=e,i=n[e],a=r,o=x(()=>a()?void 0:i.when,void 0,void 0),s=i.keyed?o:x(o,void 0,{equals:(e,t)=>!e==!t});r=()=>a()||(s()?[t,o,i]:void 0)}return r});return x(()=>{let t=n()();if(!t)return e.fallback;let[r,i,a]=t,o=a.children;return typeof o==`function`&&o.length>0?C(()=>o(a.keyed?i():()=>{if(C(n)()?.[0]!==r)throw Se(`Match`);return i()})):o},void 0,void 0)}function Te(e){return e}var Ee=e=>x(()=>e());function De(e,t,n){let r=n.length,i=t.length,a=r,o=0,s=0,c=t[i-1].nextSibling,l=null;for(;o<i||s<a;){if(t[o]===n[s]){o++,s++;continue}for(;t[i-1]===n[a-1];)i--,a--;if(i===o){let t=a<r?s?n[s-1].nextSibling:n[a-s]:c;for(;s<a;)e.insertBefore(n[s++],t)}else if(a===s)for(;o<i;)(!l||!l.has(t[o]))&&t[o].remove(),o++;else if(t[o]===n[a-1]&&n[s]===t[i-1]){let r=t[--i].nextSibling;e.insertBefore(n[s++],t[o++].nextSibling),e.insertBefore(n[--a],r),t[i]=n[a]}else{if(!l){l=new Map;let e=s;for(;e<a;)l.set(n[e],e++)}let r=l.get(t[o]);if(r!=null){if(s<r&&r<a){let c=o,u=1,d;for(;++c<i&&c<a&&(d=l.get(t[c]))!=null&&d===r+u;)u++;if(u>r-s){let i=t[o];for(;s<r;)e.insertBefore(n[s++],i)}else e.replaceChild(n[s++],t[o++])}else o++}else t[o++].remove()}}}var Oe=`_$DX_DELEGATE`;function ke(e,t,n,r={}){let i;return _(r=>{i=r,t===document?e():I(t,e(),t.firstChild?null:void 0,n)},r.owner),()=>{i(),t.textContent=``}}function N(e,t,n,r){let i,a=()=>{let t=r?document.createElementNS(`http://www.w3.org/1998/Math/MathML`,`template`):document.createElement(`template`);return t.innerHTML=e,n?t.content.firstChild.firstChild:r?t.firstChild:t.content.firstChild},o=t?()=>C(()=>document.importNode(i||=a(),!0)):()=>(i||=a()).cloneNode(!0);return o.cloneNode=o,o}function Ae(e,t=window.document){let n=t[Oe]||(t[Oe]=new Set);for(let r=0,i=e.length;r<i;r++){let i=e[r];n.has(i)||(n.add(i),t.addEventListener(i,Ie))}}function P(e,t,n){Pe(e)||(n==null?e.removeAttribute(t):e.setAttribute(t,n))}function F(e,t){Pe(e)||(t==null?e.removeAttribute(`class`):e.className=t)}function je(e,t,n={}){let r=Object.keys(t||{}),i=Object.keys(n),a,o;for(a=0,o=i.length;a<o;a++){let r=i[a];!r||r===`undefined`||t[r]||(Fe(e,r,!1),delete n[r])}for(a=0,o=r.length;a<o;a++){let i=r[a],o=!!t[i];!i||i===`undefined`||n[i]===o||!o||(Fe(e,i,!0),n[i]=o)}return n}function Me(e,t,n){n==null?e.style.removeProperty(t):e.style.setProperty(t,n)}function Ne(e,t,n){return C(()=>e(t,n))}function I(e,t,n,r){if(n!==void 0&&!r&&(r=[]),typeof t!=`function`)return Le(e,t,r,n);y(r=>Le(e,t(),r,n),r)}function Pe(t){return!!e.context&&!e.done&&(!t||t.isConnected)}function Fe(e,t,n){let r=t.trim().split(/\s+/);for(let t=0,i=r.length;t<i;t++)e.classList.toggle(r[t],n)}function Ie(t){if(e.registry&&e.events&&e.events.find(([e,n])=>n===t))return;let n=t.target,r=`$$${t.type}`,i=t.target,a=t.currentTarget,o=e=>Object.defineProperty(t,"target",{configurable:!0,value:e}),s=()=>{let e=n[r];if(e&&!n.disabled){let i=n[`${r}Data`];if(i===void 0?e.call(n,t):e.call(n,i,t),t.cancelBubble)return}return n.host&&typeof n.host!=`string`&&!n.host._$host&&n.contains(t.target)&&o(n.host),!0},c=()=>{for(;s()&&(n=n._$host||n.parentNode||n.host););};if(Object.defineProperty(t,"currentTarget",{configurable:!0,get(){return n||document}}),e.registry&&!e.done&&(e.done=_$HY.done=!0),t.composedPath){let e=t.composedPath();o(e[0]);for(let t=0;t<e.length-2&&(n=e[t],s());t++){if(n._$host){n=n._$host,c();break}if(n.parentNode===a)break}}else c();o(i)}function Le(e,t,n,r,i){let a=Pe(e);if(a){!n&&(n=[...e.childNodes]);let t=[];for(let e=0;e<n.length;e++){let r=n[e];r.nodeType===8&&r.data.slice(0,2)===`!$`?r.remove():t.push(r)}n=t}for(;typeof n==`function`;)n=n();if(t===n)return n;let o=typeof t,s=r!==void 0;if(e=s&&n[0]&&n[0].parentNode||e,o===`string`||o===`number`){if(a||o===`number`&&(t=t.toString(),t===n))return n;if(s){let i=n[0];i&&i.nodeType===3?i.data!==t&&(i.data=t):i=document.createTextNode(t),n=Be(e,n,r,i)}else n=n!==``&&typeof n==`string`?e.firstChild.data=t:e.textContent=t}else if(t==null||o===`boolean`){if(a)return n;n=Be(e,n,r)}else if(o===`function`)return y(()=>{let i=t();for(;typeof i==`function`;)i=i();n=Le(e,i,n,r)}),()=>n;else if(Array.isArray(t)){let o=[],c=n&&Array.isArray(n);if(Re(o,t,n,i))return y(()=>n=Le(e,o,n,r,!0)),()=>n;if(a){if(!o.length)return n;if(r===void 0)return n=[...e.childNodes];let t=o[0];if(t.parentNode!==e)return n;let i=[t];for(;(t=t.nextSibling)!==r;)i.push(t);return n=i}if(o.length===0){if(n=Be(e,n,r),s)return n}else c?n.length===0?ze(e,o,r):De(e,n,o):(n&&Be(e),ze(e,o));n=o}else if(t.nodeType){if(a&&t.parentNode)return n=s?[t]:t;if(Array.isArray(n)){if(s)return n=Be(e,n,r,t);Be(e,n,null,t)}else n==null||n===``||!e.firstChild?e.appendChild(t):e.replaceChild(t,e.firstChild);n=t}return n}function Re(e,t,n,r){let i=!1;for(let a=0,o=t.length;a<o;a++){let o=t[a],s=n&&n[e.length],c;if(o!=null&&o!==!0&&o!==!1){if((c=typeof o)==`object`&&o.nodeType)e.push(o);else if(Array.isArray(o))i=Re(e,o,s)||i;else if(c===`function`){if(r){for(;typeof o==`function`;)o=o();i=Re(e,Array.isArray(o)?o:[o],Array.isArray(s)?s:[s])||i}else e.push(o),i=!0}else{let t=String(o);s&&s.nodeType===3&&s.data===t?e.push(s):e.push(document.createTextNode(t))}}}return i}function ze(e,t,n=null){for(let r=0,i=t.length;r<i;r++)e.insertBefore(t[r],n)}function Be(e,t,n,r){if(n===void 0)return e.textContent=``;let i=r||document.createTextNode(``);if(t.length){let r=!1;for(let a=t.length-1;a>=0;a--){let o=t[a];if(i!==o){let t=o.parentNode===e;!r&&!a?t?e.replaceChild(i,o):e.insertBefore(i,n):t&&o.remove()}else r=!0}}else e.insertBefore(i,n);return[i]}var Ve=`devframes:plugin:a11y`,He=`devframe:docks:active`,Ue={critical:`#ff5c7a`,serious:`#ff9b52`,moderate:`#f2d14e`,minor:`#6fb1fc`};function We(){return{critical:0,serious:0,moderate:0,minor:0}}var Ge=N(`<code class="font-mono text-[11.5px] color-muted bg-secondary border border-base rounded-lg px-3 py-2.5 whitespace-pre-wrap break-all text-left max-w-full">`),Ke=N(`<div class="flex flex-col items-center justify-center gap-3 h-full p-8 text-center color-muted"><span aria-hidden></span><p class="text-[15px] font-semibold color-base"></p><p class="text-xs leading-relaxed max-w-[38ch]">`);function qe(e){return(()=>{var t=Ke(),n=t.firstChild,r=n.nextSibling,i=r.nextSibling;return I(r,()=>e.title),I(i,()=>e.body),I(t,j(M,{get when(){return e.code},get children(){var t=Ge();return I(t,()=>e.code),t}}),null),y(()=>F(n,`${e.icon} ${e.clean?`text-success`:`color-faint`}`)),t})()}function Je(...e){return e.filter(Boolean).join(` `)}function Ye({variant:e=`primary`,size:t=`md`,class:n}={}){let r={primary:`btn-primary`,secondary:`btn-action`,outline:`btn-action`,ghost:`inline-flex items-center justify-center gap-1.5 rounded px2 py1 op75 hover:op100 hover:bg-active transition disabled:pointer-events-none disabled:op30!`,destructive:`btn-action text-error border-error/30!`,link:`inline-flex items-center gap-1.5 color-active hover:underline underline-offset-2`},i=t===`sm`?e===`primary`?`text-sm px-2.5! py-1!`:`text-sm`:t===`lg`?`text-base px-4! py-2!`:``;return Je(r[e],i,n)}function Xe(e){return Je(`flex items-center gap-2 shrink-0 h-nav px-3 border-b border-base bg-base z-nav`,e)}function Ze(e){return Je(`flex items-center gap-1.5 shrink-0 font-semibold text-sm select-none`,e)}function Qe(e){let t=[`You are an accessibility engineer. Fix the following WCAG issues found by axe-core.`,`For each violation, change the markup and/or styles so the rule passes while preserving the design and behavior, and briefly explain each fix.`,``];for(let[n,r]of $e(e)){let e=r[0]?.url;t.push(`## Route: ${n}${e?` (${e})`:``}`);for(let{violation:e}of r)t.push(...et(e));t.push(``)}return t.join(`
2
- `).trimEnd()}function $e(e){let t=new Map;for(let n of e){let e=t.get(n.route)??[];e.push(n),t.set(n.route,e)}return t}function et(e){let t=[``,`### ${e.ruleId}: ${e.help}`,`- Impact: ${e.impact}${e.bestPractice?` (best practice)`:``}`];e.tags?.length&&t.push(`- WCAG: ${e.tags.join(`, `)}`),t.push(`- Docs: ${e.helpUrl}`),t.push(`- What it checks: ${e.description}`),t.push(`- Affected element${e.nodes.length===1?``:`s`} (${e.nodes.length}):`);for(let n of e.nodes)t.push(...tt(n));return t}function tt(e){let t=[` - selector: \`${e.target.join(` `)}\``," ```html",` ${e.html}`," ```"];return e.failureSummary&&t.push(` fix hint: ${e.failureSummary.replace(/\s*\n\s*/g,` `)}`),t}var nt=N(`<div class="fixed inset-0 z-modal-content flex items-center justify-center p-6 bg-black/55 backdrop-blur-sm"><div class="flex flex-col gap-3 w-[min(680px,100%)] max-h-full p-4 bg-secondary border border-base rounded-xl shadow-2xl"role=dialog aria-modal=true aria-labelledby=fix-prompts-title><div class="flex items-start gap-2.5"><div><h2 id=fix-prompts-title class="m-0 text-[15px] font-semibold color-base">Fix prompts</h2><p class="mt-0.5 text-xs color-muted"> <!> selected. Copy the prompt into your AI assistant.</p></div><button type=button class="ml-auto inline-flex p-1.5 rounded color-muted cursor-pointer transition hover:bg-active hover:color-base outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40"aria-label=Close><span aria-hidden class="i-ph-x shrink-0"></span></button></div><textarea class="flex-1 min-h-60 resize-none w-full p-3 bg-base border border-base rounded-lg font-mono text-[11.5px] leading-relaxed color-base ws-break-spaces overflow-auto outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40"readonly aria-label="Generated fix prompt"></textarea><div class="flex items-center gap-2.5"><span class="min-w-0 truncate text-[11px] color-faint"></span><span class=flex-1></span><button type=button><span aria-hidden>`),rt=N(`<code class=font-mono>`);function it(e){let t=x(()=>Qe(e.items)),n=()=>e.items.length,[r,i]=v(!1),a;function o(){navigator.clipboard?.writeText(t()).then(()=>{i(!0),setTimeout(i,1500,!1)})}function s(t){t.key===`Escape`&&e.onClose()}return T(()=>{addEventListener(`keydown`,s),a?.focus()}),E(()=>removeEventListener(`keydown`,s)),(()=>{var i=nt(),s=i.firstChild,c=s.firstChild,l=c.firstChild,u=l.firstChild.nextSibling,d=u.firstChild,f=d.nextSibling;f.nextSibling;var p=l.nextSibling,m=c.nextSibling,h=m.nextSibling.firstChild,g=h.nextSibling.nextSibling,_=g.firstChild;i.$$click=()=>e.onClose(),s.$$click=e=>e.stopPropagation(),I(u,n,d),I(u,()=>n()===1?`violation`:`violations`,f),p.$$click=()=>e.onClose();var v=a;return typeof v==`function`?Ne(v,p):a=p,I(m,t),I(h,j(Ce,{get each(){return e.items},children:(e,t)=>[j(M,{get when(){return t()>0},children:`, `}),(()=>{var t=rt();return I(t,()=>e.violation.ruleId),t})()]})),g.$$click=o,I(g,()=>r()?`Copied`:`Copy prompt`,null),y(e=>{var t=Ye({variant:`primary`,size:`sm`}),n=`shrink-0 ${r()?`i-ph-check`:`i-ph-copy`}`;return t!==e.e&&F(g,e.e=t),n!==e.t&&F(_,e.t=n),e},{e:void 0,t:void 0}),i})()}Ae([`click`]);var at=N(`<span class="inline-flex items-center justify-center min-w-4 h-4 px-1 rounded-full bg-active text-[10px] font-bold tabular-nums">`),ot=N(`<header><span><span aria-hidden class="i-ph-person-simple-circle-duotone text-base color-active"></span><span>A11y Inspector</span></span><span class=flex-1></span><span class="inline-flex items-center gap-1.5 text-xs color-muted select-none"><span></span></span><button type=button title="Generate AI fix prompts for the selected violations"><span aria-hidden class="i-ph-sparkle-duotone shrink-0"></span>Generate fix prompts</button><button type=button><span aria-hidden class="i-ph-arrows-clockwise shrink-0"></span>Rescan`);function st(e){let t=()=>e.pageScriptReady?e.scanning?`Scanning…`:`Connected`:`No page connected`,n=()=>e.pageScriptReady?e.scanning?`bg-primary-500 animate-pulse`:`bg-success`:`bg-neutral-400`;return(()=>{var r=ot(),i=r.firstChild,a=i.nextSibling.nextSibling,o=a.firstChild,s=a.nextSibling;s.firstChild.nextSibling;var c=s.nextSibling,l=c.firstChild;return I(a,t,null),s.$$click=()=>e.onGenerate(),I(s,j(M,{get when(){return e.selectedCount>0},get children(){var t=at();return I(t,()=>e.selectedCount),t}}),null),c.$$click=()=>e.onRescan(),y(t=>{var a=Xe(),u=Ze(),d=`size-2 rounded-full shrink-0 ${n()}`,f=Ye({variant:e.selectedCount===0?`secondary`:`primary`,size:`sm`}),p=e.selectedCount===0,m=Ye({variant:`secondary`,size:`sm`}),h=!e.pageScriptReady||e.scanning,g=!!e.scanning;return a!==t.e&&F(r,t.e=a),u!==t.t&&F(i,t.t=u),d!==t.a&&F(o,t.a=d),f!==t.o&&F(s,t.o=f),p!==t.i&&(s.disabled=t.i=p),m!==t.n&&F(c,t.n=m),h!==t.s&&(c.disabled=t.s=h),g!==t.h&&l.classList.toggle(`animate-spin`,t.h=g),t},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0}),r})()}Ae([`click`]);var ct=N(`<span class="shrink-0 px-1.5 py-px border border-base rounded">axe `),lt=N(`<div class="flex items-center gap-2 px-4 py-1.5 font-mono text-[11.5px] color-faint border-b border-base bg-base"><span class="flex-1 truncate color-muted">`),ut=N(`<span class="shrink-0 px-1.5 py-px border border-base rounded">`),dt=N(`<span class="shrink-0 px-1.5 py-px border border-amber-500/60 rounded text-amber-500 capitalize"title="devframe backend connection">`);function ft(e){let t=()=>{let t=e.status?.();return t===`disconnected`||t===`unauthorized`||t===`error`?t:null};return j(M,{get when(){return e.url},get children(){var n=lt(),r=n.firstChild;return I(r,()=>e.url),I(n,j(M,{get when(){return t()},get fallback(){return j(M,{get when(){return e.backend()},children:e=>(()=>{var t=ut();return I(t,e),t})()})},children:e=>(()=>{var t=dt();return I(t,e),t})()}),null),I(n,j(M,{get when(){return e.engine},get children(){var t=ct();return t.firstChild,I(t,()=>e.engine,null),t}}),null),y(()=>P(r,`title`,e.url)),n}})}var pt={critical:`Critical`,serious:`Serious`,moderate:`Moderate`,minor:`Minor`},mt=N(`<div class="grid grid-cols-4 gap-1.5">`),ht=N(`<button type=button class="flex items-baseline gap-1.5 px-3 py-2 text-left bg-secondary border border-base border-l-3 border-l-[color:var(--impact)] cursor-pointer transition hover:bg-active outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40"><span class="text-lg font-bold tabular-nums leading-none"></span><span class="text-xs font-semibold tracking-wide uppercase">`),gt=[`critical`,`serious`,`moderate`,`minor`];function _t(e){return(()=>{var t=mt();return I(t,j(Ce,{each:gt,children:t=>{let n=()=>e.counts[t],r=()=>e.active===t;return(()=>{var i=ht(),a=i.firstChild,o=a.nextSibling;return i.addEventListener(`blur`,()=>e.onHover?.(null)),i.addEventListener(`focus`,()=>e.onHover?.(t)),i.addEventListener(`mouseleave`,()=>e.onHover?.(null)),i.addEventListener(`mouseenter`,()=>e.onHover?.(t)),i.$$click=()=>e.onToggle(t),I(a,n),I(o,()=>pt[t]),y(e=>{var a={"bg-[color-mix(in_srgb,var(--impact)_16%,transparent)]! border-[color:var(--impact)]!":r(),"color-[var(--impact)]":n()>0,"color-muted":n()===0},o=Ue[t],s=r(),c=`${n()} ${pt[t]} issues: filter and highlight`;return e.e=je(i,a,e.e),o!==e.t&&Me(i,`--impact`,e.t=o),s!==e.a&&P(i,`aria-pressed`,e.a=s),c!==e.o&&P(i,`aria-label`,e.o=c),e},{e:void 0,t:void 0,a:void 0,o:void 0}),i})()}})),t})()}Ae([`click`]);var vt=N(`<label class="inline-flex items-center gap-2 cursor-pointer select-none"><span class="relative w-8 h-[18px] rounded-full bg-secondary border border-base transition has-[:checked]:bg-primary-500/40 has-[:checked]:border-primary-500 has-[:focus-visible]:ring-2 has-[:focus-visible]:ring-primary-500/40"><input type=checkbox class="peer absolute inset-0 m-0 opacity-0 cursor-pointer"><span class="absolute top-0.5 left-0.5 size-3 rounded-full bg-neutral-400 pointer-events-none transition peer-checked:translate-x-3.5 peer-checked:bg-primary-500"></span></span><span class="text-xs color-muted">`);function yt(e){return(()=>{var t=vt(),n=t.firstChild,r=n.firstChild,i=n.nextSibling;return r.addEventListener(`change`,t=>e.onChange(t.currentTarget.checked)),I(i,()=>e.label),y(()=>r.checked=e.checked),t})()}var bt=N(`<button type=button class="inline-flex items-center gap-1.5 text-xs color-muted bg-secondary border border-base rounded-md px-2.5 py-1 cursor-pointer transition hover:bg-active outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40 disabled:op-40 disabled:cursor-default"title="Clear the whole selection"><span aria-hidden class="i-ph-x shrink-0"></span>Clear selection<span class="inline-flex items-center justify-center min-w-4 h-4 px-1 rounded-full bg-active text-[10px] font-bold tabular-nums">`),xt=N(`<div class="flex flex-col gap-2 pt-3 pb-2.5 sticky top-0 z-nav bg-base"><div class="flex items-center gap-2 flex-wrap"><span class="text-[11.5px] color-muted tabular-nums"> · <!> · </span><button type=button class="inline-flex items-center gap-1.5 text-xs color-muted bg-secondary border border-base rounded-md px-2.5 py-1 cursor-pointer transition hover:bg-active outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40 disabled:op-40 disabled:cursor-default"title="Select all visible violations"><span aria-hidden class="i-ph-check-square-duotone shrink-0"></span>Select all</button><button type=button class="inline-flex items-center gap-1.5 text-xs color-muted bg-secondary border border-base rounded-md px-2.5 py-1 cursor-pointer transition hover:bg-active outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40 disabled:op-40 disabled:cursor-default"title="Invert the selection across the visible violations"><span aria-hidden class="i-ph-selection-inverse-duotone shrink-0"></span>Invert</button><span class=flex-1></span><button type=button class="inline-flex items-center gap-1.5 text-xs color-muted bg-secondary border border-base rounded-md px-2.5 py-1 cursor-pointer transition hover:text-error hover:border-error/50 disabled:op-40 disabled:cursor-default"title="Clear all tracked routes"><span aria-hidden class="i-ph-trash-duotone shrink-0"></span>Clear`);function St(e){let t=(e,t)=>`${e} ${e===1?t:`${t}s`}`;return(()=>{var n=xt(),r=n.firstChild,i=r.firstChild,a=i.firstChild,o=a.nextSibling;o.nextSibling;var s=i.nextSibling,c=s.nextSibling,l=c.nextSibling,u=l.nextSibling;return I(n,j(_t,{get counts(){return e.counts},get active(){return e.filter},get onToggle(){return e.onToggleFilter},get onHover(){return e.onHoverImpact}}),r),I(i,()=>t(e.totalNodes,`issue`),a),I(i,()=>t(e.totalRules,`rule`),o),I(i,()=>t(e.routeCount,`route`),null),s.$$click=()=>e.onSelectAll(),c.$$click=()=>e.onInvertSelection(),I(r,j(M,{get when(){return e.selectedCount>0},get children(){var t=bt(),n=t.firstChild.nextSibling.nextSibling;return t.$$click=()=>e.onClearSelection(),I(n,()=>e.selectedCount),t}}),l),I(r,j(yt,{label:`Best-practice`,get checked(){return e.showBestPractice},get onChange(){return e.onToggleBestPractice}}),u),I(r,j(yt,{label:`Auto-scan`,get checked(){return e.autoScan},get onChange(){return e.onToggleAutoScan}}),u),u.$$click=()=>e.onClearAll(),y(t=>{var n=e.allSelected,r=e.routeCount===0;return n!==t.e&&(s.disabled=t.e=n),r!==t.t&&(u.disabled=t.t=r),t},{e:void 0,t:void 0}),n})()}Ae([`click`]);function Ct(e,t){return`rule-${encodeURIComponent(e)}-${t}`}var wt=N(`<span class="text-[9.5px] font-bold tracking-wide uppercase color-muted border border-base rounded-full px-1.5"title="axe best-practice rule (not a WCAG success criterion)">best practice`),Tt=N(`<ul class="list-none m-0 flex flex-col gap-1 pl-3.5 pr-2.5 pb-2">`),Et=N(`<a class="self-start block ml-3.5 mb-2 text-[11px] color-faint no-underline hover:color-active hover:underline"target=_blank rel="noreferrer noopener">Learn how to fix <!> ↗`),Dt=N(`<li class="relative bg-secondary border border-base border-l-3 border-l-[color:var(--impact)] overflow-hidden transition hover:shadow-md"><div class="flex items-stretch"><input type=checkbox class="shrink-0 self-center size-[15px] ml-3 accent-[var(--impact)] cursor-pointer outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40"><button type=button class="flex flex-col gap-0.5 flex-1 min-w-0 text-left cursor-pointer outline-none py-[7px] pl-2.5 pr-3"><span class="flex items-center gap-1.5"><span class="text-[9px] font-bold tracking-wide uppercase color-[var(--impact)]"></span><code class="font-mono text-xs color-base"></code><span class="ml-auto inline-flex items-center gap-1.5 text-[11px] color-faint tabular-nums"> <span aria-hidden class="i-ph-caret-right text-sm color-faint transition-transform"></span></span></span><span class="text-xs color-muted leading-snug truncate">`),Ot=N(`<span class="inline-block mt-1.5 font-mono text-[10.5px] text-primary-500 bg-primary-500/12 rounded px-1.5 py-px">`),kt=N(`<span class="block mt-1.5 text-[11px] leading-snug color-muted whitespace-pre-wrap">`),At=N(`<li><button type=button class="block w-full bg-[#8881] text-left border border-base rounded px-2.5 py-1.5 cursor-pointer transition hover:bg-hover outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40"><span class="flex items-start gap-1.5"><code class="block font-mono text-[11px] color-base whitespace-pre-wrap break-words">`),jt=N(`<span class="shrink-0 inline-flex items-center justify-center min-w-[17px] h-[17px] px-1 rounded-full bg-primary-500 text-white text-[10.5px] font-bold tabular-nums">`);function Mt(e){let t=()=>e.violation,n=()=>`nodes-${Ct(e.route,t().ruleId)}`,r=()=>t().nodes[0];return(()=>{var i=Dt(),a=i.firstChild.firstChild,o=a.nextSibling,s=o.firstChild,c=s.firstChild,l=c.nextSibling,u=l.nextSibling,d=u.firstChild,f=d.nextSibling,p=s.nextSibling;return i.addEventListener(`mouseleave`,()=>e.channel.clearPreview()),a.addEventListener(`mouseenter`,()=>r()&&e.channel.preview(r())),a.addEventListener(`change`,()=>e.onToggleSelect()),o.addEventListener(`blur`,()=>e.channel.clearPreview()),o.addEventListener(`focus`,()=>r()&&e.channel.preview(r())),o.addEventListener(`mouseenter`,()=>r()&&e.channel.preview(r())),o.$$click=()=>e.onToggle(),I(c,()=>pt[t().impact]),I(s,j(M,{get when(){return t().bestPractice},get children(){return wt()}}),l),I(l,()=>t().ruleId),I(u,()=>t().nodes.length,d),I(u,()=>t().nodes.length===1?`element`:`elements`,f),I(p,()=>t().help),I(i,j(M,{get when(){return e.expanded},get children(){return[(()=>{var r=Tt();return I(r,j(Ce,{get each(){return t().nodes},children:t=>(()=>{var n=At(),r=n.firstChild,i=r.firstChild,a=i.firstChild;return r.addEventListener(`blur`,()=>e.channel.clearPreview()),r.addEventListener(`mouseleave`,()=>e.channel.clearPreview()),r.addEventListener(`focus`,()=>e.channel.preview(t)),r.addEventListener(`mouseenter`,()=>e.channel.preview(t)),I(i,j(M,{get when(){return e.numberOf(t.id)},children:e=>(()=>{var t=jt();return I(t,e),t})()}),a),I(a,()=>t.html),I(r,j(M,{get when(){return t.target.length},get children(){var e=Ot();return I(e,()=>t.target.join(` `)),e}}),null),I(r,j(M,{get when(){return t.failureSummary},get children(){var e=kt();return I(e,()=>t.failureSummary),e}}),null),n})()})),y(()=>P(r,`id`,n())),r})(),(()=>{var e=Et(),n=e.firstChild.nextSibling;return n.nextSibling,I(e,()=>t().ruleId,n),y(()=>P(e,`href`,t().helpUrl)),e})()]}}),null),y(r=>{var s=Ct(e.route,t().ruleId),c={"bg-[color-mix(in_srgb,var(--impact)_8%,transparent)]! border-[color:var(--impact)]/60":e.selected},l=Ue[t().impact],u=`Select ${t().ruleId} to highlight and add to fix prompts`,d=e.expanded,p=n(),m=!!e.expanded;return s!==r.e&&P(i,`id`,r.e=s),r.t=je(i,c,r.t),l!==r.a&&Me(i,`--impact`,r.a=l),u!==r.o&&P(a,`aria-label`,r.o=u),d!==r.i&&P(o,`aria-expanded`,r.i=d),p!==r.n&&P(o,`aria-controls`,r.n=p),m!==r.s&&f.classList.toggle(`rotate-90`,r.s=m),r},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),y(()=>a.checked=e.selected),i})()}Ae([`click`]);var Nt=N(`<span class="text-[9.5px] font-bold tracking-wide uppercase color-active border border-primary-500/45 rounded-full px-1.5 shrink-0">active`),Pt=N(`<ul class="list-none m-0 mt-1 flex flex-col gap-1">`),Ft=N(`<section class="flex flex-col"><div class="flex items-center gap-1 py-0.5"><button type=button class="flex items-center gap-2 flex-1 min-w-0 text-left cursor-pointer py-1 px-0.5 rounded outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40"><span aria-hidden class="i-ph-caret-right text-sm color-faint transition-transform shrink-0"></span><code></code><span class="ml-auto text-[11px] color-faint tabular-nums shrink-0"> </span></button><button type=button class="shrink-0 inline-flex p-1 rounded color-faint cursor-pointer transition hover:text-error hover:bg-secondary outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40"title="Clear this route's history"><span aria-hidden class="i-ph-trash-duotone shrink-0">`);function It(e){return(()=>{var t=Ft(),n=t.firstChild.firstChild,r=n.firstChild,i=r.nextSibling,a=i.nextSibling,o=a.firstChild,s=n.nextSibling;return n.$$click=()=>e.onToggleGroup(),I(i,()=>e.report.route),I(n,j(M,{get when(){return e.active},get children(){return Nt()}}),a),I(a,()=>e.violations.length,o),I(a,()=>e.violations.length===1?`rule`:`rules`,null),s.$$click=()=>e.onClearRoute(),I(t,j(M,{get when(){return!e.collapsed},get children(){var t=Pt();return I(t,j(Ce,{get each(){return e.violations},children:t=>j(Mt,{get route(){return e.report.route},violation:t,get expanded(){return e.expandedRules.has(`${e.report.route}::${t.ruleId}`)},get selected(){return e.selection.isSelected(e.report.route,t.ruleId)},onToggle:()=>e.onToggleRule(t.ruleId),onToggleSelect:()=>e.selection.toggle(e.report.route,t.ruleId),get channel(){return e.channel},get numberOf(){return e.selection.numberOf}})})),t}}),null),y(a=>{var o=`group-${encodeURIComponent(e.report.route)}`,s=!e.collapsed,c=!e.collapsed,l=`font-mono text-[12.5px] truncate ${e.active?`color-active`:`color-base`}`;return o!==a.e&&P(t,`id`,a.e=o),s!==a.t&&P(n,`aria-expanded`,a.t=s),c!==a.a&&r.classList.toggle(`rotate-90`,a.a=c),l!==a.o&&F(i,a.o=l),a},{e:void 0,t:void 0,a:void 0,o:void 0}),t})()}Ae([`click`]);var Lt=N(`<div class="flex flex-col gap-2.5">`);function Rt(e){return(()=>{var t=Lt();return I(t,j(Ce,{get each(){return e.groups},children:t=>j(It,{get report(){return t.report},get active(){return t.active},get violations(){return t.violations},get collapsed(){return e.collapsedRoutes.has(t.report.route)},onToggleGroup:()=>e.onToggleGroup(t.report.route),onClearRoute:()=>e.onClearRoute(t.report.route),get expandedRules(){return e.expandedRules},onToggleRule:n=>e.onToggleRule(t.report.route,n),get channel(){return e.channel},get selection(){return e.selection}})})),t})()}function zt(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var Bt=Math.random.bind(Math),Vt=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function Ht(e=21){let t=``,n=e;for(;n--;)t+=Vt[Bt()*64|0];return t}var Ut=6e4,Wt=e=>e,Gt=Wt,{clearTimeout:Kt,setTimeout:qt}=globalThis;function Jt(e,t){let{post:n,on:r,off:i=()=>{},eventNames:a=[],serialize:o=Wt,deserialize:s=Gt,resolver:c,bind:l=`rpc`,timeout:u=Ut,proxify:d=!0}=t,f=!1,p=new Map,m,h;async function g(e,r,i,a){if(f)throw Error(`[birpc] rpc is closed, cannot call "${e}"`);let s={m:e,a:r,t:`q`};a&&(s.o=!0);let c=async e=>n(o(e));if(i){await c(s);return}if(m)try{await m}finally{m=void 0}let{promise:l,resolve:d,reject:g}=zt(),_=Ht();s.i=_;let v;async function y(n=s){return u>=0&&(v=qt(()=>{try{if(t.onTimeoutError?.call(h,e,r)!==!0)throw Error(`[birpc] timeout on calling "${e}"`)}catch(e){g(e)}p.delete(_)},u),typeof v==`object`&&(v=v.unref?.())),p.set(_,{resolve:d,reject:g,timeoutId:v,method:e}),await c(n),l}try{t.onRequest?await t.onRequest.call(h,s,y,d):await y()}catch(e){if(t.onGeneralError?.call(h,e)!==!0)throw e;return}finally{Kt(v),p.delete(_)}return l}let _={$call:(e,...t)=>g(e,t,!1),$callOptional:(e,...t)=>g(e,t,!1,!0),$callEvent:(e,...t)=>g(e,t,!0),$callRaw:e=>g(e.method,e.args,e.event,e.optional),$rejectPendingCalls:y,get $closed(){return f},get $meta(){return t.meta},$close:v,$functions:e};h=d?new Proxy({},{get(t,n){if(Object.hasOwn(_,n))return _[n];if(n===`then`&&!a.includes(`then`)&&!(`then`in e))return;let r=(...e)=>g(n,e,!0);if(a.includes(n))return r.asEvent=r,r;let i=(...e)=>g(n,e,!1);return i.asEvent=r,i}}):_;function v(e){f=!0,p.forEach(({reject:t,method:n})=>{let r=Error(`[birpc] rpc is closed, cannot call "${n}"`);if(e)return e.cause??=r,t(e);t(r)}),p.clear(),i(b)}function y(e){let t=Array.from(p.values()).map(({method:t,reject:n})=>e?e({method:t,reject:n}):n(Error(`[birpc]: rejected pending call "${t}".`)));return p.clear(),t}async function b(r,...i){let a;try{a=s(r)}catch(e){if(t.onGeneralError?.call(h,e)!==!0)throw e;return}if(a.t===`q`){let{m:r,a:s,o:u}=a,d,f,p=await(c?c.call(h,r,e[r]):e[r]);if(u&&(p||=()=>void 0),!p)f=Error(`[birpc] function "${r}" not found`);else try{d=await p.apply(l===`rpc`?h:e,s)}catch(e){f=e}if(a.i){if(f&&t.onFunctionError&&t.onFunctionError.call(h,f,r,s)===!0)return;if(!f)try{await n(o({t:`s`,i:a.i,r:d}),...i);return}catch(e){if(f=e,t.onGeneralError?.call(h,e,r,s)!==!0)throw e}try{await n(o({t:`s`,i:a.i,e:f}),...i)}catch(e){if(t.onGeneralError?.call(h,e,r,s)!==!0)throw e}}}else{let{i:e,r:t,e:n}=a,r=p.get(e);r&&(Kt(r.timeoutId),n?r.reject(n):r.resolve(t)),p.delete(e)}}return m=r(b),h}function L(e,t){let n=`\x1B[${e}m`,r=`\x1B[${t}m`;return((e,...t)=>{if(Array.isArray(e)&&`raw`in e){let i=e,a=``;for(let e=0;e<i.length;e++)a+=i[e],e<t.length&&(a+=String(t[e]));return`${n}${a}${r}`}return`${n}${String(e)}${r}`})}var Yt={blue:L(34,39),cyan:L(36,39),gray:L(90,39),green:L(32,39),red:L(31,39),yellow:L(33,39),bold:L(1,22),dim:L(2,22),reset:L(0,0),underline:L(4,24)};function Xt(e,...t){return typeof e==`function`?e(...t):e}var Zt=Error.captureStackTrace,Qt=class e extends Error{name;code;docs;fix;sources;get why(){return this.message}constructor(t,n=e){super(t.why,{cause:t.cause}),this.code=this.name=t.code,this.fix=t.fix,this.docs=t.docs,this.sources=t.sources,Zt?.(this,n)}toJSON(){return{name:this.name,why:this.why,fix:this.fix,docs:this.docs,sources:this.sources,cause:this.cause,stack:this.stack}}};function $t(e,t){return typeof e==`string`?`${e}/${t.toLowerCase()}`:e?.(t)}function en(e){let t=e.reporters??[],n={},{docsBase:r}=e;for(let i of Object.keys(e.codes)){let a=e.codes[i],o=a.docs===!1?void 0:a.docs||$t(r,i),s=(e={},n={})=>{let r=new Qt({code:i,why:Xt(a.why,e),fix:Xt(a.fix,e),docs:o,cause:e.cause,sources:e.sources},s);for(let e of t)e(r,n);return r};n[i]=s}return n}function tn(e){return t=>{let n=`${e.bold(e.red(`[${t.name}]`))} ${t.message}`,r=[];return t.fix&&r.push(`${e.dim(`fix:`)} ${t.fix}`),t.sources?.length&&r.push(`${e.dim(`sources:`)} ${t.sources.join(`, `)}`),t.docs&&r.push(`${e.dim(`see:`)} ${e.cyan(t.docs)}`),r.length===0?n:[n,...r.map((t,n)=>`${e.dim(n<r.length-1?`├▶`:`╰▶`)} ${t}`)].join(`
3
- `)}}var nn=tn(Yt);function rn(e,{method:t=`warn`}={}){console[t](nn(e))}function an(e){return en({...e,reporters:[rn,...e.reporters??[]]})}var on=an({docsBase:`https://devfra.me/errors`,codes:{DF0077:{why:e=>`In-page channel function "${e.name}" is not registered on this endpoint.`,fix:"Declare the function in this endpoint's `functions` option before subscribing with `on()`."}}}),sn=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function cn(e=21){let t=``,n=e;for(;n--;)t+=sn[Math.random()*64|0];return t}var R={bus:{agentManifestChanged:`agent:manifest:changed`,agentToolRegistered:`agent:tool:registered`,agentToolUnregistered:`agent:tool:unregistered`,agentResourceRegistered:`agent:resource:registered`,agentResourceUnregistered:`agent:resource:unregistered`},client:{isTrustedUpdated:`rpc:is-trusted:updated`,error:`rpc:error`,connectionStatus:`connection:status`,connectionError:`connection:error`},broadcast:{authRevoked:`devframe:auth:revoked`,clientStateUpdated:`devframe:rpc:client-state:updated`,clientStatePatch:`devframe:rpc:client-state:patch`,streamingChunk:`devframe:streaming:chunk`,streamingEnd:`devframe:streaming:end`,streamingUploadCancel:`devframe:streaming:upload-cancel`},inPageChannel:{panelStateUpdated:`devframe:in-page:panel-state:updated`,panelStatePatch:`devframe:in-page:panel-state:patch`},postMessage:{remoteAssetsError:`devframe:remote-assets-error`,inPageChannel:`devframe:in-page-channel`}},ln=R.postMessage.inPageChannel;function un(e){return!!e&&typeof e==`object`&&`__dfIpc`in e}function dn(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.channel===ln&&typeof t.name==`string`&&typeof t.panelId==`string`&&(t.kind===`hello`||t.kind===`grant`)}function fn(e,t){if(e?.length)return e;let n=t?.location?.origin;return n&&n!==`null`?[n]:[`*`]}function pn(e){let t=[];try{let n=e;for(;n.parent&&n.parent!==n;)t.push(n.parent),n=n.parent}catch{}try{let n=e.opener;n&&n!==e&&t.push(n)}catch{}return t}var mn={intervalMs:5e3,timeoutMs:12e3};function hn(e){return e===!1?void 0:{...mn,...e}}var z=class extends Error{code;name=`InPageChannelError`;constructor(e,t,n){super(t,n),this.code=e}},gn=new Set;function _n(e){gn.has(e)||(gn.add(e),console.warn(`[devframe] ${e}`))}function vn(e,t,n){for(let r=0;r<e.length;r++){let i=bn(e[r],`${t}[${r}]`,n);if(i)return i}}function yn(e,t,n){let r=Object.getPrototypeOf(e);if(r!==Object.prototype&&r!==null)return`${t} is an instance of ${e.constructor?.name??`an exotic class`}`;for(let[r,i]of Object.entries(e)){let e=bn(i,`${t}.${r}`,n);if(e)return e}}function bn(e,t,n){if(e!==null&&typeof e!=`boolean`&&typeof e!=`string`)return typeof e==`number`?Number.isFinite(e)?void 0:`${t} is ${e}`:typeof e==`object`?n.has(e)?`${t} is circular`:(n.add(e),Array.isArray(e)?vn(e,t,n):yn(e,t,n)):`${t} is ${e===void 0?"`undefined`":`a ${typeof e}`}`}function xn(e,t,n){let r=bn(e,t,new Set);if(r)throw new z(`not-serializable`,`in-page function "${n}" is declared jsonSerializable, but ${r}`)}function Sn(e){return e.map(e=>{let t=e.path?.map(e=>typeof e==`object`?e.key:e).join(`.`);return t?`${t}: ${e.message}`:e.message}).join(`; `)}async function Cn(e,t,n){for(let r=0;r<t.length;r++){let i=t[r];if(!i)continue;let a=await i[`~standard`].validate(n[r]);if(a.issues)throw new z(`invalid-args`,`in-page function "${e}" rejected argument ${r}: ${Sn(a.issues)}`)}}function wn(e,t){return e.serialize?t.map(e.serialize):t}function Tn(e,t){return e.deserialize&&t!==void 0?e.deserialize(t):t}function En(e){let t=new Map,n=new Map;return{register(e){t.set(e.name,e)},on(e,r){if(!t.has(e))throw on.DF0077({name:e});let i=n.get(e);return i||(i=new Set,n.set(e,i)),i.add(r),()=>{i.delete(r),i.size===0&&n.delete(e)}},resolve(r){let i=t.get(r),a=n.get(r);if(!(!i&&!a?.size))return async(...t)=>{let a=e.deserialize?t.map(e.deserialize):t;i?.jsonSerializable&&xn(a,`its arguments`,i.name),i?.args?.length&&await Cn(i.name,i.args,a);let o=await i?.handler?.(...a);for(let e of[...n.get(r)??[]])e(...a);return i?.jsonSerializable&&xn(o,`its return value`,i.name),e.serialize&&o!==void 0?e.serialize(o):o}}}}function Dn(e){return e instanceof DOMException&&e.name===`DataCloneError`?new z(`not-cloneable`,`a payload could not be structured-cloned across the in-page channel: ${e.message}. Strip non-cloneable values (functions, DOM nodes, framework reactivity proxies) before sending: declare the function \`jsonSerializable: true\` for a precise error, or provide a \`serialize\` hook.`,{cause:e}):e}function On(e,t){let n,r=!1,i={rpc:Jt({},{post:t=>{try{e.postMessage(t)}catch(e){throw Dn(e)}},on:e=>{n=e},off:()=>{n=void 0},timeout:-1,proxify:!1,resolver:(e,n)=>n??t.resolveLocal(e)}),lastActivity:Date.now(),postControl(t){try{e.postMessage({__dfIpc:t})}catch{}},dispose(t){if(r)return;r=!0,t?.bye&&i.postControl(`bye`);let n=new z(`closed`,`in-page channel call dropped: ${t?.reason??`the in-page channel port was closed`}`);i.rpc.$rejectPendingCalls(({reject:e})=>e(n)),i.rpc.$close(),e.removeEventListener(`message`,a),e.removeEventListener(`close`,o);try{e.close()}catch{}}};function a(e){i.lastActivity=Date.now();let r=e.data;if(un(r)){r.__dfIpc===`bye`?t.onPeerClosed():t.onControl(r.__dfIpc);return}n?.(r)}function o(){t.onPeerClosed()}return e.addEventListener(`message`,a),e.addEventListener(`close`,o),e.start?.(),i}function kn(e,t,n){return t<=0?e:new Promise((r,i)=>{let a=setTimeout(()=>i(new z(`timeout`,n())),t);e.then(e=>{clearTimeout(a),r(e)},e=>{clearTimeout(a),i(e)})})}function An(){let e={};function t(t,...n){let r=e[t]||[];for(let e=0,t=r.length;e<t;e++){let t=r[e];t&&t(...n)}}function n(n,...r){t(n,...r),delete e[n]}function r(t,n){return(e[t]||=[]).push(n),()=>{e[t]=e[t]?.filter(e=>n!==e)}}function i(e,t){let n=r(e,((...e)=>(n(),t(...e))));return n}return{_listeners:e,emit:t,emitOnce:n,on:r,once:i}}var jn=Symbol.for(`immer-nothing`),Mn=Symbol.for(`immer-draftable`),B=Symbol.for(`immer-state`);function V(e,...t){throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var H=Object,U=H.getPrototypeOf,Nn=`constructor`,Pn=`prototype`,Fn=`configurable`,In=`enumerable`,Ln=`writable`,Rn=`value`,W=e=>!!e&&!!e[B];function G(e){return e?Vn(e)||Kn(e)||!!e[Mn]||!!e[Nn]?.[Mn]||qn(e)||Jn(e):!1}var zn=H[Pn][Nn].toString(),Bn=new WeakMap;function Vn(e){if(!e||!Yn(e))return!1;let t=U(e);if(t===null||t===H[Pn])return!0;let n=H.hasOwnProperty.call(t,Nn)&&t[Nn];if(n===Object)return!0;if(!J(n))return!1;let r=Bn.get(n);return r===void 0&&(r=Function.toString.call(n),Bn.set(n,r)),r===zn}function Hn(e,t,n=!0){K(e)===0?(n?Reflect.ownKeys(e):H.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function K(e){let t=e[B];return t?t.type_:Kn(e)?1:qn(e)?2:Jn(e)?3:0}var Un=(e,t,n=K(e))=>n===2?e.has(t):H[Pn].hasOwnProperty.call(e,t),q=(e,t,n=K(e))=>n===2?e.get(t):e[t],Wn=(e,t,n,r=K(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function Gn(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var Kn=Array.isArray,qn=e=>e instanceof Map,Jn=e=>e instanceof Set,Yn=e=>typeof e==`object`,J=e=>typeof e==`function`,Xn=e=>typeof e==`boolean`;function Zn(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Qn=e=>Yn(e)?e?.[B]:null,Y=e=>e.copy_||e.base_,$n=e=>e.modified_?e.copy_:e.base_;function er(e,t){if(qn(e))return new Map(e);if(Jn(e))return new Set(e);if(Kn(e))return Array[Pn].slice.call(e);let n=Vn(e);if(t===!0||t===`class_only`&&!n){let t=H.getOwnPropertyDescriptors(e);delete t[B];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){let i=n[r],a=t[i];a[Ln]===!1&&(a[Ln]=!0,a[Fn]=!0),(a.get||a.set)&&(t[i]={[Fn]:!0,[Ln]:!0,[In]:a[In],[Rn]:e[i]})}return H.create(U(e),t)}{let t=U(e);if(t!==null&&n)return{...e};let r=H.create(t);return H.assign(r,e)}}function tr(e,t=!1){return ir(e)||W(e)||!G(e)?e:(K(e)>1&&H.defineProperties(e,{set:rr,add:rr,clear:rr,delete:rr}),H.freeze(e),t&&Hn(e,(e,t)=>{tr(t,!0)},!1),e)}function nr(){V(2)}var rr={[Rn]:nr};function ir(e){return e===null||!Yn(e)||H.isFrozen(e)}var ar=`MapSet`,or=`Patches`,sr=`ArrayMethods`,cr={};function X(e){let t=cr[e];return t||V(0,e),t}var lr=e=>!!cr[e];function ur(e,t){cr[e]||(cr[e]=t)}var dr,fr=()=>dr,pr=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:lr(ar)?X(ar):void 0,arrayMethodsPlugin_:lr(sr)?X(sr):void 0});function mr(e,t){t&&(e.patchPlugin_=X(or),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function hr(e){gr(e),e.drafts_.forEach(vr),e.drafts_=null}function gr(e){e===dr&&(dr=e.parent_)}var _r=e=>dr=pr(dr,e);function vr(e){let t=e[B];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function yr(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[B].modified_&&(hr(t),V(4)),G(e)&&(e=br(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[B].base_,e,t)}else e=br(t,n);return xr(t,e,!0),hr(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===jn?void 0:e}function br(e,t){if(ir(t))return t;let n=t[B];if(!n)return kr(t,e.handledSet_,e);if(!Cr(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){let{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);Dr(n,e)}return n.copy_}function xr(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&tr(t,n)}function Sr(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var Cr=(e,t)=>e.scope_===t,wr=[];function Tr(e,t,n,r){let i=Y(e),a=e.type_;if(r!==void 0&&q(i,r,a)===t){Wn(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;Hn(i,(e,n)=>{if(W(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??wr;for(let e of o)Wn(i,e,n,a)}function Er(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!Cr(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=$n(i);Tr(e,i.draft_??i,a,n),Dr(i,r)})}function Dr(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let r=n.getPath(e);r&&n.generatePatches_(e,r,t)}Sr(e)}}function Or(e,t,n){let{scope_:r}=e;if(W(n)){let i=n[B];Cr(i,r)&&i.callbacks_.push(function(){Rr(e),Tr(e,n,$n(i),t)})}else G(n)&&e.callbacks_.push(function(){let i=Y(e);e.type_===3?i.has(n)&&kr(n,r.handledSet_,r):q(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&kr(q(e.copy_,t,e.type_),r.handledSet_,r)})}function kr(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||W(e)||t.has(e)||!G(e)||ir(e)?e:(t.add(e),Hn(e,(r,i)=>{if(W(i)){let t=i[B];Cr(t,n)&&(Wn(e,r,$n(t),e.type_),Sr(t))}else G(i)&&kr(i,t,n)}),e)}function Ar(e,t){let n=Kn(e),r={type_:+!!n,scope_:t?t.scope_:fr(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},i=r,a=jr;n&&(i=[r],a=Mr);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var jr={get(e,t){if(t===B)return e;let n=e.scope_.arrayMethodsPlugin_,r=e.type_===1&&typeof t==`string`;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);let i=Y(e);if(!Un(i,t,e.type_))return Fr(e,i,t);let a=i[t];if(e.finalized_||!G(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&Zn(t))return a;if(a===Nr(e.base_,t)||Pr(e,t,a)){Rr(e);let n=e.type_===1?+t:t,r=Br(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in Y(e)},ownKeys(e){return Reflect.ownKeys(Y(e))},set(e,t,n){let r=Ir(Y(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=Nr(Y(e),t),i=r?.[B];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(Gn(n,r)&&(n!==void 0||Un(e.base_,t,e.type_)))return!0;Rr(e),Lr(e)}return e.copy_[t]===n&&(n!==void 0||Un(e.copy_,t,e.type_))||Number.isNaN(n)&&Number.isNaN(e.copy_[t])?!0:(e.copy_[t]=n,e.assigned_.set(t,!0),Or(e,t,n),!0)},deleteProperty(e,t){return Rr(e),Nr(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),Lr(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=Y(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[Ln]:!0,[Fn]:e.type_!==1||t!==`length`,[In]:r[In],[Rn]:n[t]}},defineProperty(){V(11)},getPrototypeOf(e){return U(e.base_)},setPrototypeOf(){V(12)}},Mr={};for(let e in jr){let t=jr[e];Mr[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}Mr.deleteProperty=function(e,t){return Mr.set.call(this,e,t,void 0)},Mr.set=function(e,t,n){return jr.set.call(this,e[0],t,n,e[0])};function Nr(e,t){let n=e[B];return(n?Y(n):e)[t]}function Pr(e,t,n){return e.type_!==1||!e.allIndicesReassigned_||e.assigned_?.get(t)||!G(n)||n[B]?!1:e.baseRefs_.has(n)}function Fr(e,t,n){let r=Ir(t,n);return r?Rn in r?r[Rn]:r.get?.call(e.draft_):void 0}function Ir(e,t){if(!(t in e))return;let n=U(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=U(n)}}function Lr(e){e.modified_||(e.modified_=!0,e.parent_&&Lr(e.parent_))}function Rr(e){e.copy_||=(e.assigned_=new Map,er(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var zr=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(J(e)&&!J(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}J(t)||V(6),n!==void 0&&!J(n)&&V(7);let r;if(G(e)){let i=_r(this),a=Br(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?hr(i):gr(i)}return mr(i,n),yr(r,i)}if(!e||!Yn(e)){if(r=t(e),r===void 0&&(r=e),r===jn&&(r=void 0),this.autoFreeze_&&tr(r,!0),n){let t=[],i=[];X(or).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}V(1,e)},this.produceWithPatches=(e,t)=>{if(J(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},Xn(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Xn(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Xn(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){G(e)||V(8),W(e)&&(e=Vr(e));let t=_r(this),n=Br(t,e,void 0);return n[B].isManual_=!0,gr(t),n}finishDraft(e,t){let n=e&&e[B];(!n||!n.isManual_)&&V(9);let{scope_:r}=n;return mr(r,t),yr(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=X(or).applyPatches_;return W(e)?r(e,t):this.produce(e,e=>r(e,t))}};function Br(e,t,n,r){let[i,a]=qn(t)?X(ar).proxyMap_(t,n):Jn(t)?X(ar).proxySet_(t,n):Ar(t,n);return(n?.scope_??fr()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?Er(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),i}function Vr(e){return W(e)||V(10,e),Hr(e)}function Hr(e){if(!G(e)||ir(e))return e;let t=e[B],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=er(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=er(e,!0);return Hn(n,(e,t)=>{Wn(n,e,Hr(t))},r),t&&(t.finalized_=!1),n}function Ur(){function e(n,r=[]){if(n.key_!==void 0){let e=n.parent_.copy_??n.parent_.base_,t=Qn(q(e,n.key_)),i=q(e,n.key_);if(i===void 0||i!==n.draft_&&i!==n.base_&&i!==n.copy_||t!=null&&t.base_!==n.base_)return null;let a=n.parent_.type_===3,o;if(a){let e=n.parent_;o=Array.from(e.drafts_.keys()).indexOf(n.key_)}else o=n.key_;if(!(a&&e.size>o||Un(e,o)))return null;r.push(o)}if(n.parent_)return e(n.parent_,r);r.reverse();try{t(n.copy_,r)}catch{return null}return r}function t(e,t){let n=e;for(let e=0;e<t.length-1;e++){let r=t[e];if(n=q(n,r),!Yn(n)||n===null)throw Error(`Cannot resolve path at '${t.join(`/`)}'`)}return n}let n=`replace`,r=`remove`;function i(e,t,n){if(e.scope_.processedForPatches_.has(e))return;e.scope_.processedForPatches_.add(e);let{patches_:r,inversePatches_:i}=n;switch(e.type_){case 0:case 2:return o(e,t,r,i);case 1:return a(e,t,r,i);case 3:return s(e,t,r,i)}}function a(e,t,i,a){let{base_:o,assigned_:s}=e,c=e.copy_;c.length<o.length&&([o,c]=[c,o],[i,a]=[a,i]);let l=e.allIndicesReassigned_===!0;for(let e=0;e<o.length;e++){let r=c[e],u=o[e];if((l||s?.get(e.toString()))&&r!==u){let o=r?.[B];if(o&&o.modified_)continue;let s=t.concat([e]);i.push({op:n,path:s,value:d(r)}),a.push({op:n,path:s,value:d(u)})}}for(let e=o.length;e<c.length;e++){let n=t.concat([e]);i.push({op:`add`,path:n,value:d(c[e])})}for(let e=c.length-1;o.length<=e;--e){let n=t.concat([e]);a.push({op:r,path:n})}}function o(e,t,i,a){let{base_:o,copy_:s,type_:c}=e;Hn(e.assigned_,(e,l)=>{let u=q(o,e,c),f=q(s,e,c),p=l?Un(o,e)?n:`add`:r;if(u===f&&p===n)return;let m=t.concat(e);i.push(p===r?{op:p,path:m}:{op:p,path:m,value:d(f)}),a.push(p===`add`?{op:r,path:m}:p===r?{op:`add`,path:m,value:d(u)}:{op:n,path:m,value:d(u)})})}function s(e,t,n,i){let{base_:a,copy_:o}=e,s=0;a.forEach(e=>{if(!o.has(e)){let a=t.concat([s]);n.push({op:r,path:a,value:e}),i.unshift({op:`add`,path:a,value:e})}s++}),s=0,o.forEach(e=>{if(!a.has(e)){let a=t.concat([s]);n.push({op:`add`,path:a,value:e}),i.unshift({op:r,path:a,value:e})}s++})}function c(e,t,r){let{patches_:i,inversePatches_:a}=r;i.push({op:n,path:[],value:t===jn?void 0:t}),a.push({op:n,path:[],value:e})}function l(e,t){return t.forEach(t=>{let{path:i,op:a}=t,o=e;for(let e=0;e<i.length-1;e++){let t=K(o),n=i[e];typeof n!=`string`&&typeof n!=`number`&&(n=``+n),(t===0||t===1)&&(n===`__proto__`||n===Nn)&&V(19),J(o)&&n===Pn&&V(19),o=q(o,n),(o===null||!Yn(o))&&V(18,i.join(`/`))}let s=K(o),c=u(t.value),l=i[i.length-1];switch(a){case n:switch(s){case 2:return o.set(l,c);case 3:V(16);default:return o[l]=c}case`add`:switch(s){case 1:return l===`-`?o.push(c):o.splice(l,0,c);case 2:return o.set(l,c);case 3:return o.add(c);default:return o[l]=c}case r:switch(s){case 1:return o.splice(l,1);case 2:return o.delete(l);case 3:return o.delete(t.value);default:return delete o[l]}default:V(17,a)}}),e}function u(e){if(!G(e))return e;if(Kn(e))return e.map(u);if(qn(e))return new Map(Array.from(e.entries()).map(([e,t])=>[e,u(t)]));if(Jn(e))return new Set(Array.from(e).map(u));let t=Object.create(U(e));for(let n in e)t[n]=u(e[n]);return Un(e,Mn)&&(t[Mn]=e[Mn]),t}function d(e){return W(e)?u(e):e}ur(or,{applyPatches_:l,generatePatches_:i,generateReplacementPatches_:c,getPath:e})}globalThis.Iterator?.from;var Wr=new zr,Gr=Wr.produce,Kr=Wr.produceWithPatches.bind(Wr),qr=Wr.applyPatches.bind(Wr),Jr=1e3;function Yr(e,t){if(e.add(t),e.size>Jr){let t=e.values().next().value;t!==void 0&&e.delete(t)}}function Xr(e){let{enablePatches:t=!1}=e;t&&Ur();let n=An(),r=e.initialValue,i=new Set;return{on:n.on,value:()=>r,patch:(e,t=cn())=>{i.has(t)||(Ur(),r=qr(r,e),Yr(i,t),n.emit(`updated`,r,void 0,t))},mutate:(e,a=cn())=>{if(!i.has(a)){if(Yr(i,a),t){let[t,i]=Kr(r,e);if(t===r)return;r=t,n.emit(`updated`,r,i,a)}else{let t=Gr(r,e);if(t===r)return;r=t,n.emit(`updated`,r,void 0,a)}}},syncIds:i}}var Zr={subscribe:`devframe:in-page:page-state:subscribe`,set:`devframe:in-page:page-state:set`,patch:`devframe:in-page:page-state:patch`};function Qr(e){let t=new Map,n=new Set,r=new Map,i=new Set;function a(e){n.add(e);let t=r.get(e);if(t){r.delete(e);for(let e of t)e()}}function o(e,n){let r=t.get(e);if(r&&n!==void 0){let e=cn();i.add(e),r.mutate(()=>n,e)}a(e)}function s(t){e.call(Zr.subscribe,[t]).then(e=>o(t,e)).catch(e=>{console.warn(`[devframe] in-page shared state "${t}": subscribe failed`,e)})}return{handlers:{[R.inPageChannel.panelStateUpdated]:(e,n,r)=>{let i=t.get(e);i&&!i.syncIds.has(r)&&i.mutate(()=>n,r),a(e)},[R.inPageChannel.panelStatePatch]:(e,n,r)=>{t.get(e)?.patch(n,r),a(e)}},resubscribe(){for(let e of t.keys())s(e)},get:(a,o)=>{let c=t.get(a);if(c)return Promise.resolve(c);let l=Xr({initialValue:o?.initialValue,enablePatches:!0});return t.set(a,l),l.on(`updated`,(t,n,r)=>{i.delete(r)||e.isConnected()&&(n?e.callEvent(Zr.patch,[a,n,r]):e.callEvent(Zr.set,[a,t,r]))}),e.isConnected()&&s(a),o?.initialValue===void 0?new Promise(e=>{if(n.has(a)){e(l);return}let t=r.get(a)??[];t.push(()=>e(l)),r.set(a,t)}):Promise.resolve(l)}}}var $r=300,ei=3e3,ti=64;function ni(e){let{name:t}=e,n=e.callTimeoutMs??15e3,r=e.eventBufferLimit??ti,i=e.window===!1?void 0:e.window??(typeof window>`u`?void 0:window),a=fn(e.allowedOrigins,i),o=hn(e.heartbeat),s={serialize:e.serialize,deserialize:e.deserialize},c=cn(),l=e.targets??(i?pn(i):[]),u=!!i&&l.length>0,d=An(),f=En(s);for(let[t,n]of Object.entries(e.functions))f.register({...n,name:t});let p=`connecting`,m,h,g,_,v=!1,y=[],b=[],x=[];function S(e){p!==e&&(p=e,d.emit(`status:updated`,e))}let C=Qr({isConnected:()=>p===`connected`,callEvent:(e,t)=>T(e,t),call:(e,t)=>E(e,t)});function w(e,t){m?.rpc.$callRaw({method:e,args:t,event:!0,optional:!0}).catch(()=>{})}function T(e,n){if(p!==`closed`){if(p===`connected`&&m){w(e,n);return}b.length>=r&&(b.shift(),v||(v=!0,console.warn(`[devframe] in-page channel "${t}": event buffer overflowed while connecting, so the oldest events are being dropped (limit ${r})`))),b.push({method:e,args:n})}}function E(e,r){return p===`closed`?Promise.reject(new z(`closed`,`in-page channel "${t}": call "${e}" rejected because the channel is closed`)):kn(new Promise((t,n)=>{let i=()=>{m.rpc.$call(e,...r).then(e=>t(Tn(s,e)),n)};p===`connected`&&m?i():y.push({run:i,reject:n})}),n,()=>`in-page channel "${t}": call "${e}" timed out after ${n}ms (status: ${p}${p===`connecting`?`; is the page script loaded?`:``})`)}function ee(e,t){m?.dispose({bye:!0,reason:`the panel adopted a newer port`}),m=On(e,{resolveLocal:e=>C.handlers[e]??f.resolve(e),onControl:e=>{e===`ping`&&m?.postControl(`pong`)},onPeerClosed:()=>te(`the page script went away`)}),h=t,D(),S(`connected`),o&&(_=setInterval(()=>{m&&(Date.now()-m.lastActivity>o.timeoutMs?te(`the page script went silent (heartbeat timeout)`):m.postControl(`ping`))},o.intervalMs));for(let e of y.splice(0))e.run();for(let{method:e,args:t}of b.splice(0))w(e,t);C.resubscribe();for(let e of x.splice(0))e.resolve()}function D(){g&&=(clearTimeout(g),void 0),_&&=(clearInterval(_),void 0)}function te(e){p!==`closed`&&(m?.dispose({reason:e}),m=void 0,h=void 0,D(),S(`connecting`),u?ne():_n(`in-page channel "${t}": transport lost (${e}) and the panel has no handshake targets, so it stays disconnected`))}function ne(){if(g||!u||p!==`connecting`)return;let n=e.helloIntervalMs??$r,r=()=>{let i={channel:ln,v:1,kind:`hello`,name:t,panelId:c,instanceId:e.instanceId};for(let e of l)for(let t of a)try{e.postMessage(i,t)}catch{}n=Math.min(n*1.5,ei),g=setTimeout(r,n)};r()}let O=n=>{if(p===`closed`)return;let r=n.data;if(!dn(r)||r.kind!==`grant`||r.name!==t||r.panelId!==c)return;if(r.v!==1){_n(`in-page channel "${t}": ignoring a grant with protocol version ${r.v} (this side speaks 1); align the devframe versions of the page script and the panel`);return}if(!a.includes(`*`)&&!a.includes(n.origin)){_n(`in-page channel "${t}": ignoring a grant from disallowed origin "${n.origin}"`);return}if(e.instanceId&&r.instanceId!==e.instanceId)return;let i=n.ports?.[0];i&&ee(i,{instanceId:r.instanceId})};return i?.addEventListener(`message`,O),e.transport?ee(e.transport):u?ne():_n(`in-page channel "${t}": the panel has no handshake targets (not embedded, no opener) and no transport, so calls will buffer until a transport appears or the channel is closed`),{name:t,get status(){return p},get pageScript(){return h},events:{on:d.on,once:d.once},whenConnected:e=>p===`connected`?Promise.resolve():p===`closed`?Promise.reject(new z(`closed`,`in-page channel "${t}" is closed`)):new Promise((n,r)=>{let i={resolve:n,reject:r};x.push(i),e!==void 0&&e>0&&setTimeout(()=>{let n=x.indexOf(i);n>=0&&(x.splice(n,1),r(new z(`timeout`,`in-page channel "${t}": no page script answered within ${e}ms; it may not be loaded in this context (render a fallback state)`)))},e)}),call:(e,...t)=>E(e,wn(s,t)),emit:(e,...t)=>T(e,wn(s,t)),callEvent:(e,...t)=>T(e,wn(s,t)),on:(e,t)=>f.on(e,t),sharedState:C,close:()=>{if(p===`closed`)return;S(`closed`),D(),i?.removeEventListener(`message`,O),m?.dispose({bye:!0,reason:`the panel closed the channel`}),m=void 0,h=void 0;let e=new z(`closed`,`in-page channel "${t}" was closed`);for(let t of y.splice(0))t.reject(e);b.length=0;for(let t of x.splice(0))t.reject(e)}}}function ri(){let[e,t]=v(null),[n,r]=v(!1),[i,a]=v(!1),o=ni({name:Ve,functions:{}});return o.events.on(`status:updated`,e=>r(e===`connected`)),o.sharedState.get(`state`).then(e=>{let n=e=>{a(!1),t({...e})};n(e.value()),e.on(`updated`,e=>n(e))}),E(()=>o.close()),{state:e,pageScriptReady:n,scanning:()=>e()?.scanning||i(),activeRoute:()=>e()?.activeRoute??null,preview:e=>o.emit(`highlight`,e.id,e.target),clearPreview:()=>o.emit(`clear-highlight`),setPins:e=>o.emit(`set-pins`,e),rescan:()=>{a(!0),o.emit(`rescan`)},sendConfig:e=>o.emit(`set-config`,e),setAutoScan:e=>o.emit(`set-autoscan`,e),clearRoute:e=>o.emit(`clear-route`,e),clearAll:()=>o.emit(`clear-all`)}}var ii=`__connection.json`,ai=`__DEVFRAME_CONNECTION__`,oi=`x-birpc-session`,si=`__rpc-dump/index.json`,ci=`devframe:services`,li=`devframe_otp`,ui=`devframe_auth_token`;R.postMessage.remoteAssetsError;function di(e){return typeof e==`string`?`'${e}'`:new hi().serialize(e)}var fi=` _-,;:!?.'"()[]{}@*/\\&#%\`^+<=>|~$0123456789abcdefghijklmnopqrstuvwxyz`,pi=(function(){let e=new Uint8Array(128);for(let t=0;t<69;t++)e[fi.charCodeAt(t)]=t+1;for(let t=65;t<=90;t++)e[t]=e[t+32];return e})();function mi(e,t){if(e===t)return 0;let n=Math.min(e.length,t.length),r=0;for(let i=0;i<n;i++){let n=e.charCodeAt(i),a=t.charCodeAt(i);if(n===a)continue;let o=n<128&&pi[n]?pi[n]:n+128,s=a<128&&pi[a]?pi[a]:a+128;if(o!==s)return o<s?-1:1;r===0&&(r=n>a?-1:1)}return e.length===t.length?r:e.length<t.length?-1:1}var hi=(function(){class e{#e=new Map;compare(e,t){let n=typeof e,r=typeof t;return n===`string`&&r===`string`?mi(e,t):n===`number`&&r===`number`?e-t:mi(this.serialize(e,!0),this.serialize(t,!0))}serialize(e,t){if(e===null)return`null`;switch(typeof e){case`string`:return t?e:`'${e}'`;case`bigint`:return`${e}n`;case`object`:return this.$object(e);case`function`:return this.$function(e)}return String(e)}serializeObject(e){let t=Object.prototype.toString.call(e);if(t!==`[object Object]`)return this.serializeBuiltInType(t.length<10?`unknown:${t}`:t.slice(8,-1),e);let n=e.constructor,r=n===Object||n===void 0?``:n.name;if(r!==``&&globalThis[r]===n)return this.serializeBuiltInType(r,e);if(`toJSON`in e&&typeof e.toJSON==`function`){let t=e.toJSON();return r+(typeof t==`object`&&t?this.$object(t):`(${this.serialize(t)})`)}let i=Object.keys(e).sort(mi),a=`${r}{`;for(let t=0;t<i.length;t++){let n=i[t];a+=`${n}:${this.serialize(e[n])}`,t<i.length-1&&(a+=`,`)}return a+`}`}serializeBuiltInType(e,t){let n=this[`$`+e];if(n)return n.call(this,t);if(typeof t.entries==`function`)return this.serializeObjectEntries(e,t.entries());throw Error(`Cannot serialize ${e}`)}serializeObjectEntries(e,t){let n=Array.from(t).sort((e,t)=>this.compare(e[0],t[0])),r=`${e}{`;for(let e=0;e<n.length;e++){let[t,i]=n[e];r+=`${this.serialize(t,!0)}:${this.serialize(i)}`,e<n.length-1&&(r+=`,`)}return r+`}`}$object(e){let t=this.#e.get(e);return t===void 0&&(this.#e.set(e,`#${this.#e.size}`),t=this.serializeObject(e),this.#e.set(e,t)),t}$function(e){let t=Function.prototype.toString.call(e);return t.slice(-15)===`[native code] }`?`${e.name||``}()[native]`:`${e.name}(${e.length})${t.replace(/\s*\n\s*/g,``)}`}$Array(e){let t=`[`;for(let n=0;n<e.length;n++)t+=this.serialize(e[n]),n<e.length-1&&(t+=`,`);return t+`]`}$Date(e){try{return`Date(${e.toISOString()})`}catch{return`Date(null)`}}$ArrayBuffer(e){return`ArrayBuffer[${new Uint8Array(e).join(`,`)}]`}$Set(e){return`Set${this.$Array(Array.from(e).sort((e,t)=>this.compare(e,t)))}`}$Map(e){return this.serializeObjectEntries(`Map`,e.entries())}}for(let t of[`Error`,`RegExp`,`URL`])e.prototype[`$`+t]=function(e){return`${t}(${e})`};for(let t of[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`,`)}]`};for(let t of[`BigInt64Array`,`BigUint64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`n,`)}${e.length>0?`n`:``}]`};return e})(),gi=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],_i=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],vi=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,Z=[],yi=class{_data=new bi;_hash=new bi([...gi]);_nDataBytes=0;_minBufferSize=0;finalize(e){e&&this._append(e);let t=this._nDataBytes*8,n=this._data.sigBytes*8;return this._data.words[n>>>5]|=128<<24-n%32,this._data.words[(n+64>>>9<<4)+14]=Math.floor(t/4294967296),this._data.words[(n+64>>>9<<4)+15]=t,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}_doProcessBlock(e,t){let n=this._hash.words,r=n[0],i=n[1],a=n[2],o=n[3],s=n[4],c=n[5],l=n[6],u=n[7];for(let n=0;n<64;n++){if(n<16)Z[n]=e[t+n]|0;else{let e=Z[n-15],t=(e<<25|e>>>7)^(e<<14|e>>>18)^e>>>3,r=Z[n-2],i=(r<<15|r>>>17)^(r<<13|r>>>19)^r>>>10;Z[n]=t+Z[n-7]+i+Z[n-16]}let d=s&c^~s&l,f=r&i^r&a^i&a,p=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),m=(s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25),h=u+m+d+_i[n]+Z[n],g=p+f;u=l,l=c,c=s,s=o+h|0,o=a,a=i,i=r,r=h+g|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+s|0,n[5]=n[5]+c|0,n[6]=n[6]+l|0,n[7]=n[7]+u|0}_append(e){typeof e==`string`&&(e=bi.fromUtf8(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes}_process(e){let t,n=this._data.sigBytes/64;n=e?Math.ceil(n):Math.max((n|0)-this._minBufferSize,0);let r=n*16,i=Math.min(r*4,this._data.sigBytes);if(r){for(let e=0;e<r;e+=16)this._doProcessBlock(this._data.words,e);t=this._data.words.splice(0,r),this._data.sigBytes-=i}return new bi(t,i)}},bi=class e{words;sigBytes;constructor(e,t){e=this.words=e||[],this.sigBytes=t===void 0?e.length*4:t}static fromUtf8(t){let n=unescape(encodeURIComponent(t)),r=n.length,i=[];for(let e=0;e<r;e++)i[e>>>2]|=(n.charCodeAt(e)&255)<<24-e%4*8;return new e(i,r)}toBase64(){let e=[];for(let t=0;t<this.sigBytes;t+=3){let n=this.words[t>>>2]>>>24-t%4*8&255,r=this.words[t+1>>>2]>>>24-(t+1)%4*8&255,i=this.words[t+2>>>2]>>>24-(t+2)%4*8&255,a=n<<16|r<<8|i;for(let n=0;n<4&&t*8+n*6<this.sigBytes*8;n++)e.push(vi.charAt(a>>>6*(3-n)&63))}return e.join(``)}concat(e){if(this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4),this.sigBytes%4)for(let t=0;t<e.sigBytes;t++){let n=e.words[t>>>2]>>>24-t%4*8&255;this.words[this.sigBytes+t>>>2]|=n<<24-(this.sigBytes+t)%4*8}else for(let t=0;t<e.sigBytes;t+=4)this.words[this.sigBytes+t>>>2]=e.words[t>>>2];this.sigBytes+=e.sigBytes}};function xi(e){return new yi().finalize(e).toBase64()}function Si(e){return xi(di(e))}function Ci(e){return Si(e)}var wi=class{cacheMap=new Map;options;keySerializer;constructor(e){this.options=e,this.keySerializer=e.keySerializer||(e=>Ci(e))}updateOptions(e){this.options={...this.options,...e}}cached(e,t){let n=this.cacheMap.get(e);if(n)return n.get(this.keySerializer(t))}has(e,t){return this.cacheMap.get(e)?.has(this.keySerializer(t))??!1}apply(e,t){let n=this.cacheMap.get(e.m)||new Map;n.set(this.keySerializer(e.a),t),this.cacheMap.set(e.m,n)}validate(e){return this.options.functions.includes(e)}clear(e){e?this.cacheMap.delete(e):this.cacheMap.clear()}},Q=an({docsBase:`https://devfra.me/errors`,codes:{DF0019:{why:e=>`RPC function "${e.name}" has \`agent\` set but \`jsonSerializable\` is not \`true\`; MCP requires JSON-serializable data.`,fix:"Set `jsonSerializable: true` if the payload is JSON-safe, or remove `agent` to keep it RPC-only."},DF0020:{why:e=>`RPC function "${e.name}" declares \`jsonSerializable: true\` but the value at "${e.path}" is a ${e.type}.`,fix:"Either drop `jsonSerializable: true` (falls back to structured-clone) or change the value to a JSON-safe shape."},DF0021:{why:e=>`RPC function "${e.name}" is already registered`,fix:"Use the `force` parameter to overwrite an existing registration."},DF0022:{why:e=>`RPC function "${e.name}" is not registered. Use register() to add new functions.`},DF0023:{why:e=>`RPC function "${e.name}" is not registered`},DF0024:{why:e=>`Either handler or setup function must be provided for RPC function "${e.name}"`},DF0025:{why:e=>`Function "${e.name}" not found in dump store`},DF0026:{why:e=>`No dump match for "${e.name}" with args: ${e.args}`},DF0027:{why:e=>`Function "${e.name}" with type "${e.type}" cannot have dump configuration. Only "static" and "query" types support dumps.`},DF0028:{why:e=>`Function "${e.name}" with type "${e.type}" cannot use \`snapshot: true\`. Only "query" functions support this sugar; "static" functions have equivalent default behavior already.`,fix:"Remove `snapshot: true`, or change the function type to `query`."},DF0043:{why:e=>`RPC function "${e.name}" received an invalid argument at position ${e.index}: ${e.issues}`,fix:"Pass a value that satisfies the `args` schema declared for this function."},DF0044:{why:e=>`RPC function "${e.name}" returned a value that failed its \`returns\` schema: ${e.issues}`,fix:"Make the handler return a value that satisfies the `returns` schema, or relax the schema."}}});async function Ti(e,t){let n=e[`~standard`].validate(t);return n instanceof Promise?await n:n}function Ei(e){return e.map(e=>{let t=e.path?.map(e=>typeof e==`object`?e.key:e).join(`.`);return t?`${t}: ${e.message}`:e.message}).join(`; `)}async function Di(e,t,n){let r=n.slice();if(!t||t.length===0)return r;for(let r=0;r<t.length;r++){let i=t[r];if(!i)continue;let a=await Ti(i,n[r]);if(a.issues)throw Q.DF0043({name:e,index:r,issues:Ei(a.issues)})}return r}async function Oi(e,t,n){if(!t)return n;let r=await Ti(t,n);if(r.issues)throw Q.DF0044({name:e,issues:Ei(r.issues)});return n}async function ki(e,t){if(!e.setup)return{};if(typeof t==`object`&&t){e.__cache??=new WeakMap;let n=e.__cache,r=n.get(t);return r||(r=Promise.resolve(e.setup(t)),r.catch(()=>{n.get(t)===r&&n.delete(t)}),n.set(t,r)),await r}if(!e.__promise){let n=Promise.resolve(e.setup(t));n.catch(()=>{e.__promise===n&&(e.__promise=void 0)}),e.__promise=n}return await e.__promise}async function Ai(e,t){let n=e.handler;if(!n){let r=await ki(e,t);if(!r.handler)throw Q.DF0024({name:e.name});n=r.handler}let r=e.args,i=e.returns;if(!r&&!i)return n;let a=n;return async(...t)=>{let n=await Di(e.name,r,t),o=await a(...n);return await Oi(e.name,i,o)}}var ji=class{context;definitions=new Map;functions;_onChanged=[];constructor(e){this.context=e;let t=this.definitions,n=this;this.functions=new Proxy({},{get(e,r){let i=t.get(r);if(i)return Ai(i,n.context)},has(e,n){return t.has(n)},getOwnPropertyDescriptor(e,n){return{value:t.get(n)?.handler,configurable:!0,enumerable:!0}},ownKeys(){return Array.from(t.keys())}})}register(e,t=!1){if(this.definitions.has(e.name)&&!t)throw Q.DF0021({name:e.name});Mi(e),this.definitions.set(e.name,e),this._onChanged.forEach(t=>t(e.name))}update(e,t=!1){if(!this.definitions.has(e.name)&&!t)throw Q.DF0022({name:e.name});Mi(e),this.definitions.set(e.name,e),this._onChanged.forEach(t=>t(e.name))}onChanged(e){return this._onChanged.push(e),()=>{let t=this._onChanged.indexOf(e);t!==-1&&this._onChanged.splice(t,1)}}async getHandler(e){return await Ai(this.definitions.get(e),this.context)}getSchema(e){let t=this.definitions.get(e);if(!t)throw Q.DF0023({name:String(e)});return{args:t.args,returns:t.returns}}has(e){return this.definitions.has(e)}get(e){return this.definitions.get(e)}list(){return Array.from(this.definitions.keys())}};function Mi(e){if(e.agent&&e.jsonSerializable!==!0)throw Q.DF0019({name:e.name})}function Ni(e,t=``){return JSON.stringify(e,function(e,n){let r=this,i=r==null?n:r[e];if(i===void 0){if(Array.isArray(r))throw Fi(t,`undefined`,r,e);return n}return i!==null&&Pi(i,r,e,t),n})}function Pi(e,t,n,r){if(typeof e==`bigint`)throw Fi(r,`BigInt`,t,n);if(typeof e!=`object`)return;if(e instanceof Map)throw Fi(r,`Map`,t,n);if(e instanceof Set)throw Fi(r,`Set`,t,n);if(e instanceof Date)throw Fi(r,`Date`,t,n);if(Array.isArray(e))return;let i=Object.getPrototypeOf(e);if(i!==null&&i!==Object.prototype)throw Fi(r,e.constructor?.name??`class instance`,t,n)}function Fi(e,t,n,r){let i=Ii(n,r);return Q.DF0020({name:e||`<anonymous>`,type:t,path:i})}function Ii(e,t){return Array.isArray(e)?`[${t}]`:t===``?`<root>`:t}String.fromCharCode;var Li=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,Ri=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,zi=/^([/\\]\s*){2,}[^/\\]/,Bi=/\/$|\/\?|\/#/,Vi=/^\.?\//;function Hi(e,t={}){return typeof t==`boolean`&&(t={acceptRelative:t}),t.strict?Li.test(e):Ri.test(e)||(t.acceptRelative?zi.test(e):!1)}function Ui(e=``,t){return t?Bi.test(e):e.endsWith(`/`)}function Wi(e=``,t){if(!t)return(Ui(e)?e.slice(0,-1):e)||`/`;if(!Ui(e,!0))return e||`/`;let n=e,r=``,i=e.indexOf(`#`);i!==-1&&(n=e.slice(0,i),r=e.slice(i));let[a,...o]=n.split(`?`);return((a.endsWith(`/`)?a.slice(0,-1):a)||`/`)+(o.length>0?`?${o.join(`?`)}`:``)+r}function Gi(e=``,t){if(!t)return e.endsWith(`/`)?e:e+`/`;if(Ui(e,!0))return e||`/`;let n=e,r=``,i=e.indexOf(`#`);if(i!==-1&&(n=e.slice(0,i),r=e.slice(i),!n))return r;let[a,...o]=n.split(`?`);return a+`/`+(o.length>0?`?${o.join(`?`)}`:``)+r}function Ki(e,t){if(qi(t)||Hi(e))return e;let n=Wi(t);if(e.startsWith(n)){let t=e[n.length];if(!t||t===`/`||t===`?`)return e}return Yi(n,e)}function qi(e){return!e||e===`/`}function Ji(e){return e&&e!==`/`}function Yi(e,...t){let n=e||``;for(let e of t.filter(e=>Ji(e)))if(n){let t=e.replace(Vi,``);n=Gi(n)+t}else n=e;return n}function Xi(e,t){let n=e.match(Ri);return n||=e.match(/^\/{2,}/),n?t+e.slice(n[0].length):t+e}var Zi=`__DEVFRAME_CONNECTION_META__`,Qi=`__DEVFRAME_CONNECTION_AUTH_TOKEN__`;function $i(e){let t=[()=>window?.[e],()=>globalThis?.[e],()=>parent.window?.[e]];for(let e of t)try{let t=e();if(t)return t}catch{}}function ea(){return $i(ai)}function ta(){return $i(Zi)}function na(e){if(e)return e;try{let e=localStorage.getItem(Qi);if(e)return e}catch{}return $i(Qi)}function ra(e){globalThis[ai]=e,globalThis[Zi]={...e.connectionMeta,baseUrl:e.metaBaseUrl},e.authToken&&ia(e.authToken)}function ia(e){try{localStorage.setItem(Qi,e)}catch{}globalThis[Qi]=e;let t=ea();t&&(globalThis[ai]={...t,authToken:e})}function aa(e){let t=Ki(ii,e);try{return new URL(t,globalThis.location?.href).href}catch{return t}}function oa(e,t){return t&&t!==e.authToken?{...e,authToken:t}:e}function sa(){let e=ea();if(e)return oa(e,na()??e.authToken??e.connectionMeta.authToken);let t=ta();if(t)return{connectionMeta:t,metaBaseUrl:t.baseUrl??aa(`./`),authToken:na(t.authToken)}}async function ca(e={}){if(e.connection){let t=oa(e.connection,na(e.authToken??e.connection.authToken??e.connection.connectionMeta.authToken));return ra(t),t}let t=Array.isArray(e.baseURL)?e.baseURL:[e.baseURL??`./`];if(e.connectionMeta){let n={connectionMeta:e.connectionMeta,metaBaseUrl:aa(t[0]??`./`),authToken:na(e.authToken??e.connectionMeta.authToken)};return ra(n),n}let n=sa();if(n){let t=oa(n,na(e.authToken??n.authToken??n.connectionMeta.authToken));return ra(t),t}let r=[];for(let n of t){let t=Ki(ii,n),i=aa(n);try{let n=await fetch(t);if(!n.ok)throw Error(`Failed to fetch connection meta from ${i}: ${n.status}`);let r=await n.json(),a=n.url||i,o={connectionMeta:r,metaBaseUrl:r.baseUrl?new URL(r.baseUrl,a).href:a,authToken:na(e.authToken??r.authToken)};return ra(o),o}catch(e){r.push(e)}}throw Error(`Failed to get connection meta from ${t.join(`, `)}`,{cause:r})}var la=class extends Error{name=`DevframeConnectionError`;kind;constructor(e,t,n){super(t,n),this.kind=e}};function ua(e=li){try{let t=globalThis.location?.hash?.replace(/^#/,``)??``;return new URLSearchParams(t).get(e)||void 0}catch{return}}function da(e){try{let t=new URL(globalThis.location.href),n=new URLSearchParams(t.hash.replace(/^#/,``));if(!n.has(e))return;n.delete(e),t.hash=n.toString(),globalThis.history?.replaceState(globalThis.history.state,``,t.href)}catch{}}function fa(e=li){let t=ua(e);return t&&da(e),t}async function pa(e,t={}){let n=fa(t.param??`devframe_otp`);return n?e.isTrusted?!0:e.requestTrustWithCode(n):!1}function ma(e){let t={},n=new WeakMap,r,i=()=>(r??=e.sharedState.get(ci,{initialValue:{}}).then(e=>(t=e.value(),e.on(`updated`,e=>{t=e}),e)),r);return i(),{state:i,has:e=>e in t,keys:()=>Object.keys(t),get:r=>{let i=t[r];if(!i)return;let a=n.get(i);return a||(a={...i,rpc:e.scope(i.scope).rpc},n.set(i,a)),a}}}function ha(e){let t=new Map,n=new Map,r=new Map,i=new Set,a=e.connectionMeta.backend===`static`;function o(e,t){let n=r.get(e);return n&&typeof n==`object`&&!Array.isArray(n)&&typeof t==`object`&&!Array.isArray(t)?{...n,...t}:t}e.client.register({name:R.broadcast.clientStateUpdated,type:`event`,handler:(e,n,r)=>{let i=t.get(e);!i||i.syncIds.has(r)||i.mutate(()=>o(e,n),r)}}),e.client.register({name:R.broadcast.clientStatePatch,type:`event`,handler:(e,n,r)=>{let i=t.get(e);!i||i.syncIds.has(r)||i.patch(n,r)}});function s(t,n){let r=[];return r.push(n.on(`updated`,(n,r,i)=>{a||(r?e.callEvent(`devframe:rpc:server-state:patch`,t,r,i):e.callEvent(`devframe:rpc:server-state:set`,t,n,i))})),()=>{for(let e of r)e()}}return{keys:()=>Array.from(t.keys()),onKeyAdded(e){return i.add(e),()=>{i.delete(e)}},delete(e){let i=n.get(e);n.delete(e);let a=t.delete(e);return r.delete(e),i?.(),a},get:async(c,l)=>{if(l?.initialValue!==void 0&&r.set(c,l.initialValue),t.has(c))return t.get(c);let u=Xr({initialValue:l?.initialValue,enablePatches:!1});async function d(){if(a||e.callEvent(`devframe:rpc:server-state:subscribe`,c),l?.initialValue!==void 0){t.set(c,u);for(let e of i)e(c);return e.call(`devframe:rpc:server-state:get`,c).then(e=>{e!==void 0&&u.mutate(()=>o(c,e))}).catch(e=>{console.error(`Error getting server state`,e)}),n.set(c,s(c,u)),u}{let r=await e.call(`devframe:rpc:server-state:get`,c);u.mutate(()=>o(c,r)),t.set(c,u);for(let e of i)e(c);return n.set(c,s(c,u)),u}}return new Promise(t=>{if(e.isTrusted)d().then(t);else{t(u);let n=!1;e.events.on(R.client.isTrustedUpdated,e=>{e&&!n&&(n=!0,d())})}})}}}var ga=typeof self==`object`?self:globalThis,_a=new Set([`Error`,`EvalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`,`AggregateError`]),va=new Set([`Boolean`,`Number`,`String`,`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float16Array`,`Float32Array`,`Float64Array`,`BigInt64Array`,`BigUint64Array`]);function ya(e,t){let n=(t,n)=>(e.set(n,t),t),r=i=>{if(e.has(i))return e.get(i);let[a,o]=t[i];switch(a){case 0:case-1:return n(o,i);case 1:{let e=n([],i);for(let t of o)e.push(r(t));return e}case 2:{let e=n({},i);for(let[t,n]of o)e[r(t)]=r(n);return e}case 3:return n(new Date(o),i);case 4:{let{source:e,flags:t}=o;return n(new RegExp(e,t),i)}case 5:{let e=n(new Map,i);for(let[t,n]of o)e.set(r(t),r(n));return e}case 6:{let e=n(new Set,i);for(let t of o)e.add(r(t));return e}case 7:{let{name:e,message:t}=o,r=_a.has(e)?ga[e]:void 0;return n(new(r??ga.Error)(t),i)}case 8:return n(BigInt(o),i);case`BigInt`:return n(Object(BigInt(o)),i);case`ArrayBuffer`:return n(new Uint8Array(o).buffer,o);case`DataView`:{let{buffer:e}=new Uint8Array(o);return n(new DataView(e),o)}}if(typeof a==`string`&&va.has(a))return n(new ga[a](o),i);throw TypeError(`unable to deserialize unsafe or unknown type: ${String(a)}`)};return r}function ba(e){return ya(new Map,e)(0)}var xa=``,{toString:Sa}={},{keys:Ca}=Object;function wa(e){let t=typeof e;if(t!==`object`||!e)return[0,t];let n=Sa.call(e).slice(8,-1);switch(n){case`Array`:return[1,xa];case`Object`:return[2,xa];case`Date`:return[3,xa];case`RegExp`:return[4,xa];case`Map`:return[5,xa];case`Set`:return[6,xa];case`DataView`:return[1,n]}return n.includes(`Array`)?[1,n]:n.includes(`Error`)?[7,n]:[2,n]}function Ta([e,t]){return e===0&&(t===`function`||t===`symbol`)}function Ea(e,t,n,r){let i=(e,t)=>{let i=r.push(e)-1;return n.set(t,i),i},a=r=>{if(n.has(r))return n.get(r);let[o,s]=wa(r);switch(o){case 0:{let t=r;switch(s){case`bigint`:o=8,t=r.toString();break;case`function`:case`symbol`:if(e)throw TypeError(`unable to serialize ${s}`);t=null;break;case`undefined`:return i([-1],r)}return i([o,t],r)}case 1:{if(s){let e=r;return s===`DataView`?e=new Uint8Array(r.buffer):s===`ArrayBuffer`&&(e=new Uint8Array(r)),i([s,[...e]],r)}let e=[],t=i([o,e],r);for(let t of r)e.push(a(t));return t}case 2:{if(s)switch(s){case`BigInt`:return i([s,r.toString()],r);case`Boolean`:case`Number`:case`String`:return i([s,r.valueOf()],r)}if(t&&`toJSON`in r)return a(r.toJSON());let n=[],c=i([o,n],r);for(let t of Ca(r))(e||!Ta(wa(r[t])))&&n.push([a(t),a(r[t])]);return c}case 3:return i([o,r.toISOString()],r);case 4:{let{source:e,flags:t}=r;return i([o,{source:e,flags:t}],r)}case 5:{let t=[],n=i([o,t],r);for(let[n,i]of r)(e||!(Ta(wa(n))||Ta(wa(i))))&&t.push([a(n),a(i)]);return n}case 6:{let t=[],n=i([o,t],r);for(let n of r)(e||!Ta(wa(n)))&&t.push(a(n));return n}}let{message:c}=r;return i([o,{name:s,message:c}],r)};return a}function Da(e,t={}){let n=[];return Ea(!(t.json||t.lossy),!!t.json,new Map,n)(e),n}var{parse:Oa,stringify:ka}=JSON,Aa={json:!0,lossy:!0};function ja(e){return ba(Oa(e))}function Ma(e){return ka(Da(e,Aa))}function Na(e){return ba(e)}function Pa(e){return Ma(e)}function Fa(e){return ja(e)}var Ia=new Map;function La(e=Ia){let t=new Map;return{serialize:n=>{let r;return n.t===`q`?r=n.m:(r=t.get(n.i),t.delete(n.i)),!(n.t===`s`&&`e`in n)&&r&&e.get(r)?.jsonSerializable===!0?Ni(n,r??``):`s:${Pa(n)}`},deserialize:e=>{let n=e.startsWith(`s:`)?Fa(e.slice(2)):JSON.parse(e);return n.t===`q`&&n.i&&n.m&&t.set(n.i,n.m),n}}}function Ra(){}function za(e){let t=e.search(/\n\n|\r\n\r\n/);if(!(t<0))return{frame:e.slice(0,t),rest:e.slice(t+(e[t]===`\r`?4:2))}}function Ba(e){let t=`message`,n=[];for(let r of e.split(/\r?\n/))r.startsWith(`:`)||(r.startsWith(`event:`)?t=r.slice(6).trimStart():r.startsWith(`data:`)&&n.push(r.slice(5).replace(/^ /,``)));return{event:t,data:n}}function Va(e){let{onConnected:t=Ra,onError:n=Ra,onDisconnected:r=Ra,definitions:i,fetch:a=globalThis.fetch.bind(globalThis)}=e,o=e.url;e.authToken&&(o=`${o}${o.includes(`?`)?`&`:`?`}${ui}=${encodeURIComponent(e.authToken)}`);let s=La(i),c=new AbortController,l=!1,u,d,f,p,m=new Promise((e,t)=>{f=e,p=t});m.catch(()=>{});function h(e){l||(l=!0,p(e),n(e),r())}function g(){l||(l=!0,p(Error(`Devframe SSE stream closed`)),r())}function _(e,n){if(e===`session`){f(n),t();return}u?.(n)}async function v(e){let t=e.getReader();d=t;let n=new TextDecoder,r=``;for(;;){let{done:e,value:i}=await t.read();if(e)break;for(r+=n.decode(i,{stream:!0});;){let e=za(r);if(!e)break;r=e.rest;let{event:t,data:n}=Ba(e.frame);n.length>0&&_(t,n.join(`
4
- `))}}g()}return(async()=>{try{let e=await a(o,{headers:{accept:`text/event-stream`},signal:c.signal});if(!e.ok||!e.body)throw Error(`Devframe SSE stream request failed: ${e.status}`);await v(e.body)}catch(e){if(c.signal.aborted){g();return}h(e instanceof Error?e:Error(String(e)))}})(),{close:()=>{l=!0,c.abort(),d?.cancel().catch(()=>{})},on:e=>{u=e},post:async e=>{let t;try{t=await m}catch{return}if(l){n(Error(`Devframe SSE channel is closed; message dropped`));return}try{let n=await a(o,{method:`POST`,headers:{"content-type":`text/plain; charset=utf-8`,[oi]:t},body:e});if(n.status===200){let e=await n.text();e&&u?.(e);return}if(!n.ok)throw Error(`Devframe SSE POST failed: ${n.status}`)}catch(e){n(e instanceof Error?e:Error(String(e)))}},serialize:s.serialize,deserialize:s.deserialize}}function Ha(e,t){let{channel:n,rpcOptions:r={}}=t;return Jt(e,{...n,timeout:-1,...r,proxify:!1})}function Ua(e){let{transport:t,authToken:n,connectionMeta:r,events:i,clientRpc:a,rpcOptions:o={},callTimeout:s=0}=e,c=!1,l=`connecting`,u=null,d=Promise.withResolvers();function f(e,t=null){if(t?u=t:e===`connected`&&(u=null),e===l)return;let n=l;l=e,i.emit(R.client.connectionStatus,e,n)}let p=new Set;function m(e){for(let t of[...p])t.reject(e)}function h(){return l===`disconnected`||l===`error`?new la(`connection`,`[devframe] Not connected to the devframe server`,{cause:u??void 0}):l===`unauthorized`?new la(`auth`,`[devframe] Not authorized by the devframe server`,{cause:u??void 0}):null}function g(e,t){return new Promise((n,r)=>{let a=!1,o,c={reject(e){a||(l(),i.emit(R.client.error,e,t),r(e))}};function l(){a=!0,p.delete(c),o&&clearTimeout(o)}p.add(c),s>0&&(o=setTimeout(()=>{c.reject(new la(`timeout`,`[devframe] RPC call "${t}" timed out after ${s}ms`))},s)),e.then(e=>{a||(l(),n(e))},e=>{if(a)return;l();let n=e instanceof Error?e:Error(String(e));i.emit(R.client.error,n,t),r(n)})})}let _=new Map;for(let e of r.jsonSerializableMethods??[])_.set(e,{jsonSerializable:!0});let v=e.createChannel({definitions:_,onError(e){f(`error`,e),i.emit(R.client.connectionError,e),m(new la(`connection`,`[devframe] Connection to the devframe server failed`,{cause:e}))},onDisconnected(){l!==`error`&&f(`disconnected`),m(new la(`connection`,`[devframe] Disconnected from the devframe server`,{cause:u??void 0}))}}),y=Ha(a.functions,{channel:v,rpcOptions:o});a.register({name:R.broadcast.authRevoked,type:`event`,handler:()=>{c=!1;let e=new la(`auth`,`[devframe] The devframe server revoked this client's trust`);f(`unauthorized`,e),i.emit(R.client.connectionError,e),m(e),i.emit(R.client.isTrustedUpdated,!1)}});let b=n;async function x(e){b=e;let t=await y.$call(`anonymous:devframe:auth`,{authToken:e,ua:navigator.userAgent,origin:location.origin});if(c=t.isTrusted,c)d.resolve(!0),f(`connected`);else{let e=new la(`auth`,`[devframe] The devframe server refused this client's credentials`);f(`unauthorized`,e),i.emit(R.client.connectionError,e)}return i.emit(R.client.isTrustedUpdated,c),t.isTrusted}async function S(e){let t=(await y.$call(`anonymous:devframe:auth:exchange`,{code:e,ua:navigator.userAgent,origin:location.origin}))?.authToken??null;return t&&(b=t,c=!0,d.resolve(!0),f(`connected`),i.emit(R.client.isTrustedUpdated,!0)),t}async function C(e={}){await y.$call(`anonymous:devframe:auth:request-code`,{ua:navigator.userAgent,origin:location.origin,...e.reissue?{reissue:!0}:{}})}async function w(){return c?!0:x(b??``)}async function T(e=6e4){if(c&&d.resolve(!0),e<=0)return d.promise;let t=()=>{};return await Promise.race([d.promise.then(t),new Promise((n,r)=>{let i=setTimeout(()=>{r(Error(`[devframe] Timeout waiting for rpc to be trusted`))},e);t=()=>clearTimeout(i)})]),c}return{transport:t,get isTrusted(){return c},get status(){return l},get connectionError(){return u},requestTrust:w,requestTrustWithToken:x,requestTrustWithCode:S,requestAuthCode:C,ensureTrusted:T,call:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(R.client.error,n,t),Promise.reject(n)):g(y.$call(...e),t)},callEvent:(...e)=>{let t=h();if(t){i.emit(R.client.error,t,String(e[0]));return}return y.$callEvent(...e)},callOptional:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(R.client.error,n,t),Promise.reject(n)):g(y.$callOptional(...e),t)},close:()=>{v.close()}}}function Wa(e,t,n){let r=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})();if(e&&typeof e==`object`){if(e.host!=null||e.port!=null){let t=e.host??`${r.hostname}:${e.port}`;return new URL(e.path??`/`,`${r.protocol}//${t}`).href}return new URL(e.path??``,r).href}let i=e??``;return/^https?:\/\//i.test(i)?i:new URL(i,r).href}function Ga(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},sseOptions:s={},callTimeout:c=0}=e,l=Wa(n.sse,r??`./`,location);return Ua({transport:`sse`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>Va({url:l,authToken:t,definitions:e.definitions,...s,onConnected(){s.onConnected?.()},onError(t){e.onError(t),s.onError?.(t)},onDisconnected(){e.onDisconnected(),s.onDisconnected?.()}})})}function Ka(e){let{name:t,message:n,cause:r,...i}=e,a=r instanceof Error?r:qa(r)?Ka(r):r,o=a===void 0?Error(n):Error(n,{cause:a});return o.name=t,Object.assign(o,i),o}function qa(e){return typeof e==`object`&&!!e&&typeof e.message==`string`&&typeof e.name==`string`}function Ja(e){return typeof e==`object`&&!!e&&e.type===`static`&&typeof e.path==`string`}function Ya(e){return typeof e==`object`&&!!e&&e.type===`query`&&typeof e.records==`object`&&e.records!==null}function Xa(e){return typeof e==`object`&&!!e&&(`output`in e||`error`in e)}function Za(e){if(e.error)throw Ka(e.error);return e.output}function Qa(e){return e.some(e=>e!=null)}function $a(e){return typeof e==`object`&&e&&`serialization`in e&&`data`in e?e.data:e}function eo(e,t){let n=new Map,r=new Map;function i(e,t){return t===`structured-clone`&&Array.isArray(e)?Na(e):e}function a(e,t){return i($a(e),t)}async function o(e){n.has(e.path)||n.set(e.path,t(e.path).then(t=>a(t,e.serialization)));let r=await n.get(e.path);return Xa(r)?Za(r):r}async function s(e,n){return r.has(e)||r.set(e,t(e).then(e=>a(e,n))),await r.get(e)}async function c(t,n){if(!(t in e))throw Error(`[devframe-rpc] Function "${t}" not found in dump store`);let r=e[t];if(Ja(r)){if(Qa(n))throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`);return await o(r)}if(Ya(r)){let e=Ci(n),i=r.records[e];if(i)return Za(await s(i,r.serialization));if(r.fallback)return Za(await s(r.fallback,r.serialization));throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}if(!Qa(n))return r;throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}return{call:async(e,t)=>await c(e,t),callOptional:async(t,n)=>{if(t in e)return await c(t,n)},callEvent:async(e,t)=>{}}}async function to(e){let t=eo(await e.fetchJsonFromBases(si),e.fetchJsonFromBases);return{transport:`static`,isTrusted:!0,status:`connected`,connectionError:null,requestTrust:async()=>!0,requestTrustWithToken:async()=>!0,requestTrustWithCode:async()=>null,requestAuthCode:async()=>{},ensureTrusted:async()=>!0,call:(...e)=>t.call(e[0],e.slice(1)),callEvent:(...e)=>t.callEvent(e[0],e.slice(1)),callOptional:(...e)=>t.callOptional(e[0],e.slice(1)),close:()=>{}}}var no=256,ro=class extends Error{name=`StreamClosedError`};function io(e={}){let t=e.id??cn(),n=Math.max(0,e.replayWindow??0),r=An(),i=new AbortController,a=[],o=!1,s=0;function c(e){if(o)throw new ro(`Cannot write to a closed stream "${t}"`);s+=1,n>0&&(a.push({seq:s,chunk:e}),a.length>n&&(a.length-n===1?a.shift():a.splice(0,a.length-n))),r.emit(`chunk`,s,e)}function l(e){if(o)return;o=!0;let t=oo(e);i.abort(e),r.emit(`end`,t)}function u(){o||(o=!0,i.signal.aborted||i.abort(`stream closed`),r.emit(`end`,void 0))}function d(e){o||i.signal.aborted||i.abort(e??`aborted`)}let f=new WritableStream({write(e){c(e)},close(){u()},abort(e){l(e)}});return{id:t,signal:i.signal,get closed(){return o},get lastSeq(){return s},write:c,error:l,close:u,abort:d,writable:f,events:r,buffer:a}}function ao(e={}){let t=e.id??cn(),n=Math.max(1,e.highWaterMark??no),r=[],i=0,a=!1,o=!1,s,c,l,u;function d(){if(c){if(r.length>0){let e=r.shift(),t=c;c=void 0,t.resolve({value:e,done:!1});return}if(a){let e=c;if(c=void 0,s){let t=Error(s.message);t.name=s.name,e.reject(t)}else e.resolve({value:void 0,done:!0})}}}function f(){if(l){for(;r.length>0;){let e=r.shift();try{l.enqueue(e)}catch{break}}if(a&&l){try{if(s){let e=Error(s.message);e.name=s.name,l.error(e)}else l.close()}catch{}l=void 0}}}function p(t,s){if(!(a||o)&&!(t<=i)){if(i=t,r.push(s),r.length>n){let t=r.length-n;r.splice(0,t),e.onOverflow?.(t)}d(),u&&f()}}function m(e){a||(a=!0,s=e,d(),u&&f())}function h(){o||a||(o=!0,e.onCancel?.(),m(void 0))}function g(){return u||(u=new ReadableStream({start(e){l=e,f()},cancel(){h()}}),u)}return{id:t,get cancelled(){return o},get done(){return a},get lastSeenSeq(){return i},get readable(){return g()},cancel:h,_push:p,_end:m,[Symbol.asyncIterator](){return{next(){if(r.length>0)return Promise.resolve({value:r.shift(),done:!1});if(a){if(s){let e=Error(s.message);return e.name=s.name,Promise.reject(e)}return Promise.resolve({value:void 0,done:!0})}return new Promise((e,t)=>{c={resolve:e,reject:t}})},return(){return h(),Promise.resolve({value:void 0,done:!0})}}}}}function oo(e){if(e instanceof Error)return{name:e.name||`Error`,message:e.message};if(typeof e==`string`)return{name:`Error`,message:e};try{return{name:`Error`,message:JSON.stringify(e)}}catch{return{name:`Error`,message:String(e)}}}var so=``;function co(e,t){return`${e}${so}${t}`}function lo(e){let t=new Map,n=new Map;e.client.register({name:R.broadcast.streamingChunk,type:`event`,handler(e,n,r,i){t.get(co(e,n))?._push(r,i)}}),e.client.register({name:R.broadcast.streamingEnd,type:`event`,handler(e,n,r){let i=co(e,n),a=t.get(i);a&&(a._end(r),t.delete(i))}}),e.client.register({name:R.broadcast.streamingUploadCancel,type:`event`,handler(e,t){let r=co(e,t),i=n.get(r);i&&(i.abort(`server cancelled upload`),n.delete(r))}}),e.events.on(R.client.isTrustedUpdated,n=>{if(n)for(let[n,r]of t){if(r.cancelled||r.done)continue;let t=n.indexOf(so);if(t<0)continue;let i=n.slice(0,t),a=n.slice(t+1);e.callEvent(`devframe:streaming:subscribe`,i,a,{afterSeq:r.lastSeenSeq})}});function r(n,r,i={}){let a=co(n,r),o=t.get(a);if(o)return o;let s=ao({id:r,highWaterMark:i.highWaterMark,onOverflow(e){console.warn(`[devframe] DF0029: Stream "${n}#${r}" dropped ${e} chunk(s) after exceeding the client high-water mark.`)},onCancel(){e.callEvent(`devframe:streaming:cancel`,n,r),t.delete(a)}});if(t.set(a,s),e.isTrusted)e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:0});else{let i=e.events.on(R.client.isTrustedUpdated,o=>{o&&(i(),t.has(a)&&!s.cancelled&&!s.done&&e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:s.lastSeenSeq}))})}return s}function i(t,r){let i=co(t,r),a=n.get(i);if(a)return a;let o=io({id:r});return o.events.on(`chunk`,(n,i)=>{e.callEvent(`devframe:streaming:upload-chunk`,t,r,n,i)}),o.events.on(`end`,a=>{e.callEvent(`devframe:streaming:upload-end`,t,r,a),n.delete(i)}),n.set(i,o),o}return{subscribe:r,upload:i}}function uo(){}var fo=new Map;function po(e){let t=e.url;e.authToken&&(t=`${t}?${ui}=${encodeURIComponent(e.authToken)}`);let n=new WebSocket(t),{onConnected:r=uo,onError:i=uo,onDisconnected:a=uo,definitions:o=fo}=e;n.addEventListener(`open`,e=>{r(e)}),n.addEventListener(`error`,e=>{let t=e instanceof Error?e:Error(e.type);i(t)}),n.addEventListener(`close`,e=>{a(e)});let s=La(o);return{close:()=>{n.close()},on:e=>{n.addEventListener(`message`,t=>{e(t.data)})},post:e=>{if(n.readyState===WebSocket.OPEN){n.send(e);return}if(n.readyState===WebSocket.CONNECTING){let t=()=>{i(),n.readyState===WebSocket.OPEN&&n.send(e)},r=()=>i();function i(){n.removeEventListener(`open`,t),n.removeEventListener(`close`,r)}n.addEventListener(`open`,t),n.addEventListener(`close`,r);return}i(Error(`Devframe WebSocket is not open; message dropped`))},serialize:s.serialize,deserialize:s.deserialize}}function mo(e,t,n){let r=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})(),i=r.protocol===`https:`?`wss:`:`ws:`;if(e&&typeof e==`object`){if(e.host!=null||e.port!=null){let t=e.host??`${r.hostname}:${e.port}`,n=new URL(e.path??`/`,`${i}//${t}`);return n.protocol=i,n.href}let t=new URL(e.path??``,r);return t.protocol=i,t.href}if(typeof e==`number`)return`${i}//${r.hostname}:${e}`;let a=e??``;if(/^wss?:\/\//i.test(a))return a;if(/^https?:\/\//i.test(a))return Xi(a,/^https/i.test(a)?`wss://`:`ws://`);let o=new URL(a,r);return o.protocol=i,o.href}function ho(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},wsOptions:s={},callTimeout:c=0}=e,l=mo(n.websocket,r??`./`,location);return Ua({transport:`websocket`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>po({url:l,authToken:t,definitions:e.definitions,...s,onConnected(e){s.onConnected?.(e)},onError(t){e.onError(t),s.onError?.(t)},onDisconnected(t){e.onDisconnected(),s.onDisconnected?.(t)}})})}function go(e){return e.includes(`:`)}function _o(e,t){return go(t)?t:`${e}:${t}`}function vo(e){return{async get(t){return(await e()).value()[t]},async set(t,n){(await e()).mutate(e=>{e[t]=n})},async delete(t){(await e()).mutate(e=>{delete e[t]})},async all(){return(await e()).value()},async onChange(t){return(await e()).on(`updated`,e=>t(e))}}}function yo(e,t,n){let r=`devframe:settings:${n}:${t}`,i;function a(){return i||=e.sharedState.get(r,{initialValue:{}}),i}return vo(a)}function bo(e,t){return{global:yo(e,t,`global`),project:yo(e,t,`project`)}}function xo(e,t){return{namespace:t,base:e,rpc:{namespace:t,register(n){if(go(n.name))throw Error(`[devframe] Scoped client RPC registration for namespace "${t}" received an already-namespaced function name "${n.name}". Pass a bare name without a ":" separator.`);e.client.register({...n,name:`${t}:${n.name}`})},call:((n,...r)=>e.call(_o(t,n),...r)),callEvent:((n,...r)=>e.callEvent(_o(t,n),...r)),callOptional:((n,...r)=>e.callOptional(_o(t,n),...r)),sharedState:((n,r)=>e.sharedState.get(_o(t,n),r)),streaming:{subscribe:(n,r,i)=>e.streaming.subscribe(_o(t,n),r,i),upload:(n,r)=>e.streaming.upload(_o(t,n),r)}},settings:bo(e,t),scope:e.scope}}var So=128;function Co(e){return e.replace(/[^\w-]+/g,`_`).slice(0,So)}var wo=Object.freeze({type:`object`,additionalProperties:!0});function To(e){let t=e[`~standard`];if(t.jsonSchema)try{return t.jsonSchema.input({target:`draft-2020-12`})}catch{return wo}return wo}function Eo(e){if(!e||e.length===0)return{type:`object`,properties:{}};let t={},n=[];for(let r=0;r<e.length;r++){let i=`arg${r}`;t[i]=To(e[r]),n.push(i)}return{type:`object`,properties:t,required:n,additionalProperties:!1}}function Do(e,t,n=`wrap`){if(Array.isArray(e))return e;if(e==null)return[];if(typeof e==`object`){let n=e;if(t&&t.length)return t.map((e,t)=>n[`arg${t}`]);if(`arg0`in n){let e=[],t=0;for(;`arg${t}`in n;)e.push(n[`arg${t}`]),t++;return e}if(Object.keys(n).length===0)return[]}return n===`drop`?[]:[e]}function Oo(){if(typeof document<`u`){let e=document.modelContext;if(e)return e}if(typeof navigator<`u`){let e=navigator.modelContext;if(e)return e}}function ko(e,t={}){let n=t.modelContext??Oo();if(!n)return()=>{};let r=n,i=new Map,a=new Map;function o(t,n){let o=Co(t.name),s=a.get(o);if(s&&s!==t.name){console.warn(`[devframe] WebMCP tool name "${o}" (from "${t.name}") collides with "${s}"; keeping the first registration.`);return}let c=new AbortController,l=r.registerTool({name:o,description:n.description,inputSchema:Eo(t.args),annotations:{title:n.title??t.name,readOnlyHint:Ao(t,n)===`read`,destructiveHint:Ao(t,n)===`destructive`},execute:n=>jo(t,e.context,n)},{signal:c.signal});l&&`then`in l&&l.then(()=>{},()=>{}),a.set(o,t.name),i.set(t.name,()=>{c.abort(),l&&`unregister`in l&&typeof l.unregister==`function`&&l.unregister(),a.delete(o)})}function s(t){let n=t?[t]:[...e.definitions.keys()];for(let t of n){i.get(t)?.(),i.delete(t);let n=e.definitions.get(t),r=n?.agent;n&&r&&o(n,r)}}s();let c=e.onChanged(e=>s(e));return()=>{c();for(let e of i.values())e();i.clear()}}function Ao(e,t){if(t.safety)return t.safety;let n=e.type??`query`;return n===`static`||n===`query`?`read`:`action`}async function jo(e,t,n){try{let r=Do(n,e.args,`wrap`);return{content:[{type:`text`,text:Mo(await(await Ai(e,t))(...r))}]}}catch(e){return{isError:!0,content:[{type:`text`,text:No(e)}]}}}function Mo(e){return e===void 0?`undefined`:typeof e==`string`?e:JSON.stringify(e,null,2)}function No(e){if(!(e instanceof Error))return String(e);let t=e.cause instanceof Error?` (cause: ${e.cause.message})`:``;return`${e.name}: ${e.message}${t}`}function Po(e,t){if(t.backend===`static`)return`static`;let n=t.websocket!==void 0,r=t.sse!==void 0;if(e===`websocket`){if(!n)throw Error(`[devframe] transport: 'websocket' was requested, but this server does not advertise a WebSocket endpoint`);return`websocket`}if(e===`sse`){if(!r)throw Error(`[devframe] transport: 'sse' was requested, but this server does not advertise an SSE endpoint`);return`sse`}if(t.backend===`sse`&&r)return`sse`;if(n)return`websocket`;if(r)return`sse`;throw Error(`[devframe] This server advertises no RPC transport (backend "none"), so there is nothing to connect to. Enable the WebSocket or SSE endpoint on the server, or use its static/MCP surfaces instead.`)}async function Fo(e={}){let{baseURL:t=`./`,rpcOptions:n={},cacheOptions:r=!1}=e,i=An(),a=Array.isArray(t)?t:[t],o=await ca(e),{connectionMeta:s,metaBaseUrl:c,authToken:l}=o,u=a[0]??`./`;try{u=new URL(`.`,c).href}catch{}let d=new wi({functions:[],...typeof e.cacheOptions==`object`?e.cacheOptions:{}}),f={rpc:void 0},p=new ji(f),m=e.webmcp===!1?void 0:ko(p);async function h(e){let t=[u,...a.filter(e=>e!==u)].filter(e=>e!=null),n=[];for(let r of t)try{return await fetch(Ki(e,r)).then(t=>{if(!t.ok)throw Error(`Failed to fetch ${e} from ${r}: ${t.status}`);return t.json()})}catch(e){n.push(e)}throw Error(`Failed to load ${e} from ${t.join(`, `)}`,{cause:n})}let g={authToken:l,connectionMeta:s,metaBaseUrl:c,events:i,clientRpc:p,callTimeout:e.callTimeout,rpcOptions:{...n,async onRequest(e,t,i){if(await n.onRequest?.call(this,e,t,i),r&&d?.validate(e.m)){if(d.has(e.m,e.a))return i(d.cached(e.m,e.a));let n=await t(e);d.apply(e,n)}else await t(e)}}},_=Po(e.transport??`auto`,s),v=_===`static`?await to({fetchJsonFromBases:h}):_===`sse`?Ga({...g,sseOptions:e.sseOptions}):ho({...g,wsOptions:e.wsOptions}),y;try{y=new BroadcastChannel(`devframe-auth`)}catch{}let b,x=!1;function S(e){return((...t)=>x||!b?e(...t):b.then(()=>e(...t)))}let C={events:i,get isTrusted(){return v.isTrusted},get status(){return v.status},get connectionError(){return v.connectionError},get transport(){return v.transport??_},get connection(){return o},connectionMeta:s,ensureTrusted:v.ensureTrusted,requestTrust:v.requestTrust,requestTrustWithToken:async e=>(ia(e),o={...o,authToken:e},v.requestTrustWithToken(e)),requestTrustWithCode:async e=>{let t=await v.requestTrustWithCode(e);if(!t)return!1;ia(t),o={...o,authToken:t};try{y?.postMessage({type:`auth-update`,authToken:t})}catch{}return!0},requestAuthCode:e=>v.requestAuthCode(e),call:S(v.call),callEvent:S(v.callEvent),callOptional:S(v.callOptional),client:p,sharedState:void 0,services:void 0,streaming:void 0,cacheManager:d,scope:void 0,close:()=>{m?.(),v.close?.()}};C.sharedState=ha(C),C.streaming=lo(C),C.services=ma(C);let w=new Map;C.scope=(e=>{if(!e)return C;let t=w.get(e);return t||(t=xo(C,e),w.set(e,t)),t}),f.rpc=C;function T(){try{return typeof window<`u`&&window.self===window.top}catch{return!1}}async function E(){if(!(e.simpleAuth===!1||!T())&&typeof globalThis.prompt==`function`)for(await C.requestAuthCode().catch(()=>{});!C.isTrusted;){let e=globalThis.prompt(`devframe: enter the authentication code shown in your terminal`);if(e==null)return;let t=e.trim();if(t&&await C.requestTrustWithCode(t))return}}async function ee(){let t=await v.requestTrust(),n=e.otpParam??`devframe_otp`,r=n?await pa(C,{param:n}):!1;t||r||C.isTrusted||await E()}return b=ee().then(()=>{x=!0},()=>{x=!0}),y&&(y.onmessage=e=>{e.data?.type===`auth-update`&&e.data.authToken&&C.requestTrustWithToken(e.data.authToken)}),C}var Io=Fo;function Lo(){let[e,t]=v(null),[n,r]=v(null),[i,a]=v(null),[o,s]=v(null);return Io().then(async e=>{t(e.connectionMeta.backend),r(e.status),e.events.on(`connection:status`,e=>r(e));try{await e.ensureTrusted(2e3)}catch{}let n=e.callOptional,i=await n(`devframes:plugin:a11y:get-config`);i&&a(i);try{let t=await e.sharedState.get(He,{initialValue:{activation:null}}),n=e=>{e?.activation&&s({...e.activation})};n(t.value()),t.on(`updated`,n)}catch{}}).catch(()=>{r(`error`)}),{backend:e,status:n,config:i,activation:o}}var Ro=N(`<div class="flex flex-col h-full min-h-0 bg-base color-base font-sans"><p class=sr-only aria-live=polite></p><div id=a11y-scroll class="a11y-scroll flex-1 min-h-0 overflow-y-auto px-4 pb-5">`),zo=`<script type="module" src="…/inject.js"><\/script>`,Bo=`devframes:plugin:a11y:autoscan`,$=(e,t)=>`${e}::${t}`;function Vo(e,t){return{nodeId:t.id,target:t.target,impact:e.impact,ruleId:e.ruleId}}function Ho(){let e=ri(),t=Lo(),[n,r]=v(null),[i,a]=v(!0),[o,s]=v(new Set),[c,l]=v(new Set),[u,d]=v(new Set),[f,p]=v(!1),[m,h]=v(null),g=(()=>{try{return sessionStorage.getItem(Bo)}catch{return null}})(),[_,y]=v(g==null||g===`1`),C=()=>e.state()?.routes??[],T=()=>e.activeRoute(),E=x(()=>C().find(e=>e.route===T())??null),ee=()=>e.state()?.engine,D=e=>i()||!e.bestPractice,te=e=>n()===null||e.impact===n(),ne=x(()=>{let e=We();for(let t of C())for(let n of t.violations)D(n)&&(e[n.impact]+=n.nodes.length);return e}),O=x(()=>C().reduce((e,t)=>e+t.violations.filter(D).reduce((e,t)=>e+t.nodes.length,0),0)),re=x(()=>C().reduce((e,t)=>e+t.violations.filter(D).length,0)),ie=x(()=>{let e=C().map(e=>({report:e,active:e.route===T(),violations:e.violations.filter(e=>D(e)&&te(e))})).filter(e=>e.violations.length>0);return e.sort((e,t)=>Number(t.active)-Number(e.active)),e}),ae=x(()=>ie().reduce((e,t)=>e+t.violations.length,0)),oe=x(()=>C().reduce((e,t)=>e+t.violations.filter(D).length,0)),se=x(()=>{let e=new Set;for(let t of C())o().has(t.route)||e.add(t.route);return e}),ce=x(()=>{let e=u(),t=[];for(let n of C())for(let r of n.violations)if(e.has($(n.route,r.ruleId)))for(let e of r.nodes)t.push(Vo(r,e));return t}),k=e=>{let t=[];for(let n of C())for(let r of n.violations)if(D(r)&&r.impact===e)for(let e of r.nodes)t.push(Vo(r,e));return t},le=x(()=>{let e=u(),t=[];for(let n of C())for(let r of n.violations)e.has($(n.route,r.ruleId))&&t.push({route:n.route,url:n.url,violation:r});return t}),ue=x(()=>ie().flatMap(e=>e.violations.map(t=>$(e.report.route,t.ruleId)))),de=x(()=>{let e=ue();return e.length>0&&e.every(e=>u().has(e))});function fe(){let e=ue();e.length!==0&&d(t=>{let n=new Set(t);for(let t of e)n.add(t);return n})}function pe(){let e=ue();e.length!==0&&d(t=>{let n=new Set(t);for(let t of e)n.has(t)?n.delete(t):n.add(t);return n})}function A(){d(new Set)}let me={isSelected:(e,t)=>u().has($(e,t)),toggle:(e,t)=>{let n=$(e,t);d(e=>{let t=new Set(e);return t.has(n)?t.delete(n):t.add(n),t})},numberOf:e=>{let t=ce().findIndex(t=>t.nodeId===e);return t===-1?null:t+1}},he=!1;b(()=>{let n=t.config();n&&(e.sendConfig(n.pageScript),!he&&g==null&&(he=!0,y(n.pageScript.autoScan)))}),b(w(_,t=>{e.setAutoScan(t);try{sessionStorage.setItem(Bo,t?`1`:`0`)}catch{}})),b(()=>{let e=T();e&&s(t=>t.has(e)?t:new Set(t).add(e))}),b(()=>{let t=m();e.setPins(t?k(t):ce())});let ge=new Set;b(()=>{let e=t.config(),n=E();!e?.defaultHighlight||!n||ge.has(n.route)||(ge.add(n.route),d(e=>{let t=new Set(e);for(let e of n.violations)t.add($(n.route,e.ruleId));return t}))}),b(w(t.activation,e=>{if(!e)return;let n=t.config();if(n&&e.dockId!==n.dockId)return;let r=e.params??{},i=typeof r.route==`string`?r.route:void 0,a=typeof r.ruleId==`string`?r.ruleId:void 0;if(r.tab===`dashboard`||!i){document.querySelector(`#a11y-scroll`)?.scrollTo({top:0,behavior:`smooth`});return}S(()=>{s(e=>new Set(e).add(i)),a&&(l(e=>new Set(e).add(`${i}::${a}`)),d(e=>new Set(e).add($(i,a))))}),a&&setTimeout(()=>document.getElementById(Ct(i,a))?.scrollIntoView({block:`center`,behavior:`smooth`}),60)},{defer:!0}));function _e(e){r(t=>t===e?null:e)}function ve(e){s(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}function ye(e,t){let n=`${e}::${t}`;l(e=>{let t=new Set(e);return t.has(n)?t.delete(n):t.add(n),t})}let be=()=>e.state()?`${O()} accessibility ${O()===1?`issue`:`issues`} found across ${C().length} ${C().length===1?`route`:`routes`}`:e.scanning()?`Scanning the page`:``;return(()=>{var r=Ro(),o=r.firstChild,s=o.nextSibling;return I(r,j(st,{get pageScriptReady(){return e.pageScriptReady()},get scanning(){return e.scanning()},get selectedCount(){return le().length},onGenerate:()=>p(!0),get onRescan(){return e.rescan}}),o),I(r,j(ft,{get url(){return E()?.url},get engine(){return ee()},get backend(){return t.backend},get status(){return t.status}}),o),I(o,be),I(s,j(we,{get children(){return[j(Te,{get when(){return Ee(()=>!e.state())()&&!e.pageScriptReady()},get children(){return j(qe,{icon:`i-ph-plugs-duotone text-4xl`,title:`No page connected`,body:`Load the inspector page script in the app you want to check, then this panel will list its accessibility issues live.`,code:zo})}}),j(Te,{get when(){return!e.state()},get children(){return j(qe,{icon:`i-ph-plugs-duotone text-4xl`,title:`Scanning the page…`,body:`Running axe-core against the connected document.`})}}),j(Te,{get when(){return oe()===0},get children(){return j(qe,{clean:!0,icon:`i-ph-check-circle-duotone text-4xl`,title:`No violations`,body:`axe-core found nothing to flag across the tracked routes. Re-run after changes to keep it that way.`})}}),j(Te,{get when(){return oe()>0},get children(){return[j(St,{get counts(){return ne()},get filter(){return n()},onToggleFilter:_e,onHoverImpact:h,get totalNodes(){return O()},get totalRules(){return re()},get routeCount(){return C().length},get selectedCount(){return le().length},get allSelected(){return de()},onSelectAll:fe,onInvertSelection:pe,onClearSelection:A,get autoScan(){return _()},onToggleAutoScan:y,get showBestPractice(){return i()},onToggleBestPractice:a,get onClearAll(){return e.clearAll}}),j(M,{get when(){return ae()>0},get fallback(){return j(qe,{clean:!0,icon:`i-ph-check-circle-duotone text-4xl`,title:`Nothing matches the filter`,get body(){return[Ee(oe),` `,Ee(()=>oe()===1?`rule`:`rules`),` at other severities. Clear the filter to see them.`]}})},get children(){return j(Rt,{get groups(){return ie()},get collapsedRoutes(){return se()},onToggleGroup:ve,get onClearRoute(){return e.clearRoute},get expandedRules(){return c()},onToggleRule:ye,channel:e,selection:me})}})]}})]}})),I(r,j(M,{get when(){return Ee(()=>!!f())()&&le().length>0},get children(){return j(it,{get items(){return le()},onClose:()=>p(!1)})}}),null),r})()}var Uo=window.matchMedia(`(prefers-color-scheme: dark)`);function Wo(e){document.documentElement.classList.toggle(`dark`,e),document.documentElement.classList.toggle(`light`,!e)}Wo(Uo.matches),Uo.addEventListener(`change`,e=>Wo(e.matches));var Go=document.getElementById(`app`);if(!Go)throw Error(`#app mount node missing from index.html`);ke(()=>j(Ho,{}),Go);