@peam-ai/client 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- /* Peam 0.1.1 | https://peam.ai */
2
+ /* Peam 0.1.2 | https://peam.ai */
3
3
  'use strict';var lucideReact=require('lucide-react'),react=require('react'),logger=require('@peam-ai/logger'),dexieReactHooks=require('dexie-react-hooks'),to=require('dexie'),reactSlot=require('@radix-ui/react-slot'),classVarianceAuthority=require('class-variance-authority'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),jsxRuntime=require('react/jsx-runtime'),useStickToBottom=require('use-stick-to-bottom'),V=require('@radix-ui/react-tooltip'),streamdown=require('streamdown'),nanoid=require('nanoid'),react$1=require('motion/react'),mt=require('@radix-ui/react-collapsible'),react$2=require('@ai-sdk/react'),ai=require('ai');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var to__default=/*#__PURE__*/_interopDefault(to);var V__namespace=/*#__PURE__*/_interopNamespace(V);var mt__namespace=/*#__PURE__*/_interopNamespace(mt);var Ze=Object.defineProperty,Qe=Object.defineProperties;var Ye=Object.getOwnPropertyDescriptors;var kt=Object.getOwnPropertySymbols;var ne=Object.prototype.hasOwnProperty,ie=Object.prototype.propertyIsEnumerable;var ae=(t,e,r)=>e in t?Ze(t,e,{enumerable:true,configurable:true,writable:true,value:r}):t[e]=r,s=(t,e)=>{for(var r in e||(e={}))ne.call(e,r)&&ae(t,r,e[r]);if(kt)for(var r of kt(e))ie.call(e,r)&&ae(t,r,e[r]);return t},C=(t,e)=>Qe(t,Ye(e));var u=(t,e)=>{var r={};for(var o in t)ne.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(t!=null&&kt)for(var o of kt(t))e.indexOf(o)<0&&ie.call(t,o)&&(r[o]=t[o]);return r};var D=(t,e,r)=>new Promise((o,n)=>{var a=c=>{try{i(r.next(c));}catch(g){n(g);}},p=c=>{try{i(r.throw(c));}catch(g){n(g);}},i=c=>c.done?o(c.value):Promise.resolve(c.value).then(a,p);i((r=r.apply(t,e)).next());});function Lt(t,{insertAt:e}={}){if(typeof document=="undefined")return;let r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css",e==="top"&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=t:o.appendChild(document.createTextNode(t));}Lt(`/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties;.peam-root,.peam-root :host{--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50: oklch(97.1% .013 17.38);--color-red-100: oklch(93.6% .032 17.717);--color-red-200: oklch(88.5% .062 18.334);--color-red-600: oklch(57.7% .245 27.325);--color-red-700: oklch(50.5% .213 27.518);--color-red-800: oklch(44.4% .177 26.899);--color-orange-600: oklch(64.6% .222 41.116);--color-yellow-600: oklch(68.1% .162 75.834);--color-green-600: oklch(62.7% .194 149.214);--color-blue-600: oklch(54.6% .245 262.881);--color-black: #000;--color-white: #fff;--spacing: .25rem;--container-sm: 24rem;--container-lg: 32rem;--container-2xl: 42rem;--text-xs: .75rem;--text-xs--line-height: calc(1 / .75);--text-sm: .875rem;--text-sm--line-height: calc(1.25 / .875);--text-base: 1rem;--text-base--line-height: 1.5 ;--text-lg: 1.125rem;--text-lg--line-height: calc(1.75 / 1.125);--text-xl: 1.25rem;--text-xl--line-height: calc(1.75 / 1.25);--text-2xl: 1.5rem;--text-2xl--line-height: calc(2 / 1.5);--text-3xl: 1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--tracking-tight: -.025em;--tracking-wide: .025em;--tracking-widest: .1em;--leading-tight: 1.25;--leading-relaxed: 1.625;--radius-xs: .125rem;--drop-shadow-lg: 0 4px 4px rgb(0 0 0 / .15);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--animate-spin: spin 1s linear infinite;--animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm: 8px;--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono);--color-background: var(--background);--color-muted-foreground: var(--muted-foreground);--color-ring: var(--ring)}.peam-root *,.peam-root :after,.peam-root :before,.peam-root ::backdrop,.peam-root ::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}.peam-root,.peam-root :host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}.peam-root hr{height:0;color:inherit;border-top-width:1px}.peam-root abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.peam-root h1,.peam-root h2,.peam-root h3,.peam-root h4,.peam-root h5,.peam-root h6{font-size:inherit;font-weight:inherit}.peam-root a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}.peam-root b,.peam-root strong{font-weight:bolder}.peam-root code,.peam-root kbd,.peam-root samp,.peam-root pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}.peam-root small{font-size:80%}.peam-root sub,.peam-root sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.peam-root sub{bottom:-.25em}.peam-root sup{top:-.5em}.peam-root table{text-indent:0;border-color:inherit;border-collapse:collapse}.peam-root :-moz-focusring{outline:auto}.peam-root progress{vertical-align:baseline}.peam-root summary{display:list-item}.peam-root ol,.peam-root ul,.peam-root menu{list-style:none}.peam-root img,.peam-root svg,.peam-root video,.peam-root canvas,.peam-root audio,.peam-root iframe,.peam-root embed,.peam-root object{display:block;vertical-align:middle}.peam-root img,.peam-root video{max-width:100%;height:auto}.peam-root button,.peam-root input,.peam-root select,.peam-root optgroup,.peam-root textarea,.peam-root ::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}.peam-root :where(select:is([multiple],[size])) optgroup{font-weight:bolder}.peam-root :where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}.peam-root ::file-selector-button{margin-inline-end:4px}.peam-root ::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){.peam-root ::placeholder{color:currentcolor;@supports (color: color-mix(in lab,red,red)){color:color-mix(in oklab,currentcolor 50%,transparent)}}}.peam-root textarea{resize:vertical}.peam-root ::-webkit-search-decoration{-webkit-appearance:none}.peam-root ::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}.peam-root ::-webkit-datetime-edit{display:inline-flex}.peam-root ::-webkit-datetime-edit-fields-wrapper{padding:0}.peam-root ::-webkit-datetime-edit,.peam-root ::-webkit-datetime-edit-year-field,.peam-root ::-webkit-datetime-edit-month-field,.peam-root ::-webkit-datetime-edit-day-field,.peam-root ::-webkit-datetime-edit-hour-field,.peam-root ::-webkit-datetime-edit-minute-field,.peam-root ::-webkit-datetime-edit-second-field,.peam-root ::-webkit-datetime-edit-millisecond-field,.peam-root ::-webkit-datetime-edit-meridiem-field{padding-block:0}.peam-root ::-webkit-calendar-picker-indicator{line-height:1}.peam-root :-moz-ui-invalid{box-shadow:none}.peam-root button,.peam-root input:where([type=button],[type=reset],[type=submit]),.peam-root ::file-selector-button{appearance:button}.peam-root ::-webkit-inner-spin-button,.peam-root ::-webkit-outer-spin-button{height:auto}.peam-root [hidden]:where(:not([hidden=until-found])){display:none!important}.peam-root .\\@container\\/card-header{container-type:inline-size;container-name:card-header}.peam-root .pointer-events-none{pointer-events:none}.peam-root .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.peam-root .absolute{position:absolute}.peam-root .fixed{position:fixed}.peam-root .relative{position:relative}.peam-root .static{position:static}.peam-root .inset-0{inset:calc(var(--spacing) * 0)}.peam-root .inset-x-0{inset-inline:calc(var(--spacing) * 0)}.peam-root .-top-12{top:calc(var(--spacing) * -12)}.peam-root .top-1\\/2{top:50%}.peam-root .top-2{top:calc(var(--spacing) * 2)}.peam-root .top-3{top:calc(var(--spacing) * 3)}.peam-root .top-4{top:calc(var(--spacing) * 4)}.peam-root .top-7{top:calc(var(--spacing) * 7)}.peam-root .top-\\[50\\%\\]{top:50%}.peam-root .top-full{top:100%}.peam-root .-right-12{right:calc(var(--spacing) * -12)}.peam-root .right-0{right:calc(var(--spacing) * 0)}.peam-root .right-2{right:calc(var(--spacing) * 2)}.peam-root .right-3{right:calc(var(--spacing) * 3)}.peam-root .right-4{right:calc(var(--spacing) * 4)}.peam-root .-bottom-12{bottom:calc(var(--spacing) * -12)}.peam-root .bottom-0{bottom:calc(var(--spacing) * 0)}.peam-root .bottom-2{bottom:calc(var(--spacing) * 2)}.peam-root .bottom-4{bottom:calc(var(--spacing) * 4)}.peam-root .-left-12{left:calc(var(--spacing) * -12)}.peam-root .left-1\\/2{left:50%}.peam-root .left-2{left:calc(var(--spacing) * 2)}.peam-root .left-4{left:calc(var(--spacing) * 4)}.peam-root .left-\\[50\\%\\]{left:50%}.peam-root .z-10{z-index:10}.peam-root .z-40{z-index:40}.peam-root .z-50{z-index:50}.peam-root .z-60{z-index:60}.peam-root .order-first{order:-9999}.peam-root .order-last{order:9999}.peam-root .col-start-2{grid-column-start:2}.peam-root .row-span-2{grid-row:span 2 / span 2}.peam-root .row-start-1{grid-row-start:1}.peam-root .container{width:100%;@media(width>=40rem){max-width:40rem}@media(width>=48rem){max-width:48rem}@media(width>=64rem){max-width:64rem}@media(width>=80rem){max-width:80rem}@media(width>=96rem){max-width:96rem}}.peam-root .\\!m-0{margin:calc(var(--spacing) * 0)!important}.peam-root .m-4{margin:calc(var(--spacing) * 4)}.peam-root .-mx-1{margin-inline:calc(var(--spacing) * -1)}.peam-root .-mx-px{margin-inline:-1px}.peam-root .my-1{margin-block:calc(var(--spacing) * 1)}.peam-root .my-4{margin-block:calc(var(--spacing) * 4)}.peam-root .my-6{margin-block:calc(var(--spacing) * 6)}.peam-root .-mt-4{margin-top:calc(var(--spacing) * -4)}.peam-root .mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.peam-root .mt-1{margin-top:calc(var(--spacing) * 1)}.peam-root .mt-2{margin-top:calc(var(--spacing) * 2)}.peam-root .mt-3{margin-top:calc(var(--spacing) * 3)}.peam-root .mt-4{margin-top:calc(var(--spacing) * 4)}.peam-root .mt-6{margin-top:calc(var(--spacing) * 6)}.peam-root .mr-2{margin-right:calc(var(--spacing) * 2)}.peam-root .mr-4{margin-right:calc(var(--spacing) * 4)}.peam-root .-mb-1{margin-bottom:calc(var(--spacing) * -1)}.peam-root .mb-2{margin-bottom:calc(var(--spacing) * 2)}.peam-root .mb-4{margin-bottom:calc(var(--spacing) * 4)}.peam-root .-ml-4{margin-left:calc(var(--spacing) * -4)}.peam-root .ml-1{margin-left:calc(var(--spacing) * 1)}.peam-root .ml-2{margin-left:calc(var(--spacing) * 2)}.peam-root .ml-6{margin-left:calc(var(--spacing) * 6)}.peam-root .ml-auto{margin-left:auto}.peam-root .line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.peam-root .line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.peam-root .block{display:block}.peam-root .contents{display:contents}.peam-root .flex{display:flex}.peam-root .grid{display:grid}.peam-root .hidden{display:none}.peam-root .inline{display:inline}.peam-root .inline-block{display:inline-block}.peam-root .inline-flex{display:inline-flex}.peam-root .list-item{display:list-item}.peam-root .table{display:table}.peam-root .table-cell{display:table-cell}.peam-root .table-row{display:table-row}.peam-root .field-sizing-content{field-sizing:content}.peam-root .size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.peam-root .size-2\\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.peam-root .size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.peam-root .size-3\\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.peam-root .size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.peam-root .size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.peam-root .size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.peam-root .size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.peam-root .size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.peam-root .size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.peam-root .size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.peam-root .size-24{width:calc(var(--spacing) * 24);height:calc(var(--spacing) * 24)}.peam-root .size-auto{width:auto;height:auto}.peam-root .size-full{width:100%;height:100%}.peam-root .h-0{height:calc(var(--spacing) * 0)}.peam-root .h-2{height:calc(var(--spacing) * 2)}.peam-root .h-2\\.5{height:calc(var(--spacing) * 2.5)}.peam-root .h-4{height:calc(var(--spacing) * 4)}.peam-root .h-6{height:calc(var(--spacing) * 6)}.peam-root .h-8{height:calc(var(--spacing) * 8)}.peam-root .h-9{height:calc(var(--spacing) * 9)}.peam-root .h-10{height:calc(var(--spacing) * 10)}.peam-root .h-\\[46px\\]{height:46px}.peam-root .h-\\[66vh\\]{height:66vh}.peam-root .h-\\[80vh\\]{height:80vh}.peam-root .h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.peam-root .h-auto{height:auto}.peam-root .h-full{height:100%}.peam-root .h-px{height:1px}.peam-root .max-h-\\(--radix-dropdown-menu-content-available-height\\){max-height:var(--radix-dropdown-menu-content-available-height)}.peam-root .max-h-\\(--radix-select-content-available-height\\){max-height:var(--radix-select-content-available-height)}.peam-root .max-h-40{max-height:calc(var(--spacing) * 40)}.peam-root .max-h-48{max-height:calc(var(--spacing) * 48)}.peam-root .max-h-96{max-height:calc(var(--spacing) * 96)}.peam-root .max-h-\\[22rem\\]{max-height:22rem}.peam-root .max-h-\\[300px\\]{max-height:300px}.peam-root .max-h-full{max-height:100%}.peam-root .min-h-0{min-height:calc(var(--spacing) * 0)}.peam-root .min-h-4{min-height:calc(var(--spacing) * 4)}.peam-root .min-h-16{min-height:calc(var(--spacing) * 16)}.peam-root .min-h-full{min-height:100%}.peam-root .w-2\\.5{width:calc(var(--spacing) * 2.5)}.peam-root .w-4{width:calc(var(--spacing) * 4)}.peam-root .w-8{width:calc(var(--spacing) * 8)}.peam-root .w-64{width:calc(var(--spacing) * 64)}.peam-root .w-80{width:calc(var(--spacing) * 80)}.peam-root .w-96{width:calc(var(--spacing) * 96)}.peam-root .w-\\[240px\\]{width:240px}.peam-root .w-auto{width:auto}.peam-root .w-fit{width:fit-content}.peam-root .w-full{width:100%}.peam-root .w-max{width:max-content}.peam-root .w-px{width:1px}.peam-root .w-sm{width:var(--container-sm)}.peam-root .max-w-2xl{max-width:var(--container-2xl)}.peam-root .max-w-\\[95\\%\\]{max-width:95%}.peam-root .max-w-\\[100px\\]{max-width:100px}.peam-root .max-w-\\[calc\\(100\\%-2rem\\)\\]{max-width:calc(100% - 2rem)}.peam-root .max-w-full{max-width:100%}.peam-root .max-w-prose{max-width:65ch}.peam-root .min-w-0{min-width:calc(var(--spacing) * 0)}.peam-root .min-w-10{min-width:calc(var(--spacing) * 10)}.peam-root .min-w-60{min-width:calc(var(--spacing) * 60)}.peam-root .min-w-\\[8rem\\]{min-width:8rem}.peam-root .min-w-\\[120px\\]{min-width:120px}.peam-root .min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.peam-root .flex-1{flex:1}.peam-root .shrink-0{flex-shrink:0}.peam-root .grow{flex-grow:1}.peam-root .grow-0{flex-grow:0}.peam-root .basis-full{flex-basis:100%}.peam-root .border-collapse{border-collapse:collapse}.peam-root .origin-\\(--radix-dropdown-menu-content-transform-origin\\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.peam-root .origin-\\(--radix-hover-card-content-transform-origin\\){transform-origin:var(--radix-hover-card-content-transform-origin)}.peam-root .origin-\\(--radix-select-content-transform-origin\\){transform-origin:var(--radix-select-content-transform-origin)}.peam-root .origin-\\(--radix-tooltip-content-transform-origin\\){transform-origin:var(--radix-tooltip-content-transform-origin)}.peam-root .origin-center{transform-origin:center}.peam-root .-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.peam-root .translate-x-\\[-50\\%\\]{--tw-translate-x: -50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.peam-root .-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.peam-root .translate-y-\\[-50\\%\\]{--tw-translate-y: -50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.peam-root .translate-y-\\[calc\\(-50\\%_-_2px\\)\\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.peam-root .rotate-0{rotate:0deg}.peam-root .rotate-45{rotate:45deg}.peam-root .rotate-90{rotate:90deg}.peam-root .rotate-180{rotate:180deg}.peam-root .transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.peam-root .animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.peam-root .animate-pulse{animation:var(--animate-pulse)}.peam-root .animate-spin{animation:var(--animate-spin)}.peam-root .cursor-default{cursor:default}.peam-root .cursor-pointer{cursor:pointer}.peam-root .cursor-text{cursor:text}.peam-root .touch-none{touch-action:none}.peam-root .resize{resize:both}.peam-root .resize-none{resize:none}.peam-root .scroll-my-1{scroll-margin-block:calc(var(--spacing) * 1)}.peam-root .scroll-py-1{scroll-padding-block:calc(var(--spacing) * 1)}.peam-root .list-inside{list-style-position:inside}.peam-root .list-decimal{list-style-type:decimal}.peam-root .list-disc{list-style-type:disc}.peam-root .auto-rows-min{grid-auto-rows:min-content}.peam-root .grid-cols-\\[0_1fr\\]{grid-template-columns:0 1fr}.peam-root .grid-rows-\\[auto_auto\\]{grid-template-rows:auto auto}.peam-root .flex-col{flex-direction:column}.peam-root .flex-col-reverse{flex-direction:column-reverse}.peam-root .flex-nowrap{flex-wrap:nowrap}.peam-root .flex-wrap{flex-wrap:wrap}.peam-root .items-center{align-items:center}.peam-root .items-start{align-items:flex-start}.peam-root .items-stretch{align-items:stretch}.peam-root .justify-between{justify-content:space-between}.peam-root .justify-center{justify-content:center}.peam-root .justify-end{justify-content:flex-end}.peam-root .justify-start{justify-content:flex-start}.peam-root .justify-items-start{justify-items:start}.peam-root .gap-0{gap:calc(var(--spacing) * 0)}.peam-root .gap-0\\.5{gap:calc(var(--spacing) * .5)}.peam-root .gap-1{gap:calc(var(--spacing) * 1)}.peam-root .gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.peam-root .gap-2{gap:calc(var(--spacing) * 2)}.peam-root .gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.peam-root .gap-3{gap:calc(var(--spacing) * 3)}.peam-root .gap-4{gap:calc(var(--spacing) * 4)}.peam-root .gap-6{gap:calc(var(--spacing) * 6)}.peam-root .gap-8{gap:calc(var(--spacing) * 8)}.peam-root .gap-px{gap:1px}.peam-root .space-y-1{.peam-root :where(&>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}}.peam-root .space-y-2{.peam-root :where(&>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}}.peam-root .space-y-3{.peam-root :where(&>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}}.peam-root .space-y-4{.peam-root :where(&>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}}.peam-root .-space-x-1{.peam-root :where(&>:not(:last-child)){--tw-space-x-reverse: 0;margin-inline-start:calc(calc(var(--spacing) * -1) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -1) * calc(1 - var(--tw-space-x-reverse)))}}.peam-root .space-x-2{.peam-root :where(&>:not(:last-child)){--tw-space-x-reverse: 0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}}.peam-root .gap-y-0\\.5{row-gap:calc(var(--spacing) * .5)}.peam-root .divide-y{.peam-root :where(&>:not(:last-child)){--tw-divide-y-reverse: 0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}}.peam-root .divide-border{.peam-root :where(&>:not(:last-child)){border-color:var(--border)}}.peam-root .self-end{align-self:flex-end}.peam-root .self-start{align-self:flex-start}.peam-root .self-stretch{align-self:stretch}.peam-root .justify-self-end{justify-self:flex-end}.peam-root .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.peam-root .overflow-auto{overflow:auto}.peam-root .overflow-hidden{overflow:hidden}.peam-root .overflow-x-auto{overflow-x:auto}.peam-root .overflow-x-hidden{overflow-x:hidden}.peam-root .overflow-y-auto{overflow-y:auto}.peam-root .overflow-y-hidden{overflow-y:hidden}.peam-root .rounded{border-radius:.25rem}.peam-root .rounded-\\[2px\\]{border-radius:2px}.peam-root .rounded-\\[calc\\(var\\(--radius\\)-5px\\)\\]{border-radius:calc(var(--radius) - 5px)}.peam-root .rounded-\\[inherit\\]{border-radius:inherit}.peam-root .rounded-full{border-radius:calc(infinity * 1px)}.peam-root .rounded-lg{border-radius:var(--radius)}.peam-root .rounded-md{border-radius:calc(var(--radius) - 2px)}.peam-root .rounded-none{border-radius:0}.peam-root .rounded-sm{border-radius:calc(var(--radius) - 4px)}.peam-root .rounded-xl{border-radius:calc(var(--radius) + 4px)}.peam-root .rounded-xs{border-radius:var(--radius-xs)}.peam-root .rounded-t-md{border-top-left-radius:calc(var(--radius) - 2px);border-top-right-radius:calc(var(--radius) - 2px)}.peam-root .rounded-b-md{border-bottom-right-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.peam-root .border{border-style:var(--tw-border-style);border-width:1px}.peam-root .border-0{border-style:var(--tw-border-style);border-width:0px}.peam-root .border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.peam-root .border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.peam-root .border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.peam-root .border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.peam-root .border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.peam-root .border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.peam-root .border-none{--tw-border-style: none;border-style:none}.peam-root .border-border{border-color:var(--border)}.peam-root .border-current{border-color:currentcolor}.peam-root .border-input{border-color:var(--input)}.peam-root .border-muted{border-color:var(--muted)}.peam-root .border-muted-foreground\\/20{border-color:var(--muted-foreground);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--muted-foreground) 20%,transparent)}}.peam-root .border-muted-foreground\\/30{border-color:var(--muted-foreground);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--muted-foreground) 30%,transparent)}}.peam-root .border-muted-foreground\\/50{border-color:var(--muted-foreground);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--muted-foreground) 50%,transparent)}}.peam-root .border-red-200{border-color:var(--color-red-200)}.peam-root .border-transparent{border-color:transparent}.peam-root .border-t-transparent{border-top-color:transparent}.peam-root .border-l-transparent{border-left-color:transparent}.peam-root .bg-accent{background-color:var(--accent)}.peam-root .bg-background{background-color:var(--background)}.peam-root .bg-background\\/80{background-color:var(--background);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--background) 80%,transparent)}}.peam-root .bg-background\\/90{background-color:var(--background);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--background) 90%,transparent)}}.peam-root .bg-background\\/95{background-color:var(--background);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--background) 95%,transparent)}}.peam-root .bg-black\\/10{background-color:color-mix(in srgb,#000 10%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-black) 10%,transparent)}}.peam-root .bg-black\\/50{background-color:color-mix(in srgb,#000 50%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.peam-root .bg-border{background-color:var(--border)}.peam-root .bg-card{background-color:var(--card)}.peam-root .bg-destructive{background-color:var(--destructive)}.peam-root .bg-destructive\\/10{background-color:var(--destructive);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--destructive) 10%,transparent)}}.peam-root .bg-foreground{background-color:var(--foreground)}.peam-root .bg-input{background-color:var(--input)}.peam-root .bg-muted{background-color:var(--muted)}.peam-root .bg-muted-foreground\\/10{background-color:var(--muted-foreground);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--muted-foreground) 10%,transparent)}}.peam-root .bg-muted\\/40{background-color:var(--muted);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--muted) 40%,transparent)}}.peam-root .bg-muted\\/50{background-color:var(--muted);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}.peam-root .bg-muted\\/80{background-color:var(--muted);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--muted) 80%,transparent)}}.peam-root .bg-popover{background-color:var(--popover)}.peam-root .bg-primary{background-color:var(--primary)}.peam-root .bg-primary\\/20{background-color:var(--primary);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--primary) 20%,transparent)}}.peam-root .bg-red-50{background-color:var(--color-red-50)}.peam-root .bg-red-100{background-color:var(--color-red-100)}.peam-root .bg-secondary{background-color:var(--secondary)}.peam-root .bg-transparent{background-color:transparent}.peam-root .bg-\\[length\\:250\\%_100\\%\\,auto\\]{background-size:250% 100%,auto}.peam-root .bg-clip-text{background-clip:text}.peam-root .\\[background-repeat\\:no-repeat\\,padding-box\\]{background-repeat:no-repeat,padding-box}.peam-root .fill-current{fill:currentcolor}.peam-root .fill-foreground{fill:var(--foreground)}.peam-root .stroke-ring{stroke:var(--ring)}.peam-root .stroke-1{stroke-width:1}.peam-root .object-contain{object-fit:contain}.peam-root .object-cover{object-fit:cover}.peam-root .p-0{padding:calc(var(--spacing) * 0)}.peam-root .p-1{padding:calc(var(--spacing) * 1)}.peam-root .p-1\\.5{padding:calc(var(--spacing) * 1.5)}.peam-root .p-2{padding:calc(var(--spacing) * 2)}.peam-root .p-3{padding:calc(var(--spacing) * 3)}.peam-root .p-3\\!{padding:calc(var(--spacing) * 3)!important}.peam-root .p-4{padding:calc(var(--spacing) * 4)}.peam-root .p-6{padding:calc(var(--spacing) * 6)}.peam-root .p-8{padding:calc(var(--spacing) * 8)}.peam-root .p-px{padding:1px}.peam-root .px-0\\.5{padding-inline:calc(var(--spacing) * .5)}.peam-root .px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.peam-root .px-2{padding-inline:calc(var(--spacing) * 2)}.peam-root .px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.peam-root .px-3{padding-inline:calc(var(--spacing) * 3)}.peam-root .px-4{padding-inline:calc(var(--spacing) * 4)}.peam-root .px-6{padding-inline:calc(var(--spacing) * 6)}.peam-root .py-0\\.5{padding-block:calc(var(--spacing) * .5)}.peam-root .py-1{padding-block:calc(var(--spacing) * 1)}.peam-root .py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.peam-root .py-2{padding-block:calc(var(--spacing) * 2)}.peam-root .py-3{padding-block:calc(var(--spacing) * 3)}.peam-root .py-3\\.5{padding-block:calc(var(--spacing) * 3.5)}.peam-root .py-6{padding-block:calc(var(--spacing) * 6)}.peam-root .pt-2{padding-top:calc(var(--spacing) * 2)}.peam-root .pt-3{padding-top:calc(var(--spacing) * 3)}.peam-root .pt-4{padding-top:calc(var(--spacing) * 4)}.peam-root .pr-2{padding-right:calc(var(--spacing) * 2)}.peam-root .pr-3{padding-right:calc(var(--spacing) * 3)}.peam-root .pr-4{padding-right:calc(var(--spacing) * 4)}.peam-root .pr-8{padding-right:calc(var(--spacing) * 8)}.peam-root .pb-2{padding-bottom:calc(var(--spacing) * 2)}.peam-root .pb-3{padding-bottom:calc(var(--spacing) * 3)}.peam-root .pb-4{padding-bottom:calc(var(--spacing) * 4)}.peam-root .pl-2{padding-left:calc(var(--spacing) * 2)}.peam-root .pl-3{padding-left:calc(var(--spacing) * 3)}.peam-root .pl-4{padding-left:calc(var(--spacing) * 4)}.peam-root .pl-8{padding-left:calc(var(--spacing) * 8)}.peam-root .text-center{text-align:center}.peam-root .text-left{text-align:left}.peam-root .text-right{text-align:right}.peam-root .font-mono{font-family:var(--font-mono)}.peam-root .text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading, var(--text-2xl--line-height))}.peam-root .text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading, var(--text-3xl--line-height))}.peam-root .text-base{font-size:var(--text-base);line-height:var(--tw-leading, var(--text-base--line-height))}.peam-root .text-lg{font-size:var(--text-lg);line-height:var(--tw-leading, var(--text-lg--line-height))}.peam-root .text-sm{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}.peam-root .text-xl{font-size:var(--text-xl);line-height:var(--tw-leading, var(--text-xl--line-height))}.peam-root .text-xs{font-size:var(--text-xs);line-height:var(--tw-leading, var(--text-xs--line-height))}.peam-root .leading-none{--tw-leading: 1;line-height:1}.peam-root .leading-relaxed{--tw-leading: var(--leading-relaxed);line-height:var(--leading-relaxed)}.peam-root .leading-tight{--tw-leading: var(--leading-tight);line-height:var(--leading-tight)}.peam-root .font-medium{--tw-font-weight: var(--font-weight-medium);font-weight:var(--font-weight-medium)}.peam-root .font-normal{--tw-font-weight: var(--font-weight-normal);font-weight:var(--font-weight-normal)}.peam-root .font-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.peam-root .tracking-tight{--tw-tracking: var(--tracking-tight);letter-spacing:var(--tracking-tight)}.peam-root .tracking-wide{--tw-tracking: var(--tracking-wide);letter-spacing:var(--tracking-wide)}.peam-root .tracking-widest{--tw-tracking: var(--tracking-widest);letter-spacing:var(--tracking-widest)}.peam-root .text-balance{text-wrap:balance}.peam-root .break-words{overflow-wrap:break-word}.peam-root .wrap-anywhere{overflow-wrap:anywhere}.peam-root .break-all{word-break:break-all}.peam-root .whitespace-normal{white-space:normal}.peam-root .whitespace-nowrap{white-space:nowrap}.peam-root .text-accent-foreground{color:var(--accent-foreground)}.peam-root .text-background{color:var(--background)}.peam-root .text-blue-600{color:var(--color-blue-600)}.peam-root .text-card-foreground{color:var(--card-foreground)}.peam-root .text-destructive{color:var(--destructive)}.peam-root .text-foreground{color:var(--foreground)}.peam-root .text-green-600{color:var(--color-green-600)}.peam-root .text-muted-foreground{color:var(--muted-foreground)}.peam-root .text-muted-foreground\\/40{color:var(--muted-foreground);@supports (color: color-mix(in lab,red,red)){color:color-mix(in oklab,var(--muted-foreground) 40%,transparent)}}.peam-root .text-muted-foreground\\/50{color:var(--muted-foreground);@supports (color: color-mix(in lab,red,red)){color:color-mix(in oklab,var(--muted-foreground) 50%,transparent)}}.peam-root .text-orange-600{color:var(--color-orange-600)}.peam-root .text-popover-foreground{color:var(--popover-foreground)}.peam-root .text-primary{color:var(--primary)}.peam-root .text-primary-foreground{color:var(--primary-foreground)}.peam-root .text-red-600{color:var(--color-red-600)}.peam-root .text-red-700{color:var(--color-red-700)}.peam-root .text-red-800{color:var(--color-red-800)}.peam-root .text-secondary-foreground{color:var(--secondary-foreground)}.peam-root .text-transparent{color:transparent}.peam-root .text-white{color:var(--color-white)}.peam-root .text-yellow-600{color:var(--color-yellow-600)}.peam-root .lowercase{text-transform:lowercase}.peam-root .uppercase{text-transform:uppercase}.peam-root .italic{font-style:italic}.peam-root .line-through{text-decoration-line:line-through}.peam-root .underline{text-decoration-line:underline}.peam-root .underline-offset-4{text-underline-offset:4px}.peam-root .opacity-0{opacity:0%}.peam-root .opacity-50{opacity:50%}.peam-root .opacity-70{opacity:70%}.peam-root .shadow-2xl{--tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / .25));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.peam-root .shadow-\\[0_-4px_20px_rgba\\(0\\,0\\,0\\,0\\.25\\)\\]{--tw-shadow: 0 -4px 20px var(--tw-shadow-color, rgba(0,0,0,.25));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.peam-root .shadow-lg{--tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.peam-root .shadow-md{--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.peam-root .shadow-none{--tw-shadow: 0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.peam-root .shadow-none\\!{--tw-shadow: 0 0 #0000 !important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.peam-root .shadow-sm{--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.peam-root .shadow-xs{--tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / .05));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.peam-root .ring-offset-background{--tw-ring-offset-color: var(--background)}.peam-root .outline-hidden{--tw-outline-style: none;outline-style:none;@media(forced-colors:active){outline:2px solid transparent;outline-offset:2px}}.peam-root .outline{outline-style:var(--tw-outline-style);outline-width:1px}.peam-root .drop-shadow-lg{--tw-drop-shadow-size: drop-shadow(0 4px 4px var(--tw-drop-shadow-color, rgb(0 0 0 / .15)));--tw-drop-shadow: drop-shadow(var(--drop-shadow-lg));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.peam-root .backdrop-blur-sm{--tw-backdrop-blur: blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.peam-root .transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.peam-root .transition-\\[color\\,box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.peam-root .transition-all{transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.peam-root .transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.peam-root .transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.peam-root .transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.peam-root .delay-100{transition-delay:.1s}.peam-root .duration-150{--tw-duration: .15s;transition-duration:.15s}.peam-root .duration-200{--tw-duration: .2s;transition-duration:.2s}.peam-root .duration-300{--tw-duration: .3s;transition-duration:.3s}.peam-root .ease-in-out{--tw-ease: var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.peam-root .ease-out{--tw-ease: var(--ease-out);transition-timing-function:var(--ease-out)}.peam-root .delay-100{animation-delay:100ms;animation-delay:.1s;--tw-animation-delay: 100ms ;--tw-animation-delay: .1s}.peam-root .fade-in-0{--tw-enter-opacity: 0 ;--tw-enter-opacity: 0}.peam-root .outline-none{--tw-outline-style: none;outline-style:none}.peam-root .select-none{-webkit-user-select:none;user-select:none}.peam-root .zoom-in-95{--tw-enter-scale: 95% ;--tw-enter-scale: .95}.peam-root .\\[--bg\\:linear-gradient\\(90deg\\,\\#0000_calc\\(50\\%-var\\(--spread\\)\\)\\,var\\(--color-background\\)\\,\\#0000_calc\\(50\\%\\+var\\(--spread\\)\\)\\)\\]{--bg: linear-gradient(90deg,#0000 calc(50% - var(--spread)),var(--color-background),#0000 calc(50% + var(--spread)))}.peam-root .\\[counter-increment\\:line_0\\]{counter-increment:line 0}.peam-root .\\[counter-reset\\:line\\]{counter-reset:line}.peam-root .fade-in{--tw-enter-opacity: 0}.peam-root .slide-in-from-bottom{--tw-enter-translate-y: 100%}.peam-root .slide-in-from-top-2{--tw-enter-translate-y: calc(2*var(--spacing)*-1)}.peam-root .group-hover\\:pointer-events-auto{.peam-root &:is(:where(.group):hover *){@media(hover:hover){pointer-events:auto}}}.peam-root .group-hover\\:block{.peam-root &:is(:where(.group):hover *){@media(hover:hover){display:block}}}.peam-root .group-hover\\:bg-accent{.peam-root &:is(:where(.group):hover *){@media(hover:hover){background-color:var(--accent)}}}.peam-root .group-hover\\:opacity-0{.peam-root &:is(:where(.group):hover *){@media(hover:hover){opacity:0%}}}.peam-root .group-hover\\:opacity-100{.peam-root &:is(:where(.group):hover *){@media(hover:hover){opacity:100%}}}.peam-root .group-has-\\[\\>input\\]\\/input-group\\:pt-2\\.5{.peam-root &:is(:where(.group\\/input-group):has(>input) *){padding-top:calc(var(--spacing) * 2.5)}}.peam-root .group-has-\\[\\>input\\]\\/input-group\\:pb-2\\.5{.peam-root &:is(:where(.group\\/input-group):has(>input) *){padding-bottom:calc(var(--spacing) * 2.5)}}.peam-root .group-data-\\[disabled\\=true\\]\\/input-group\\:opacity-50{.peam-root &:is(:where(.group\\/input-group)[data-disabled=true] *){opacity:50%}}.peam-root .group-data-\\[state\\=closed\\]\\:-rotate-90{.peam-root &:is(:where(.group)[data-state=closed] *){rotate:-90deg}}.peam-root .group-data-\\[state\\=open\\]\\:rotate-180{.peam-root &:is(:where(.group)[data-state=open] *){rotate:180deg}}.peam-root .group-\\[\\.is-assistant\\]\\:text-foreground{.peam-root &:is(:where(.group):is(.is-assistant) *){color:var(--foreground)}}.peam-root .group-\\[\\.is-user\\]\\:ml-auto{.peam-root &:is(:where(.group):is(.is-user) *){margin-left:auto}}.peam-root .group-\\[\\.is-user\\]\\:rounded-lg{.peam-root &:is(:where(.group):is(.is-user) *){border-radius:var(--radius)}}.peam-root .group-\\[\\.is-user\\]\\:bg-secondary{.peam-root &:is(:where(.group):is(.is-user) *){background-color:var(--secondary)}}.peam-root .group-\\[\\.is-user\\]\\:px-4{.peam-root &:is(:where(.group):is(.is-user) *){padding-inline:calc(var(--spacing) * 4)}}.peam-root .group-\\[\\.is-user\\]\\:py-3{.peam-root &:is(:where(.group):is(.is-user) *){padding-block:calc(var(--spacing) * 3)}}.peam-root .group-\\[\\.is-user\\]\\:text-foreground{.peam-root &:is(:where(.group):is(.is-user) *){color:var(--foreground)}}.peam-root .selection\\:bg-primary{.peam-root & *::selection{background-color:var(--primary)}.peam-root &::selection{background-color:var(--primary)}}.peam-root .selection\\:text-primary-foreground{.peam-root & *::selection{color:var(--primary-foreground)}.peam-root &::selection{color:var(--primary-foreground)}}.peam-root .file\\:inline-flex{.peam-root &::file-selector-button{display:inline-flex}}.peam-root .file\\:h-7{.peam-root &::file-selector-button{height:calc(var(--spacing) * 7)}}.peam-root .file\\:border-0{.peam-root &::file-selector-button{border-style:var(--tw-border-style);border-width:0px}}.peam-root .file\\:bg-transparent{.peam-root &::file-selector-button{background-color:transparent}}.peam-root .file\\:text-sm{.peam-root &::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}}.peam-root .file\\:font-medium{.peam-root &::file-selector-button{--tw-font-weight: var(--font-weight-medium);font-weight:var(--font-weight-medium)}}.peam-root .file\\:text-foreground{.peam-root &::file-selector-button{color:var(--foreground)}}.peam-root .placeholder\\:text-muted-foreground{.peam-root &::placeholder{color:var(--muted-foreground)}}.peam-root .before\\:mr-4{.peam-root &:before{content:var(--tw-content);margin-right:calc(var(--spacing) * 4)}}.peam-root .before\\:inline-block{.peam-root &:before{content:var(--tw-content);display:inline-block}}.peam-root .before\\:w-4{.peam-root &:before{content:var(--tw-content);width:calc(var(--spacing) * 4)}}.peam-root .before\\:text-right{.peam-root &:before{content:var(--tw-content);text-align:right}}.peam-root .before\\:font-mono{.peam-root &:before{content:var(--tw-content);font-family:var(--font-mono)}}.peam-root .before\\:text-\\[13px\\]{.peam-root &:before{content:var(--tw-content);font-size:13px}}.peam-root .before\\:text-muted-foreground\\/50{.peam-root &:before{content:var(--tw-content);color:var(--muted-foreground);@supports (color: color-mix(in lab,red,red)){color:color-mix(in oklab,var(--muted-foreground) 50%,transparent)}}}.peam-root .before\\:content-\\[counter\\(line\\)\\]{.peam-root &:before{--tw-content: counter(line);content:var(--tw-content)}}.peam-root .before\\:select-none{.peam-root &:before{content:var(--tw-content);-webkit-user-select:none;user-select:none}}.peam-root .before\\:\\[counter-increment\\:line\\]{.peam-root &:before{content:var(--tw-content);counter-increment:line}}.peam-root .hover\\:scale-110{.peam-root &:hover{@media(hover:hover){--tw-scale-x: 110%;--tw-scale-y: 110%;--tw-scale-z: 110%;scale:var(--tw-scale-x) var(--tw-scale-y)}}}.peam-root .hover\\:bg-accent{.peam-root &:hover{@media(hover:hover){background-color:var(--accent)}}}.peam-root .hover\\:bg-background{.peam-root &:hover{@media(hover:hover){background-color:var(--background)}}}.peam-root .hover\\:bg-destructive\\/90{.peam-root &:hover{@media(hover:hover){background-color:var(--destructive);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}}}.peam-root .hover\\:bg-muted{.peam-root &:hover{@media(hover:hover){background-color:var(--muted)}}}.peam-root .hover\\:bg-muted-foreground\\/10{.peam-root &:hover{@media(hover:hover){background-color:var(--muted-foreground);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--muted-foreground) 10%,transparent)}}}}.peam-root .hover\\:bg-muted\\/40{.peam-root &:hover{@media(hover:hover){background-color:var(--muted);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--muted) 40%,transparent)}}}}.peam-root .hover\\:bg-muted\\/50{.peam-root &:hover{@media(hover:hover){background-color:var(--muted);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}}}.peam-root .hover\\:bg-primary\\/90{.peam-root &:hover{@media(hover:hover){background-color:var(--primary);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}}}.peam-root .hover\\:bg-secondary\\/80{.peam-root &:hover{@media(hover:hover){background-color:var(--secondary);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}}}.peam-root .hover\\:text-accent-foreground{.peam-root &:hover{@media(hover:hover){color:var(--accent-foreground)}}}.peam-root .hover\\:text-foreground{.peam-root &:hover{@media(hover:hover){color:var(--foreground)}}}.peam-root .hover\\:underline{.peam-root &:hover{@media(hover:hover){text-decoration-line:underline}}}.peam-root .hover\\:opacity-100{.peam-root &:hover{@media(hover:hover){opacity:100%}}}.peam-root .focus\\:bg-accent{.peam-root &:focus{background-color:var(--accent)}}.peam-root .focus\\:text-accent-foreground{.peam-root &:focus{color:var(--accent-foreground)}}.peam-root .focus\\:ring-2{.peam-root &:focus{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.peam-root .focus\\:ring-ring{.peam-root &:focus{--tw-ring-color: var(--ring)}}.peam-root .focus\\:ring-offset-2{.peam-root &:focus{--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}}.peam-root .focus\\:outline-hidden{.peam-root &:focus{--tw-outline-style: none;outline-style:none;@media(forced-colors:active){outline:2px solid transparent;outline-offset:2px}}}.peam-root .focus-visible\\:border-ring{.peam-root &:focus-visible{border-color:var(--ring)}}.peam-root .focus-visible\\:ring-0{.peam-root &:focus-visible{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.peam-root .focus-visible\\:ring-\\[3px\\]{.peam-root &:focus-visible{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.peam-root .focus-visible\\:ring-destructive\\/20{.peam-root &:focus-visible{--tw-ring-color: var(--destructive);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent)}}}.peam-root .focus-visible\\:ring-ring\\/50{.peam-root &:focus-visible{--tw-ring-color: var(--ring);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent)}}}.peam-root .focus-visible\\:outline-1{.peam-root &:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}}.peam-root .active\\:scale-90{.peam-root &:active{--tw-scale-x: 90%;--tw-scale-y: 90%;--tw-scale-z: 90%;scale:var(--tw-scale-x) var(--tw-scale-y)}}.peam-root .disabled\\:pointer-events-none{.peam-root &:disabled{pointer-events:none}}.peam-root .disabled\\:cursor-not-allowed{.peam-root &:disabled{cursor:not-allowed}}.peam-root .disabled\\:opacity-50{.peam-root &:disabled{opacity:50%}}.peam-root .has-data-\\[slot\\=card-action\\]\\:grid-cols-\\[1fr_auto\\]{.peam-root &:has(*[data-slot=card-action]){grid-template-columns:1fr auto}}.peam-root .has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:border-ring{.peam-root &:has(*:is([data-slot=input-group-control]:focus-visible)){border-color:var(--ring)}}.peam-root .has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-\\[3px\\]{.peam-root &:has(*:is([data-slot=input-group-control]:focus-visible)){--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.peam-root .has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-ring\\/50{.peam-root &:has(*:is([data-slot=input-group-control]:focus-visible)){--tw-ring-color: var(--ring);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent)}}}.peam-root .has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:border-destructive{.peam-root &:has(*:is([data-slot][aria-invalid=true])){border-color:var(--destructive)}}.peam-root .has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/20{.peam-root &:has(*:is([data-slot][aria-invalid=true])){--tw-ring-color: var(--destructive);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent)}}}.peam-root .has-\\[\\>\\[data-align\\=block-end\\]\\]\\:h-auto{.peam-root &:has(>[data-align=block-end]){height:auto}}.peam-root .has-\\[\\>\\[data-align\\=block-end\\]\\]\\:flex-col{.peam-root &:has(>[data-align=block-end]){flex-direction:column}}.peam-root .has-\\[\\>\\[data-align\\=block-start\\]\\]\\:h-auto{.peam-root &:has(>[data-align=block-start]){height:auto}}.peam-root .has-\\[\\>\\[data-align\\=block-start\\]\\]\\:flex-col{.peam-root &:has(>[data-align=block-start]){flex-direction:column}}.peam-root .has-\\[\\>\\[data-slot\\=button-group\\]\\]\\:gap-2{.peam-root &:has(>[data-slot=button-group]){gap:calc(var(--spacing) * 2)}}.peam-root .has-\\[\\>button\\]\\:mr-\\[-0\\.45rem\\]{.peam-root &:has(>button){margin-right:-.45rem}}.peam-root .has-\\[\\>button\\]\\:ml-\\[-0\\.45rem\\]{.peam-root &:has(>button){margin-left:-.45rem}}.peam-root .has-\\[\\>kbd\\]\\:mr-\\[-0\\.35rem\\]{.peam-root &:has(>kbd){margin-right:-.35rem}}.peam-root .has-\\[\\>kbd\\]\\:ml-\\[-0\\.35rem\\]{.peam-root &:has(>kbd){margin-left:-.35rem}}.peam-root .has-\\[\\>svg\\]\\:grid-cols-\\[calc\\(var\\(--spacing\\)\\*4\\)_1fr\\]{.peam-root &:has(>svg){grid-template-columns:calc(var(--spacing) * 4) 1fr}}.peam-root .has-\\[\\>svg\\]\\:gap-x-3{.peam-root &:has(>svg){column-gap:calc(var(--spacing) * 3)}}.peam-root .has-\\[\\>svg\\]\\:p-0{.peam-root &:has(>svg){padding:calc(var(--spacing) * 0)}}.peam-root .has-\\[\\>svg\\]\\:px-2{.peam-root &:has(>svg){padding-inline:calc(var(--spacing) * 2)}}.peam-root .has-\\[\\>svg\\]\\:px-2\\.5{.peam-root &:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}}.peam-root .has-\\[\\>svg\\]\\:px-3{.peam-root &:has(>svg){padding-inline:calc(var(--spacing) * 3)}}.peam-root .has-\\[\\>svg\\]\\:px-4{.peam-root &:has(>svg){padding-inline:calc(var(--spacing) * 4)}}.peam-root .has-\\[\\>textarea\\]\\:h-auto{.peam-root &:has(>textarea){height:auto}}.peam-root .aria-expanded\\:bg-accent{.peam-root &[aria-expanded=true]{background-color:var(--accent)}}.peam-root .aria-expanded\\:text-foreground{.peam-root &[aria-expanded=true]{color:var(--foreground)}}.peam-root .aria-invalid\\:border-destructive{.peam-root &[aria-invalid=true]{border-color:var(--destructive)}}.peam-root .aria-invalid\\:ring-destructive\\/20{.peam-root &[aria-invalid=true]{--tw-ring-color: var(--destructive);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent)}}}.peam-root .data-\\[disabled\\]\\:pointer-events-none{.peam-root &[data-disabled]{pointer-events:none}}.peam-root .data-\\[disabled\\]\\:opacity-50{.peam-root &[data-disabled]{opacity:50%}}.peam-root .data-\\[disabled\\=true\\]\\:pointer-events-none{.peam-root &[data-disabled=true]{pointer-events:none}}.peam-root .data-\\[disabled\\=true\\]\\:opacity-50{.peam-root &[data-disabled=true]{opacity:50%}}.peam-root .data-\\[inset\\]\\:pl-8{.peam-root &[data-inset]{padding-left:calc(var(--spacing) * 8)}}.peam-root .data-\\[orientation\\=horizontal\\]\\:h-px{.peam-root &[data-orientation=horizontal]{height:1px}}.peam-root .data-\\[orientation\\=horizontal\\]\\:w-full{.peam-root &[data-orientation=horizontal]{width:100%}}.peam-root .data-\\[orientation\\=vertical\\]\\:h-auto{.peam-root &[data-orientation=vertical]{height:auto}}.peam-root .data-\\[orientation\\=vertical\\]\\:h-full{.peam-root &[data-orientation=vertical]{height:100%}}.peam-root .data-\\[orientation\\=vertical\\]\\:w-px{.peam-root &[data-orientation=vertical]{width:1px}}.peam-root .data-\\[placeholder\\]\\:text-muted-foreground{.peam-root &[data-placeholder]{color:var(--muted-foreground)}}.peam-root .data-\\[selected\\=true\\]\\:bg-accent{.peam-root &[data-selected=true]{background-color:var(--accent)}}.peam-root .data-\\[selected\\=true\\]\\:text-accent-foreground{.peam-root &[data-selected=true]{color:var(--accent-foreground)}}.peam-root .data-\\[side\\=bottom\\]\\:translate-y-1{.peam-root &[data-side=bottom]{--tw-translate-y: calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}}.peam-root .data-\\[side\\=bottom\\]\\:slide-in-from-top-2{.peam-root &[data-side=bottom]{--tw-enter-translate-y: calc(2*var(--spacing)*-1)}}.peam-root .data-\\[side\\=left\\]\\:-translate-x-1{.peam-root &[data-side=left]{--tw-translate-x: calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}}.peam-root .data-\\[side\\=left\\]\\:slide-in-from-right-2{.peam-root &[data-side=left]{--tw-enter-translate-x: calc(2*var(--spacing))}}.peam-root .data-\\[side\\=right\\]\\:translate-x-1{.peam-root &[data-side=right]{--tw-translate-x: calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}}.peam-root .data-\\[side\\=right\\]\\:slide-in-from-left-2{.peam-root &[data-side=right]{--tw-enter-translate-x: calc(2*var(--spacing)*-1)}}.peam-root .data-\\[side\\=top\\]\\:-translate-y-1{.peam-root &[data-side=top]{--tw-translate-y: calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}}.peam-root .data-\\[side\\=top\\]\\:slide-in-from-bottom-2{.peam-root &[data-side=top]{--tw-enter-translate-y: calc(2*var(--spacing))}}.peam-root .data-\\[size\\=default\\]\\:h-9{.peam-root &[data-size=default]{height:calc(var(--spacing) * 9)}}.peam-root .data-\\[size\\=sm\\]\\:h-8{.peam-root &[data-size=sm]{height:calc(var(--spacing) * 8)}}.peam-root .\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive\\/90{.peam-root :is(&>*){.peam-root &[data-slot=alert-description]{color:var(--destructive);@supports (color: color-mix(in lab,red,red)){color:color-mix(in oklab,var(--destructive) 90%,transparent)}}}}.peam-root .\\*\\*\\:data-\\[slot\\=command-input-wrapper\\]\\:h-12{.peam-root :is(& *){.peam-root &[data-slot=command-input-wrapper]{height:calc(var(--spacing) * 12)}}}.peam-root .\\*\\*\\:data-\\[slot\\=command-input-wrapper\\]\\:h-auto{.peam-root :is(& *){.peam-root &[data-slot=command-input-wrapper]{height:auto}}}.peam-root .\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1{.peam-root :is(&>*){.peam-root &[data-slot=select-value]{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}}}.peam-root .\\*\\:data-\\[slot\\=select-value\\]\\:flex{.peam-root :is(&>*){.peam-root &[data-slot=select-value]{display:flex}}}.peam-root .\\*\\:data-\\[slot\\=select-value\\]\\:items-center{.peam-root :is(&>*){.peam-root &[data-slot=select-value]{align-items:center}}}.peam-root .\\*\\:data-\\[slot\\=select-value\\]\\:gap-2{.peam-root :is(&>*){.peam-root &[data-slot=select-value]{gap:calc(var(--spacing) * 2)}}}.peam-root .data-\\[state\\=closed\\]\\:animate-out{.peam-root &[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}}.peam-root .data-\\[state\\=closed\\]\\:fade-out-0{.peam-root &[data-state=closed]{--tw-exit-opacity: 0 ;--tw-exit-opacity: 0}}.peam-root .data-\\[state\\=closed\\]\\:zoom-out-95{.peam-root &[data-state=closed]{--tw-exit-scale: 95% ;--tw-exit-scale: .95}}.peam-root .data-\\[state\\=closed\\]\\:slide-out-to-top-2{.peam-root &[data-state=closed]{--tw-exit-translate-y: calc(2*var(--spacing)*-1)}}.peam-root .data-\\[state\\=open\\]\\:animate-in{.peam-root &[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}}.peam-root .data-\\[state\\=open\\]\\:bg-accent{.peam-root &[data-state=open]{background-color:var(--accent)}}.peam-root .data-\\[state\\=open\\]\\:text-accent-foreground{.peam-root &[data-state=open]{color:var(--accent-foreground)}}.peam-root .data-\\[state\\=open\\]\\:text-muted-foreground{.peam-root &[data-state=open]{color:var(--muted-foreground)}}.peam-root .data-\\[state\\=open\\]\\:fade-in-0{.peam-root &[data-state=open]{--tw-enter-opacity: 0 ;--tw-enter-opacity: 0}}.peam-root .data-\\[state\\=open\\]\\:zoom-in-95{.peam-root &[data-state=open]{--tw-enter-scale: 95% ;--tw-enter-scale: .95}}.peam-root .data-\\[state\\=open\\]\\:slide-in-from-top-2{.peam-root &[data-state=open]{--tw-enter-translate-y: calc(2*var(--spacing)*-1)}}.peam-root .data-\\[variant\\=destructive\\]\\:text-destructive{.peam-root &[data-variant=destructive]{color:var(--destructive)}}.peam-root .data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10{.peam-root &[data-variant=destructive]{.peam-root &:focus{background-color:var(--destructive);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--destructive) 10%,transparent)}}}}.peam-root .data-\\[variant\\=destructive\\]\\:focus\\:text-destructive{.peam-root &[data-variant=destructive]{.peam-root &:focus{color:var(--destructive)}}}.peam-root .sm\\:max-w-lg{@media(width>=40rem){max-width:var(--container-lg)}}.peam-root .sm\\:flex-row{@media(width>=40rem){flex-direction:row}}.peam-root .sm\\:justify-end{@media(width>=40rem){justify-content:flex-end}}.peam-root .sm\\:text-left{@media(width>=40rem){text-align:left}}.peam-root .md\\:inset-auto{@media(width>=48rem){inset:auto}}.peam-root .md\\:top-0{@media(width>=48rem){top:calc(var(--spacing) * 0)}}.peam-root .md\\:right-0{@media(width>=48rem){right:calc(var(--spacing) * 0)}}.peam-root .md\\:right-4{@media(width>=48rem){right:calc(var(--spacing) * 4)}}.peam-root .md\\:bottom-4{@media(width>=48rem){bottom:calc(var(--spacing) * 4)}}.peam-root .md\\:bottom-18{@media(width>=48rem){bottom:calc(var(--spacing) * 18)}}.peam-root .md\\:hidden{@media(width>=48rem){display:none}}.peam-root .md\\:h-125{@media(width>=48rem){height:calc(var(--spacing) * 125)}}.peam-root .md\\:h-150{@media(width>=48rem){height:calc(var(--spacing) * 150)}}.peam-root .md\\:h-full{@media(width>=48rem){height:100%}}.peam-root .md\\:w-100{@media(width>=48rem){width:calc(var(--spacing) * 100)}}.peam-root .md\\:rounded-sm{@media(width>=48rem){border-radius:calc(var(--radius) - 4px)}}.peam-root .md\\:border{@media(width>=48rem){border-style:var(--tw-border-style);border-width:1px}}.peam-root .md\\:border-t-0{@media(width>=48rem){border-top-style:var(--tw-border-style);border-top-width:0px}}.peam-root .md\\:border-l{@media(width>=48rem){border-left-style:var(--tw-border-style);border-left-width:1px}}.peam-root .md\\:p-0{@media(width>=48rem){padding:calc(var(--spacing) * 0)}}.peam-root .md\\:text-sm{@media(width>=48rem){font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}}.peam-root .md\\:shadow-2xl{@media(width>=48rem){--tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / .25));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.peam-root .md\\:shadow-xl{@media(width>=48rem){--tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.peam-root .md\\:duration-0{@media(width>=48rem){--tw-duration: 0ms;transition-duration:0ms}}.peam-root .md\\:slide-in-from-right{@media(width>=48rem){--tw-enter-translate-x: 100%}}.peam-root .lg\\:w-120{@media(width>=64rem){width:calc(var(--spacing) * 120)}}.peam-root .dark\\:block{.peam-root &:is(.dark *){display:block}}.peam-root .dark\\:hidden{.peam-root &:is(.dark *){display:none}}.peam-root .dark\\:border-input{.peam-root &:is(.dark *){border-color:var(--input)}}.peam-root .dark\\:bg-\\(--shiki-dark-bg\\)\\!{.peam-root &:is(.dark *){background-color:var(--shiki-dark-bg)!important}}.peam-root .dark\\:bg-destructive\\/60{.peam-root &:is(.dark *){background-color:var(--destructive);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--destructive) 60%,transparent)}}}.peam-root .dark\\:bg-input\\/30{.peam-root &:is(.dark *){background-color:var(--input);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--input) 30%,transparent)}}}.peam-root .dark\\:bg-transparent{.peam-root &:is(.dark *){background-color:transparent}}.peam-root .dark\\:text-\\(--shiki-dark\\)\\!{.peam-root &:is(.dark *){color:var(--shiki-dark)!important}}.peam-root .dark\\:invert{.peam-root &:is(.dark *){--tw-invert: invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.peam-root .dark\\:hover\\:bg-accent\\/50{.peam-root &:is(.dark *){.peam-root &:hover{@media(hover:hover){background-color:var(--accent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--accent) 50%,transparent)}}}}}.peam-root .dark\\:hover\\:bg-input\\/50{.peam-root &:is(.dark *){.peam-root &:hover{@media(hover:hover){background-color:var(--input);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--input) 50%,transparent)}}}}}.peam-root .dark\\:focus-visible\\:ring-destructive\\/40{.peam-root &:is(.dark *){.peam-root &:focus-visible{--tw-ring-color: var(--destructive);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent)}}}}.peam-root .dark\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/40{.peam-root &:is(.dark *){.peam-root &:has(*:is([data-slot][aria-invalid=true])){--tw-ring-color: var(--destructive);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent)}}}}.peam-root .dark\\:aria-invalid\\:ring-destructive\\/40{.peam-root &:is(.dark *){.peam-root &[aria-invalid=true]{--tw-ring-color: var(--destructive);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent)}}}}.peam-root .dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20{.peam-root &:is(.dark *){.peam-root &[data-variant=destructive]{.peam-root &:focus{background-color:var(--destructive);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}}}}.peam-root .starting\\:opacity-0{@starting-style{opacity:0%}}.peam-root .\\[\\&_\\[cmdk-group-heading\\]\\]\\:px-2{.peam-root & [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}}.peam-root .\\[\\&_\\[cmdk-group-heading\\]\\]\\:py-1\\.5{.peam-root & [cmdk-group-heading]{padding-block:calc(var(--spacing) * 1.5)}}.peam-root .\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-xs{.peam-root & [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading, var(--text-xs--line-height))}}.peam-root .\\[\\&_\\[cmdk-group-heading\\]\\]\\:font-medium{.peam-root & [cmdk-group-heading]{--tw-font-weight: var(--font-weight-medium);font-weight:var(--font-weight-medium)}}.peam-root .\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-muted-foreground{.peam-root & [cmdk-group-heading]{color:var(--muted-foreground)}}.peam-root .\\[\\&_\\[cmdk-group\\]\\]\\:px-2{.peam-root & [cmdk-group]{padding-inline:calc(var(--spacing) * 2)}}.peam-root .\\[\\&_\\[cmdk-group\\]\\:not\\(\\[hidden\\]\\)_\\~\\[cmdk-group\\]\\]\\:pt-0{.peam-root & [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--spacing) * 0)}}.peam-root .\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:h-5{.peam-root & [cmdk-input-wrapper] svg{height:calc(var(--spacing) * 5)}}.peam-root .\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:w-5{.peam-root & [cmdk-input-wrapper] svg{width:calc(var(--spacing) * 5)}}.peam-root .\\[\\&_\\[cmdk-input\\]\\]\\:h-12{.peam-root & [cmdk-input]{height:calc(var(--spacing) * 12)}}.peam-root .\\[\\&_\\[cmdk-item\\]\\]\\:px-2{.peam-root & [cmdk-item]{padding-inline:calc(var(--spacing) * 2)}}.peam-root .\\[\\&_\\[cmdk-item\\]\\]\\:py-3{.peam-root & [cmdk-item]{padding-block:calc(var(--spacing) * 3)}}.peam-root .\\[\\&_\\[cmdk-item\\]_svg\\]\\:h-5{.peam-root & [cmdk-item] svg{height:calc(var(--spacing) * 5)}}.peam-root .\\[\\&_\\[cmdk-item\\]_svg\\]\\:w-5{.peam-root & [cmdk-item] svg{width:calc(var(--spacing) * 5)}}.peam-root .\\[\\&_code\\]\\:font-mono{.peam-root & code{font-family:var(--font-mono)}}.peam-root .\\[\\&_code\\]\\:text-sm{.peam-root & code{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}}.peam-root .\\[\\&_p\\]\\:leading-relaxed{.peam-root & p{--tw-leading: var(--leading-relaxed);line-height:var(--leading-relaxed)}}.peam-root .\\[\\&_svg\\]\\:pointer-events-none{.peam-root & svg{pointer-events:none}}.peam-root .\\[\\&_svg\\]\\:h-auto{.peam-root & svg{height:auto}}.peam-root .\\[\\&_svg\\]\\:w-auto{.peam-root & svg{width:auto}}.peam-root .\\[\\&_svg\\]\\:shrink-0{.peam-root & svg{flex-shrink:0}}.peam-root .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4{.peam-root & svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}.peam-root .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'text-\\'\\]\\)\\]\\:text-muted-foreground{.peam-root & svg:not([class*=text-]){color:var(--muted-foreground)}}.peam-root .\\[\\&_table\\]\\:w-full{.peam-root & table{width:100%}}.peam-root .\\[\\.border-b\\]\\:pb-3{.peam-root &:is(.border-b){padding-bottom:calc(var(--spacing) * 3)}}.peam-root .\\[\\.border-b\\]\\:pb-6{.peam-root &:is(.border-b){padding-bottom:calc(var(--spacing) * 6)}}.peam-root .\\[\\.border-t\\]\\:pt-3{.peam-root &:is(.border-t){padding-top:calc(var(--spacing) * 3)}}.peam-root .\\[\\.border-t\\]\\:pt-6{.peam-root &:is(.border-t){padding-top:calc(var(--spacing) * 6)}}.peam-root .\\*\\:\\[span\\]\\:last\\:flex{.peam-root :is(&>*){.peam-root &:is(span){.peam-root &:last-child{display:flex}}}}.peam-root .\\*\\:\\[span\\]\\:last\\:items-center{.peam-root :is(&>*){.peam-root &:is(span){.peam-root &:last-child{align-items:center}}}}.peam-root .\\*\\:\\[span\\]\\:last\\:gap-2{.peam-root :is(&>*){.peam-root &:is(span){.peam-root &:last-child{gap:calc(var(--spacing) * 2)}}}}.peam-root .data-\\[variant\\=destructive\\]\\:\\*\\:\\[svg\\]\\:\\!text-destructive{.peam-root &[data-variant=destructive]{.peam-root :is(&>*){.peam-root &:is(svg){color:var(--destructive)!important}}}}.peam-root .\\[\\&\\>\\*\\]\\:focus-visible\\:relative{.peam-root &>*{.peam-root &:focus-visible{position:relative}}}.peam-root .\\[\\&\\>\\*\\]\\:focus-visible\\:z-10{.peam-root &>*{.peam-root &:focus-visible{z-index:10}}}.peam-root .\\[\\&\\>\\*\\:first-child\\]\\:mt-0{.peam-root &>*:first-child{margin-top:calc(var(--spacing) * 0)}}.peam-root .\\[\\&\\>\\*\\:last-child\\]\\:mb-0{.peam-root &>*:last-child{margin-bottom:calc(var(--spacing) * 0)}}.peam-root .\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-t-none{.peam-root &>*:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}}.peam-root .\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-l-md{.peam-root &>*:not(:first-child){border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}}.peam-root .\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-l-none{.peam-root &>*:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}}.peam-root .\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-t-0{.peam-root &>*:not(:first-child){border-top-style:var(--tw-border-style);border-top-width:0px}}.peam-root .\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-l-0{.peam-root &>*:not(:first-child){border-left-style:var(--tw-border-style);border-left-width:0px}}.peam-root .\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-r-md{.peam-root &>*:not(:last-child){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}}.peam-root .\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-r-none{.peam-root &>*:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}}.peam-root .\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-b-none{.peam-root &>*:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}}.peam-root .has-\\[select\\[aria-hidden\\=true\\]\\:last-child\\]\\:\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:last-of-type\\]\\:rounded-r-md{.peam-root &:has(*:is(select[aria-hidden=true]:last-child)){.peam-root &>[data-slot=select-trigger]:last-of-type{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}}}.peam-root .\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:not\\(\\[class\\*\\=\\'w-\\'\\]\\)\\]\\:w-fit{.peam-root &>[data-slot=select-trigger]:not([class*=w-]){width:fit-content}}.peam-root .\\[\\&\\>button\\]\\:rounded-md{.peam-root &>button{border-radius:calc(var(--radius) - 2px)}}.peam-root .\\[\\&\\>button\\]\\:border-none\\!{.peam-root &>button{--tw-border-style: none !important;border-style:none!important}}.peam-root .\\[\\&\\>button\\]\\:bg-transparent\\!{.peam-root &>button{background-color:transparent!important}}.peam-root .\\[\\&\\>button\\]\\:hover\\:bg-secondary\\!{.peam-root &>button{.peam-root &:hover{@media(hover:hover){background-color:var(--secondary)!important}}}}.peam-root .\\[\\&\\>div\\]\\:h-full{.peam-root &>div{height:100%}}.peam-root .\\[\\&\\>div\\]\\:overflow-hidden{.peam-root &>div{overflow:hidden}}.peam-root .\\[\\&\\>div\\]\\:pb-0{.peam-root &>div{padding-bottom:calc(var(--spacing) * 0)}}.peam-root .\\[\\&\\>img\\]\\:rounded-full{.peam-root &>img{border-radius:calc(infinity * 1px)}}.peam-root .\\[\\&\\>img\\]\\:bg-background{.peam-root &>img{background-color:var(--background)}}.peam-root .\\[\\&\\>img\\]\\:p-px{.peam-root &>img{padding:1px}}.peam-root .\\[\\&\\>img\\]\\:ring-1{.peam-root &>img{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.peam-root .dark\\:\\[\\&\\>img\\]\\:bg-foreground{.peam-root &:is(.dark *){.peam-root &>img{background-color:var(--foreground)}}}.peam-root .\\[\\&\\>input\\]\\:flex-1{.peam-root &>input{flex:1}}.peam-root .has-\\[\\>\\[data-align\\=block-end\\]\\]\\:\\[\\&\\>input\\]\\:pt-3{.peam-root &:has(>[data-align=block-end]){.peam-root &>input{padding-top:calc(var(--spacing) * 3)}}}.peam-root .has-\\[\\>\\[data-align\\=block-start\\]\\]\\:\\[\\&\\>input\\]\\:pb-3{.peam-root &:has(>[data-align=block-start]){.peam-root &>input{padding-bottom:calc(var(--spacing) * 3)}}}.peam-root .has-\\[\\>\\[data-align\\=inline-end\\]\\]\\:\\[\\&\\>input\\]\\:pr-2{.peam-root &:has(>[data-align=inline-end]){.peam-root &>input{padding-right:calc(var(--spacing) * 2)}}}.peam-root .has-\\[\\>\\[data-align\\=inline-start\\]\\]\\:\\[\\&\\>input\\]\\:pl-2{.peam-root &:has(>[data-align=inline-start]){.peam-root &>input{padding-left:calc(var(--spacing) * 2)}}}.peam-root .\\[\\&\\>kbd\\]\\:rounded-\\[calc\\(var\\(--radius\\)-5px\\)\\]{.peam-root &>kbd{border-radius:calc(var(--radius) - 5px)}}.peam-root .\\[\\&\\>p\\]\\:inline{.peam-root &>p{display:inline}}.peam-root .\\[\\&\\>pre\\]\\:m-0{.peam-root &>pre{margin:calc(var(--spacing) * 0)}}.peam-root .\\[\\&\\>pre\\]\\:bg-background\\!{.peam-root &>pre{background-color:var(--background)!important}}.peam-root .\\[\\&\\>pre\\]\\:p-4{.peam-root &>pre{padding:calc(var(--spacing) * 4)}}.peam-root .\\[\\&\\>pre\\]\\:text-sm{.peam-root &>pre{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}}.peam-root .\\[\\&\\>pre\\]\\:text-foreground\\!{.peam-root &>pre{color:var(--foreground)!important}}.peam-root .\\[\\&\\>svg\\]\\:pointer-events-none{.peam-root &>svg{pointer-events:none}}.peam-root .\\[\\&\\>svg\\]\\:size-2\\.5{.peam-root &>svg{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}}.peam-root .\\[\\&\\>svg\\]\\:size-3{.peam-root &>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}}.peam-root .\\[\\&\\>svg\\]\\:size-4{.peam-root &>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}.peam-root .\\[\\&\\>svg\\]\\:translate-y-0\\.5{.peam-root &>svg{--tw-translate-y: calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}}.peam-root .\\[\\&\\>svg\\]\\:text-current{.peam-root &>svg{color:currentcolor}}.peam-root .\\[\\&\\>svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-3\\.5{.peam-root &>svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}}.peam-root .\\[\\&\\>svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4{.peam-root &>svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}.peam-root .\\[a\\&\\]\\:hover\\:bg-accent{.peam-root a&{.peam-root &:hover{@media(hover:hover){background-color:var(--accent)}}}}.peam-root .\\[a\\&\\]\\:hover\\:bg-destructive\\/90{.peam-root a&{.peam-root &:hover{@media(hover:hover){background-color:var(--destructive);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}}}}.peam-root .\\[a\\&\\]\\:hover\\:bg-primary\\/90{.peam-root a&{.peam-root &:hover{@media(hover:hover){background-color:var(--primary);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}}}}.peam-root .\\[a\\&\\]\\:hover\\:bg-secondary\\/90{.peam-root a&{.peam-root &:hover{@media(hover:hover){background-color:var(--secondary);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--secondary) 90%,transparent)}}}}}.peam-root .\\[a\\&\\]\\:hover\\:text-accent-foreground{.peam-root a&{.peam-root &:hover{@media(hover:hover){color:var(--accent-foreground)}}}}@property --tw-animation-delay{syntax: "*"; inherits: false; initial-value: 0s;}@property --tw-animation-direction{syntax: "*"; inherits: false; initial-value: normal;}@property --tw-animation-duration{syntax: "*"; inherits: false;}@property --tw-animation-fill-mode{syntax: "*"; inherits: false; initial-value: none;}@property --tw-animation-iteration-count{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-enter-blur{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-enter-opacity{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-enter-rotate{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-enter-scale{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-enter-translate-x{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-enter-translate-y{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-exit-blur{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-exit-opacity{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-exit-rotate{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-exit-scale{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-exit-translate-x{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-exit-translate-y{syntax: "*"; inherits: false; initial-value: 0;}.peam-root{--background: oklch(1 0 0);--foreground: oklch(.145 0 0);--card: oklch(1 0 0);--card-foreground: oklch(.145 0 0);--popover: oklch(1 0 0);--popover-foreground: oklch(.145 0 0);--primary: oklch(57.61% .2508 258.23);--primary-foreground: oklch(1 0 0);--secondary: oklch(.97 0 0);--secondary-foreground: oklch(.205 0 0);--muted: oklch(.97 0 0);--muted-foreground: oklch(.556 0 0);--accent: oklch(.97 0 0);--accent-foreground: oklch(.205 0 0);--destructive: oklch(.732 .218 27.994);--destructive-foreground: oklch(.577 .245 27.325);--border: oklch(.85 0 0);--input: oklch(.85 0 0);--ring: oklch(.708 0 0);--chart-1: oklch(.646 .222 41.116);--chart-2: oklch(.6 .118 184.704);--chart-3: oklch(.398 .07 227.392);--chart-4: oklch(.828 .189 84.429);--chart-5: oklch(.769 .188 70.08);--radius: .625rem;--sidebar: oklch(.985 0 0);--sidebar-foreground: oklch(.145 0 0);--sidebar-primary: oklch(.205 0 0);--sidebar-primary-foreground: oklch(.985 0 0);--sidebar-accent: oklch(.97 0 0);--sidebar-accent-foreground: oklch(.205 0 0);--sidebar-border: oklch(.922 0 0);--sidebar-ring: oklch(.708 0 0)}@media(prefers-color-scheme:dark){.peam-root{--background: oklch(.145 0 0);--foreground: oklch(.985 0 0);--card: oklch(.205 0 0);--card-foreground: oklch(.985 0 0);--popover: oklch(.205 0 0);--popover-foreground: oklch(.985 0 0);--primary: oklch(57.61% .2508 258.23);--primary-foreground: oklch(1 0 0);--secondary: oklch(.269 0 0);--secondary-foreground: oklch(.985 0 0);--muted: oklch(.269 0 0);--muted-foreground: oklch(.708 0 0);--accent: oklch(.269 0 0);--accent-foreground: oklch(.985 0 0);--destructive: oklch(.704 .191 22.216);--destructive-foreground: oklch(.637 .237 25.331);--border: oklch(1 0 0 / 20%);--input: oklch(1 0 0 / 20%);--ring: oklch(.556 0 0);--chart-1: oklch(.488 .243 264.376);--chart-2: oklch(.696 .17 162.48);--chart-3: oklch(.769 .188 70.08);--chart-4: oklch(.627 .265 303.9);--chart-5: oklch(.645 .246 16.439);--sidebar: oklch(.205 0 0);--sidebar-foreground: oklch(.985 0 0);--sidebar-primary: oklch(.488 .243 264.376);--sidebar-primary-foreground: oklch(.985 0 0);--sidebar-accent: oklch(.269 0 0);--sidebar-accent-foreground: oklch(.985 0 0);--sidebar-border: oklch(1 0 0 / 10%);--sidebar-ring: oklch(.556 0 0)}}@layer base{.peam-root *{border-color:var(--border);outline-color:var(--ring);@supports (color: color-mix(in lab,red,red)){outline-color:color-mix(in oklab,var(--ring) 50%,transparent)}}.peam-root{background-color:var(--background);color:var(--foreground)}.peam-root button:not(:disabled),.peam-root [role=button]:not(:disabled){cursor:pointer}}@property --tw-translate-x{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-rotate-x{syntax: "*"; inherits: false;}@property --tw-rotate-y{syntax: "*"; inherits: false;}@property --tw-rotate-z{syntax: "*"; inherits: false;}@property --tw-skew-x{syntax: "*"; inherits: false;}@property --tw-skew-y{syntax: "*"; inherits: false;}@property --tw-space-y-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-space-x-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-divide-y-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-leading{syntax: "*"; inherits: false;}@property --tw-font-weight{syntax: "*"; inherits: false;}@property --tw-tracking{syntax: "*"; inherits: false;}@property --tw-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: "*"; inherits: false;}@property --tw-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: "*"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: "*"; inherits: false;}@property --tw-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: "*"; inherits: false;}@property --tw-inset-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: "*"; inherits: false;}@property --tw-ring-offset-width{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: "*"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-outline-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-blur{syntax: "*"; inherits: false;}@property --tw-brightness{syntax: "*"; inherits: false;}@property --tw-contrast{syntax: "*"; inherits: false;}@property --tw-grayscale{syntax: "*"; inherits: false;}@property --tw-hue-rotate{syntax: "*"; inherits: false;}@property --tw-invert{syntax: "*"; inherits: false;}@property --tw-opacity{syntax: "*"; inherits: false;}@property --tw-saturate{syntax: "*"; inherits: false;}@property --tw-sepia{syntax: "*"; inherits: false;}@property --tw-drop-shadow{syntax: "*"; inherits: false;}@property --tw-drop-shadow-color{syntax: "*"; inherits: false;}@property --tw-drop-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-drop-shadow-size{syntax: "*"; inherits: false;}@property --tw-backdrop-blur{syntax: "*"; inherits: false;}@property --tw-backdrop-brightness{syntax: "*"; inherits: false;}@property --tw-backdrop-contrast{syntax: "*"; inherits: false;}@property --tw-backdrop-grayscale{syntax: "*"; inherits: false;}@property --tw-backdrop-hue-rotate{syntax: "*"; inherits: false;}@property --tw-backdrop-invert{syntax: "*"; inherits: false;}@property --tw-backdrop-opacity{syntax: "*"; inherits: false;}@property --tw-backdrop-saturate{syntax: "*"; inherits: false;}@property --tw-backdrop-sepia{syntax: "*"; inherits: false;}@property --tw-duration{syntax: "*"; inherits: false;}@property --tw-ease{syntax: "*"; inherits: false;}@property --tw-content{syntax: "*"; initial-value: ""; inherits: false;}@property --tw-scale-x{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-scale-y{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-scale-z{syntax: "*"; inherits: false; initial-value: 1;}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){.peam-root *,.peam-root :before,.peam-root :after,.peam-root ::backdrop{--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--tw-space-y-reverse: 0;--tw-space-x-reverse: 0;--tw-divide-y-reverse: 0;--tw-border-style: solid;--tw-leading: initial;--tw-font-weight: initial;--tw-tracking: initial;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-outline-style: solid;--tw-blur: initial;--tw-brightness: initial;--tw-contrast: initial;--tw-grayscale: initial;--tw-hue-rotate: initial;--tw-invert: initial;--tw-opacity: initial;--tw-saturate: initial;--tw-sepia: initial;--tw-drop-shadow: initial;--tw-drop-shadow-color: initial;--tw-drop-shadow-alpha: 100%;--tw-drop-shadow-size: initial;--tw-backdrop-blur: initial;--tw-backdrop-brightness: initial;--tw-backdrop-contrast: initial;--tw-backdrop-grayscale: initial;--tw-backdrop-hue-rotate: initial;--tw-backdrop-invert: initial;--tw-backdrop-opacity: initial;--tw-backdrop-saturate: initial;--tw-backdrop-sepia: initial;--tw-duration: initial;--tw-ease: initial;--tw-content: "";--tw-scale-x: 1;--tw-scale-y: 1;--tw-scale-z: 1;--tw-animation-delay: 0s;--tw-animation-direction: normal;--tw-animation-duration: initial;--tw-animation-fill-mode: none;--tw-animation-iteration-count: 1;--tw-enter-blur: 0;--tw-enter-opacity: 1;--tw-enter-rotate: 0;--tw-enter-scale: 1;--tw-enter-translate-x: 0;--tw-enter-translate-y: 0;--tw-exit-blur: 0;--tw-exit-opacity: 1;--tw-exit-rotate: 0;--tw-exit-scale: 1;--tw-exit-translate-x: 0;--tw-exit-translate-y: 0}}}
4
4
  `);var Bt=class extends to__default.default{constructor(){super("PeamChatMessages"),this.version(1).stores({messages:"id, timestamp, sequence",summaries:"id, timestamp"});}},O=new Bt;function pe(t,e=300){let r=react.useRef(void 0),o=react.useCallback((...n)=>{r.current&&clearTimeout(r.current),r.current=setTimeout(()=>{t(...n);},e);},[t,e]);return react.useCallback(()=>()=>{r.current&&clearTimeout(r.current);},[]),o}var Ht=logger.loggers.ui,Dt="current",Pt=()=>{var f;let t=dexieReactHooks.useLiveQuery(()=>O.messages.orderBy("sequence").toArray()),e=dexieReactHooks.useLiveQuery(()=>O.summaries.get(Dt)),r=!t,o=(f=t==null?void 0:t.map(A=>{var T=u(A,[]);return T}))!=null?f:[],n=e==null?void 0:e.summary,a=e==null?void 0:e.lastSummarizedMessageId,p=react.useCallback(T=>D(null,null,function*(){try{let A=Date.now(),l=T.map((d,w)=>C(s({},d),{timestamp:A+w*1e3,sequence:w}));yield O.transaction("rw",O.messages,()=>D(null,null,function*(){yield O.messages.clear(),yield O.messages.bulkAdd(l);}));}catch(A){Ht.error("Failed to save messages:",A);}}),[]),i=pe(p,300),c=react.useCallback((T,A)=>D(null,null,function*(){try{yield O.summaries.put({id:Dt,summary:T,lastSummarizedMessageId:A,timestamp:Date.now()});}catch(l){Ht.error("Failed to save summary:",l);}}),[]),g=react.useCallback(()=>D(null,null,function*(){try{yield O.transaction("rw",[O.messages,O.summaries],()=>D(null,null,function*(){yield O.messages.clear(),yield O.summaries.delete(Dt);}));}catch(T){Ht.error("Failed to clear messages:",T);}}),[]);return {initialMessages:o,isLoading:r,saveMessages:i,clearMessages:g,summary:n,lastSummarizedMessageId:a,saveSummary:c}};function st(){let[t,e]=react.useState(false),r=react.useRef(null),o=Pt(),n=()=>{e(c=>!c);},a=()=>{e(true);},p=()=>{e(false);},i=()=>{r.current&&r.current();};return react.useEffect(()=>{let c=g=>{if((g.key==="Escape"||g.key==="Esc"||g.keyCode===27)&&t){p();return}let T=g.key==="i"||g.key==="I"||g.keyCode===73;g.metaKey&&T&&(g.preventDefault(),g.stopPropagation(),e(l=>!l));};return document.addEventListener("keydown",c),()=>{document.removeEventListener("keydown",c);}},[t]),{isOpen:t,chatClearRef:r,chatPersistence:o,handleToggle:n,handleOpen:a,handleClose:p,handleClear:i}}function h(...t){return tailwindMerge.twMerge(clsx.clsx(t))}var co=classVarianceAuthority.cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function pt(a){var p=a,{className:t,variant:e="default",size:r="default",asChild:o=false}=p,n=u(p,["className","variant","size","asChild"]);return jsxRuntime.jsx(o?reactSlot.Slot:"button",s({"data-slot":"button","data-variant":e,"data-size":r,className:h(co({variant:e,size:r,className:t}))},n))}var de=r=>{var o=r,{className:t}=o,e=u(o,["className"]);return jsxRuntime.jsx(useStickToBottom.StickToBottom,s({className:h("relative flex-1 overflow-y-hidden",t),initial:"smooth",resize:"smooth",role:"log"},e))},ue=r=>{var o=r,{className:t}=o,e=u(o,["className"]);return jsxRuntime.jsx(useStickToBottom.StickToBottom.Content,s({className:h("flex flex-col gap-8 p-4",t)},e))},_t=p=>{var i=p,{className:t,title:e="No messages yet",description:r="Start a conversation to see messages here",icon:o,children:n}=i,a=u(i,["className","title","description","icon","children"]);return jsxRuntime.jsx("div",C(s({className:h("flex size-full flex-col items-center justify-center gap-3 p-8 text-center",t)},a),{children:n!=null?n:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[o&&jsxRuntime.jsx("div",{className:"text-muted-foreground",children:o}),jsxRuntime.jsxs("div",{className:"space-y-1",children:[jsxRuntime.jsx("h3",{className:"font-medium text-sm",children:e}),r&&jsxRuntime.jsx("p",{className:"text-muted-foreground text-sm",children:r})]})]})}))},ge=r=>{var o=r,{className:t}=o,e=u(o,["className"]);let{isAtBottom:n,scrollToBottom:a}=useStickToBottom.useStickToBottomContext(),p=react.useCallback(()=>{a();},[a]);return !n&&jsxRuntime.jsx(pt,C(s({className:h("absolute bottom-4 left-[50%] translate-x-[-50%] rounded-full",t),onClick:p,size:"icon",type:"button",variant:"outline"},e),{children:jsxRuntime.jsx(lucideReact.ArrowDownIcon,{className:"size-4"})}))};function Ut(r){var o=r,{delayDuration:t=0}=o,e=u(o,["delayDuration"]);return jsxRuntime.jsx(V__namespace.Provider,s({"data-slot":"tooltip-provider",delayDuration:t},e))}function Q(e){var t=u(e,[]);return jsxRuntime.jsx(Ut,{children:jsxRuntime.jsx(V__namespace.Root,s({"data-slot":"tooltip"},t))})}function Y(e){var t=u(e,[]);return jsxRuntime.jsx(V__namespace.Trigger,s({"data-slot":"tooltip-trigger"},t))}function tt(n){var a=n,{className:t,sideOffset:e=0,children:r}=a,o=u(a,["className","sideOffset","children"]);return jsxRuntime.jsx(V__namespace.Portal,{children:jsxRuntime.jsx("div",{className:"peam-root",children:jsxRuntime.jsxs(V__namespace.Content,C(s({"data-slot":"tooltip-content",sideOffset:e,className:h("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",t)},o),{children:[r,jsxRuntime.jsx(V__namespace.Arrow,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]}))})})}var Ft=o=>{var n=o,{className:t,from:e}=n,r=u(n,["className","from"]);return jsxRuntime.jsx("div",s({className:h("group flex w-full max-w-[95%] flex-col gap-2",e==="user"?"is-user ml-auto justify-end":"is-assistant",t)},r))},jt=o=>{var n=o,{children:t,className:e}=n,r=u(n,["children","className"]);return jsxRuntime.jsx("div",C(s({className:h("is-user:dark flex w-fit max-w-full min-w-0 flex-col gap-2 overflow-hidden text-sm","group-[.is-user]:ml-auto group-[.is-user]:rounded-lg group-[.is-user]:bg-secondary group-[.is-user]:px-4 group-[.is-user]:py-3 group-[.is-user]:text-foreground","group-[.is-assistant]:text-foreground",e)},r),{children:t}))},Ot=o=>{var n=o,{className:t,children:e}=n,r=u(n,["className","children"]);return jsxRuntime.jsx("div",C(s({className:h("flex items-center gap-1",t)},r),{children:e}))},Ct=p=>{var i=p,{tooltip:t,children:e,label:r,variant:o="ghost",size:n="icon-sm"}=i,a=u(i,["tooltip","children","label","variant","size"]);let c=jsxRuntime.jsxs(pt,C(s({size:n,type:"button",variant:o},a),{children:[e,jsxRuntime.jsx("span",{className:"sr-only",children:r||t})]}));return t?jsxRuntime.jsx(Ut,{children:jsxRuntime.jsxs(Q,{children:[jsxRuntime.jsx(Y,{asChild:true,children:c}),jsxRuntime.jsx(tt,{children:jsxRuntime.jsx("p",{children:t})})]})}):c};react.createContext(null);var Gt=react.memo(r=>{var o=r,{className:t}=o,e=u(o,["className"]);return jsxRuntime.jsx(streamdown.Streamdown,s({className:h("size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",t)},e))},(t,e)=>t.children===e.children);Gt.displayName="MessageResponse";function he(r){var o=r,{className:t}=o,e=u(o,["className"]);return jsxRuntime.jsx("textarea",s({"data-slot":"textarea",className:h("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",t)},e))}function be(r){var o=r,{className:t}=o,e=u(o,["className"]);return jsxRuntime.jsx("div",s({"data-slot":"input-group",role:"group",className:h("group/input-group border-input dark:bg-input/30 relative flex w-full items-center rounded-md border shadow-xs transition-[color,box-shadow] outline-none","h-9 min-w-0 has-[>textarea]:h-auto","has-[>[data-align=inline-start]]:[&>input]:pl-2","has-[>[data-align=inline-end]]:[&>input]:pr-2","has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3","has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3","has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot=input-group-control]:focus-visible]:ring-[3px]","has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[[data-slot][aria-invalid=true]]:border-destructive dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40",t)},e))}var ko=classVarianceAuthority.cva("text-muted-foreground flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium select-none [&>svg:not([class*='size-'])]:size-4 [&>kbd]:rounded-[calc(var(--radius)-5px)] group-data-[disabled=true]/input-group:opacity-50",{variants:{align:{"inline-start":"order-first pl-3 has-[>button]:ml-[-0.45rem] has-[>kbd]:ml-[-0.35rem]","inline-end":"order-last pr-3 has-[>button]:mr-[-0.45rem] has-[>kbd]:mr-[-0.35rem]","block-start":"order-first w-full justify-start px-3 pt-3 [.border-b]:pb-3 group-has-[>input]/input-group:pt-2.5","block-end":"order-last w-full justify-start px-3 pb-3 [.border-t]:pt-3 group-has-[>input]/input-group:pb-2.5"}},defaultVariants:{align:"inline-start"}});function we(o){var n=o,{className:t,align:e="inline-start"}=n,r=u(n,["className","align"]);return jsxRuntime.jsx("div",s({role:"group","data-slot":"input-group-addon","data-align":e,className:h(ko({align:e}),t),onClick:a=>{var p,i;a.target.closest("button")||(i=(p=a.currentTarget.parentElement)==null?void 0:p.querySelector("input"))==null||i.focus();}},r))}var Po=classVarianceAuthority.cva("text-sm shadow-none flex gap-2 items-center",{variants:{size:{xs:"h-6 gap-1 px-2 rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-3.5 has-[>svg]:px-2",sm:"h-8 px-2.5 gap-1.5 rounded-md has-[>svg]:px-2.5","icon-xs":"size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0","icon-sm":"size-8 p-0 has-[>svg]:p-0"}},defaultVariants:{size:"xs"}});function Vt(a){var p=a,{className:t,type:e="button",variant:r="ghost",size:o="xs"}=p,n=u(p,["className","type","variant","size"]);return jsxRuntime.jsx(pt,s({type:e,"data-size":o,variant:r,className:h(Po({size:o}),t)},n))}function xe(r){var o=r,{className:t}=o,e=u(o,["className"]);return jsxRuntime.jsx(he,s({"data-slot":"input-group-control",className:h("flex-1 resize-none rounded-none border-0 bg-transparent py-3 shadow-none focus-visible:ring-0 dark:bg-transparent",t)},e))}var Ro=react.createContext(null),Lo=react.createContext(null);var ye=()=>react.useContext(Ro);var Bo=()=>react.useContext(Lo);var ke=react.createContext(null),Eo=()=>{let t=Bo(),e=react.useContext(ke),r=t!=null?t:e;if(!r)throw new Error("usePromptInputAttachments must be used within a PromptInput or PromptInputProvider");return r};var Pe=T=>{var A=T,{className:t,accept:e,multiple:r,globalDrop:o,syncHiddenInput:n,maxFiles:a,maxFileSize:p,onError:i,onSubmit:c,children:g}=A,f=u(A,["className","accept","multiple","globalDrop","syncHiddenInput","maxFiles","maxFileSize","onError","onSubmit","children"]);let l=ye(),d=!!l,w=react.useRef(null),E=react.useRef(null),[K,k]=react.useState([]),I=d?l.attachments.files:K,F=react.useRef(I);F.current=I;let z=react.useCallback(()=>{var m;(m=w.current)==null||m.click();},[]),G=react.useCallback(m=>!e||e.trim()===""?true:e.split(",").map(x=>x.trim()).filter(Boolean).some(x=>{if(x.endsWith("/*")){let y=x.slice(0,-1);return m.type.startsWith(y)}return m.type===x}),[e]),N=react.useCallback(m=>{let M=Array.from(m),x=M.filter(S=>G(S));if(M.length&&x.length===0){i==null||i({code:"accept",message:"No files match the accepted types."});return}let y=S=>p?S.size<=p:true,b=x.filter(y);if(x.length>0&&b.length===0){i==null||i({code:"max_file_size",message:"All files exceed the maximum size."});return}k(S=>{let j=typeof a=="number"?Math.max(0,a-S.length):void 0,et=typeof j=="number"?b.slice(0,j):b;typeof j=="number"&&b.length>j&&(i==null||i({code:"max_files",message:"Too many files. Some were not added."}));let ht=[];for(let it of et)ht.push({id:nanoid.nanoid(),type:"file",url:URL.createObjectURL(it),mediaType:it.type,filename:it.name});return S.concat(ht)});},[G,a,p,i]),nt=react.useCallback(m=>k(M=>{let x=M.find(y=>y.id===m);return x!=null&&x.url&&URL.revokeObjectURL(x.url),M.filter(y=>y.id!==m)}),[]),wt=react.useCallback(()=>k(m=>{for(let M of m)M.url&&URL.revokeObjectURL(M.url);return []}),[]),H=d?l.attachments.add:N,X=d?l.attachments.remove:nt,$=d?l.attachments.clear:wt,xt=d?l.attachments.openFileDialog:z;react.useEffect(()=>{d&&l.__registerFileInput(w,()=>{var m;return (m=w.current)==null?void 0:m.click()});},[d,l]),react.useEffect(()=>{n&&w.current&&I.length===0&&(w.current.value="");},[I,n]),react.useEffect(()=>{let m=E.current;if(!m||o)return;let M=y=>{var b,S;(S=(b=y.dataTransfer)==null?void 0:b.types)!=null&&S.includes("Files")&&y.preventDefault();},x=y=>{var b,S,j;(S=(b=y.dataTransfer)==null?void 0:b.types)!=null&&S.includes("Files")&&y.preventDefault(),(j=y.dataTransfer)!=null&&j.files&&y.dataTransfer.files.length>0&&H(y.dataTransfer.files);};return m.addEventListener("dragover",M),m.addEventListener("drop",x),()=>{m.removeEventListener("dragover",M),m.removeEventListener("drop",x);}},[H,o]),react.useEffect(()=>{if(!o)return;let m=x=>{var y,b;(b=(y=x.dataTransfer)==null?void 0:y.types)!=null&&b.includes("Files")&&x.preventDefault();},M=x=>{var y,b,S;(b=(y=x.dataTransfer)==null?void 0:y.types)!=null&&b.includes("Files")&&x.preventDefault(),(S=x.dataTransfer)!=null&&S.files&&x.dataTransfer.files.length>0&&H(x.dataTransfer.files);};return document.addEventListener("dragover",m),document.addEventListener("drop",M),()=>{document.removeEventListener("dragover",m),document.removeEventListener("drop",M);}},[H,o]),react.useEffect(()=>()=>{if(!d)for(let m of F.current)m.url&&URL.revokeObjectURL(m.url);},[d]);let zt=m=>{m.currentTarget.files&&H(m.currentTarget.files),m.currentTarget.value="";},Nt=m=>D(null,null,function*(){try{let x=yield (yield fetch(m)).blob();return new Promise(y=>{let b=new FileReader;b.onloadend=()=>y(b.result),b.onerror=()=>y(null),b.readAsDataURL(x);})}catch(M){return null}}),yt=react.useMemo(()=>({files:I.map(m=>C(s({},m),{id:m.id})),add:H,remove:X,clear:$,openFileDialog:xt,fileInputRef:w}),[I,H,X,$,xt]),Rt=m=>{m.preventDefault();let M=m.currentTarget,x=d?l.textInput.value:new FormData(M).get("message")||"";d||M.reset(),Promise.all(I.map(S=>D(null,null,function*(){var j=S,{id:y}=j,b=u(j,["id"]);if(b.url&&b.url.startsWith("blob:")){let et=yield Nt(b.url);return C(s({},b),{url:et!=null?et:b.url})}return b}))).then(y=>{try{let b=c({text:x,files:y},m);b instanceof Promise?b.then(()=>{$(),d&&l.textInput.clear();}).catch(()=>{}):($(),d&&l.textInput.clear());}catch(b){}}).catch(()=>{});},v=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("input",{accept:e,"aria-label":"Upload files",className:"hidden",multiple:r,onChange:zt,ref:w,title:"Upload files",type:"file"}),jsxRuntime.jsx("form",C(s({className:h("w-full",t),onSubmit:Rt,ref:E},f),{children:jsxRuntime.jsx(be,{className:"overflow-hidden",children:g})}))]});return d?v:jsxRuntime.jsx(ke.Provider,{value:yt,children:v})},Ce=r=>{var o=r,{className:t}=o,e=u(o,["className"]);return jsxRuntime.jsx("div",s({className:h("contents",t)},e))},Ie=n=>{var a=n,{onChange:t,className:e,placeholder:r="What would you like to know?"}=a,o=u(a,["onChange","className","placeholder"]);let p=ye(),i=Eo(),[c,g]=react.useState(false),f=l=>{if(l.key==="Enter"){if(c||l.nativeEvent.isComposing||l.shiftKey)return;l.preventDefault();let d=l.currentTarget.form,w=d==null?void 0:d.querySelector('button[type="submit"]');if(w!=null&&w.disabled)return;d==null||d.requestSubmit();}if(l.key==="Backspace"&&l.currentTarget.value===""&&i.files.length>0){l.preventDefault();let d=i.files.at(-1);d&&i.remove(d.id);}},T=l=>{var E;let d=(E=l.clipboardData)==null?void 0:E.items;if(!d)return;let w=[];for(let K of d)if(K.kind==="file"){let k=K.getAsFile();k&&w.push(k);}w.length>0&&(l.preventDefault(),i.add(w));},A=p?{value:p.textInput.value,onChange:l=>{p.textInput.setInput(l.currentTarget.value),t==null||t(l);}}:{onChange:t};return jsxRuntime.jsx(xe,s(s({className:h("field-sizing-content max-h-48 min-h-16",e),name:"message",onCompositionEnd:()=>g(false),onCompositionStart:()=>g(true),onKeyDown:f,onPaste:T,placeholder:r},o),A))};var Te=r=>{var o=r,{className:t}=o,e=u(o,["className"]);return jsxRuntime.jsx(we,s({align:"block-end",className:h("justify-between gap-1",t)},e))};var Ho=n=>{var a=n,{variant:t="ghost",className:e,size:r}=a,o=u(a,["variant","className","size"]);let p=r!=null?r:react.Children.count(o.children)>1?"sm":"icon-sm";return jsxRuntime.jsx(Vt,s({className:h(e),size:p,type:"button",variant:t},o))};var Ae=p=>{var i=p,{className:t,variant:e="default",size:r="icon-sm",status:o,children:n}=i,a=u(i,["className","variant","size","status","children"]);let c=jsxRuntime.jsx(lucideReact.CornerDownLeftIcon,{className:"size-4"});return o==="submitted"?c=jsxRuntime.jsx(lucideReact.Loader2Icon,{className:"size-4 animate-spin"}):o==="streaming"?c=jsxRuntime.jsx(lucideReact.SquareIcon,{className:"size-4"}):o==="error"&&(c=jsxRuntime.jsx(lucideReact.XIcon,{className:"size-4"})),jsxRuntime.jsx(Vt,C(s({"aria-label":"Submit",className:h(t),size:r,type:"submit",variant:e},a),{children:n!=null?n:c}))},Me=n=>{var a=n,{className:t,textareaRef:e,onTranscriptionChange:r}=a,o=u(a,["className","textareaRef","onTranscriptionChange"]);let[p,i]=react.useState(false),[c,g]=react.useState(null),f=react.useRef(null);react.useEffect(()=>{if(typeof window!="undefined"&&("SpeechRecognition"in window||"webkitSpeechRecognition"in window)){let A=window.SpeechRecognition||window.webkitSpeechRecognition,l=new A;l.continuous=true,l.interimResults=true,l.lang="en-US",l.onstart=()=>{i(true);},l.onend=()=>{i(false);},l.onresult=d=>{var E,K;let w="";for(let k=d.resultIndex;k<d.results.length;k++){let I=d.results[k];I.isFinal&&(w+=(K=(E=I[0])==null?void 0:E.transcript)!=null?K:"");}if(w&&(e!=null&&e.current)){let k=e.current,I=k.value,F=I+(I?" ":"")+w;k.value=F,k.dispatchEvent(new Event("input",{bubbles:true})),r==null||r(F);}},l.onerror=d=>{console.error("Speech recognition error:",d.error),i(false);},f.current=l,g(l);}return ()=>{f.current&&f.current.stop();}},[e,r]);let T=react.useCallback(()=>{c&&(p?c.stop():c.start());},[c,p]);return jsxRuntime.jsx(Ho,C(s({className:h("relative transition-all duration-200",p&&"animate-pulse bg-accent text-accent-foreground",t),disabled:!c,onClick:T},o),{children:jsxRuntime.jsx(lucideReact.MicIcon,{className:"size-4"})}))};var Oo=({children:t,as:e="p",className:r,duration:o=2,spread:n=2})=>{let a=react$1.motion.create(e),p=react.useMemo(()=>{var i;return ((i=t==null?void 0:t.length)!=null?i:0)*n},[t,n]);return jsxRuntime.jsx(a,{animate:{backgroundPosition:"0% center"},className:h("relative inline-block bg-[length:250%_100%,auto] bg-clip-text text-transparent","[--bg:linear-gradient(90deg,#0000_calc(50%-var(--spread)),var(--color-background),#0000_calc(50%+var(--spread)))] [background-repeat:no-repeat,padding-box]",r),initial:{backgroundPosition:"100% center"},style:{"--spread":`${p}px`,backgroundImage:"var(--bg), linear-gradient(var(--color-muted-foreground), var(--color-muted-foreground))"},transition:{repeat:Number.POSITIVE_INFINITY,duration:o,ease:"linear"},children:t})},Se=react.memo(Oo);function ze(e){var t=u(e,[]);return jsxRuntime.jsx(mt__namespace.Root,s({"data-slot":"collapsible"},t))}function Ne(e){var t=u(e,[]);return jsxRuntime.jsx(mt__namespace.CollapsibleTrigger,s({"data-slot":"collapsible-trigger"},t))}function Re(e){var t=u(e,[]);return jsxRuntime.jsx(mt__namespace.CollapsibleContent,s({"data-slot":"collapsible-content"},t))}var Le=r=>{var o=r,{className:t}=o,e=u(o,["className"]);return jsxRuntime.jsx(ze,s({className:h("not-prose mb-4 text-primary text-xs",t)},e))},Be=n=>{var a=n,{className:t,count:e,children:r}=a,o=u(a,["className","count","children"]);return jsxRuntime.jsx(Ne,C(s({className:h("flex items-center gap-2",t)},o),{children:r!=null?r:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("p",{className:"font-medium",children:["Used ",e," sources"]}),jsxRuntime.jsx(lucideReact.ChevronDownIcon,{className:"h-4 w-4"})]})}))},Ee=r=>{var o=r,{className:t}=o,e=u(o,["className"]);return jsxRuntime.jsx(Re,s({className:h("mt-3 flex w-fit flex-col gap-2","data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 outline-none data-[state=closed]:animate-out data-[state=open]:animate-in",t)},e))},He=n=>{var a=n,{href:t,title:e,children:r}=a,o=u(a,["href","title","children"]);return jsxRuntime.jsx("a",C(s({className:"flex items-center gap-2",href:t,rel:"noreferrer",target:"_blank"},o),{children:r!=null?r:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(lucideReact.BookIcon,{className:"h-4 w-4"}),jsxRuntime.jsx("span",{className:"block font-medium",children:e})]})}))};var qo=["Summarize this page","Where should I get started?","What can you help me with?"],_e=({prompts:t=qo,onPromptClick:e})=>!t||t.length===0?null:jsxRuntime.jsx("div",{className:"flex flex-col justify-center gap-3 w-full",children:jsxRuntime.jsx("div",{className:"flex flex-col gap-1 text-xs items-start",children:t.map((r,o)=>jsxRuntime.jsx("button",{onClick:()=>e(r),className:"text-primary hover:underline cursor-pointer text-left starting:opacity-0 transition-opacity duration-200 delay-100",children:r},o))})});var Jt=10;function Ue(t,e,r=Jt){if(!e)return t.slice(-r);let o=t.findIndex(a=>a.id===e);return o===-1?t.slice(-r):t.slice(o+1).slice(-r)}function Fe(t,e,r=Jt){if(!e)return t.length>=r;let o=t.findIndex(a=>a.id===e);return o===-1?t.length>=r:t.length-o-1>=r}function je(t,e,r=Jt){if(!e)return t.slice(-r);let o=t.findIndex(n=>n.id===e);return o===-1?t.slice(-r):t.slice(o+1)}var Yo=logger.loggers.ui;function Ge(t={}){let{api:e="/api/peam",maxMessages:r}=t,{summary:o,saveSummary:n,lastSummarizedMessageId:a}=Pt(),[p,i]=react.useState(false),c=react.useRef([]),g=react.useRef(false),f=react.useMemo(()=>new ai.DefaultChatTransport({api:e}),[e]),{status:T,messages:A,setMessages:l,regenerate:d}=react$2.useChat({transport:f});react.useEffect(()=>{if(g.current||T==="submitted"||T==="streaming"||A.length===0)return;D(null,null,function*(){var I;g.current=true;try{let z=A.filter(G=>G.role==="assistant").map(G=>G.parts.filter(N=>N.type==="text").map(N=>"text"in N?N.text:"").join("")).join(`
5
5
  `);if(z){let G=c.current,N=(I=G[G.length-1])==null?void 0:I.id;N&&n&&(yield n(z,N));}}catch(F){Yo.error("Error processing summary:",F);}finally{i(false),g.current=false;}});},[T,A,n]);let w=react.useCallback((k,I)=>{p||(c.current=[...k],i(true),l(k),d({body:{mode:"summarize",messages:k,previousSummary:I}}));},[l,d,p]),E=react.useCallback((k,I,F)=>{if(p)return false;let z=je(k,I,r);return z.length===0?false:(w(z,F),true)},[w,p,r]);return {maybeTriggerSummarization:react.useCallback(k=>{if(p)return false;let I=k[k.length-1];return !I||I.role!=="assistant"||!Fe(k,a,r)?false:E(k,a,o)},[p,E,o,a,r]),summary:o,lastSummarizedMessageId:a}}var Mt=class extends ai.DefaultChatTransport{constructor(e){super({api:e.api,prepareSendMessagesRequest:({messages:r,body:o})=>{let n=o==null?void 0:o.lastSummarizedMessageId,a=Ue(r,n,e.maxMessages);return {body:C(s({},o),{messages:a})}}});}};var W=t=>jsxRuntime.jsxs("svg",C(s({viewBox:"3 3 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t),{children:[jsxRuntime.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21H16.5C17.8978 21 18.5967 21 19.1481 20.7716C19.8831 20.4672 20.4672 19.8831 20.7716 19.1481C21 18.5967 21 17.8978 21 16.5V12C21 7.02944 16.9706 3 12 3Z",fill:"currentColor"}),jsxRuntime.jsx("rect",{x:"8",y:"10",width:"8",height:"2",rx:"1",fill:"var(--background)"}),jsxRuntime.jsx("rect",{x:"11",y:"14",width:"5",height:"2",rx:"1",fill:"var(--background)"})]})),St=t=>jsxRuntime.jsxs("svg",C(s({viewBox:"3 3 18 18",xmlns:"http://www.w3.org/2000/svg"},t),{children:[jsxRuntime.jsx("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"M12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21H16.5C17.8978 21 18.5967 21 19.1481 20.7716C19.8831 20.4672 20.4672 19.8831 20.7716 19.1481C21 18.5967 21 17.8978 21 16.5V12C21 7.02944 16.9706 3 12 3Z"}),jsxRuntime.jsx("path",{fill:"var(--background)",d:"M10.71 9.03C10.32 8.64 9.69 8.64 9.3 9.03C8.91 9.42 8.91 10.05 9.3 10.44L11.06 12.2L9.3 13.96C8.91 14.35 8.91 14.98 9.3 15.37C9.69 15.76 10.32 15.76 10.71 15.37L12.47 13.61L14.23 15.37C14.62 15.76 15.25 15.76 15.64 15.37C16.03 14.98 16.03 14.35 15.64 13.96L13.88 12.2L15.64 10.44C16.03 10.05 16.03 9.42 15.64 9.03C15.25 8.64 14.62 8.64 14.23 9.03L12.47 10.79L10.71 9.03Z"})]}));var ir=logger.loggers.ui,at=({chatPersistence:t,suggestedPrompts:e,onClearRef:r,chatTransport:o,maxMessages:n})=>{let[a,p]=react.useState(""),[i,c]=react.useState(false),g=react.useRef(null),[f,T]=react.useState(null),A=react.useRef(false),l=react.useRef(0),{initialMessages:d,isLoading:w,saveMessages:E,clearMessages:K}=t,{summary:k,lastSummarizedMessageId:I,maybeTriggerSummarization:F}=Ge({maxMessages:n}),{messages:z,sendMessage:G,status:N,error:nt,regenerate:wt,setMessages:H}=react$2.useChat({transport:o!=null?o:new Mt({api:"/api/peam",maxMessages:n})}),X=react.useMemo(()=>N!=="submitted"&&N!=="streaming",[N]);react.useEffect(()=>{!(w||i)&&d.length>0?(H(d),l.current=d.length,c(true)):w||i||c(true);},[w,d,i,H]),react.useEffect(()=>{i&&!w&&!A.current&&X&&d.length!==l.current&&(A.current=true,H(d),l.current=d.length,setTimeout(()=>{A.current=false;},100));},[d,i,w,H,X]),react.useEffect(()=>{i&&z.length>=0&&!A.current&&X&&(E(z),l.current=z.length);},[z,E,i,X]),react.useEffect(()=>{if(!X||!i)return;let v=setTimeout(()=>{F(z);},300);return ()=>clearTimeout(v)},[z,X,i,F]);let $=react.useCallback(v=>{G(C(s({},v),{metadata:{currentPage:{title:window.document.title,origin:window.location.origin,path:window.location.pathname}}}),{body:{summary:k,lastSummarizedMessageId:I}});},[G,k,I]);react.useEffect(()=>{var v;(v=g==null?void 0:g.current)==null||v.focus();},[g]);let xt=react.useCallback(v=>{v.text&&($({text:v.text}),p(""));},[$,p]),zt=react.useCallback(v=>{$({text:v});},[$]),Nt=react.useCallback((v,m)=>D(null,null,function*(){yield navigator.clipboard.writeText(m),T(v),setTimeout(()=>T(null),2e3);}),[T]),yt=react.useCallback(()=>D(null,null,function*(){try{yield K(),H([]);}catch(v){ir.error("Failed to clear chat history:",v);}}),[K,H]);react.useEffect(()=>{r&&r(yt);},[r,yt]);let Rt=v=>{try{let m=JSON.parse(v.message);if(m.error)return m.error}catch(m){}return "An error occurred while processing your request."};return jsxRuntime.jsxs("div",{className:"flex flex-col h-full bg-background rounded-sm",children:[jsxRuntime.jsxs(de,{children:[jsxRuntime.jsx(ue,{className:z.length===0&&!nt&&!w?"justify-between min-h-full":"",children:w?jsxRuntime.jsx("div",{className:"flex items-center justify-center flex-1",children:jsxRuntime.jsx(_t,{icon:jsxRuntime.jsx(W,{className:"size-12 animate-pulse"}),title:"Loading chat history...",description:"Please wait"})}):z.length===0&&!nt?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"flex items-center justify-center flex-1",children:jsxRuntime.jsx(_t,{icon:jsxRuntime.jsx(W,{className:"size-12"}),title:"Ask me anything",description:"How can I help you today?"})}),jsxRuntime.jsx(_e,{prompts:e,onPromptClick:zt})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[z.map((v,m)=>{let M=v.parts.filter(R=>R.type==="source-url"),x=Array.from(new Map(M.map(R=>[R.sourceId,R])).values()),y=x.length,b=m===z.length-1,S=v.role==="assistant",j=b&&N==="streaming",et=!j,ht=v.parts.filter(R=>R.type==="text").map(R=>R.text).join(`
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- /* Peam 0.1.1 | https://peam.ai */
2
+ /* Peam 0.1.2 | https://peam.ai */
3
3
  import {Check,Copy,RefreshCcw,Trash2,X,ChevronDownIcon,BookIcon,ArrowDownIcon,MicIcon,CornerDownLeftIcon,Loader2Icon,SquareIcon,XIcon}from'lucide-react';import {createContext,memo,useMemo,useState,useRef,useEffect,useCallback,useContext,Children}from'react';import {loggers}from'@peam-ai/logger';import {useLiveQuery}from'dexie-react-hooks';import to from'dexie';import {Slot}from'@radix-ui/react-slot';import {cva}from'class-variance-authority';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {StickToBottom,useStickToBottomContext}from'use-stick-to-bottom';import*as V from'@radix-ui/react-tooltip';import {Streamdown}from'streamdown';import {nanoid}from'nanoid';import {motion}from'motion/react';import*as mt from'@radix-ui/react-collapsible';import {useChat}from'@ai-sdk/react';import {DefaultChatTransport}from'ai';var Ze=Object.defineProperty,Qe=Object.defineProperties;var Ye=Object.getOwnPropertyDescriptors;var kt=Object.getOwnPropertySymbols;var ne=Object.prototype.hasOwnProperty,ie=Object.prototype.propertyIsEnumerable;var ae=(t,e,r)=>e in t?Ze(t,e,{enumerable:true,configurable:true,writable:true,value:r}):t[e]=r,s=(t,e)=>{for(var r in e||(e={}))ne.call(e,r)&&ae(t,r,e[r]);if(kt)for(var r of kt(e))ie.call(e,r)&&ae(t,r,e[r]);return t},C=(t,e)=>Qe(t,Ye(e));var u=(t,e)=>{var r={};for(var o in t)ne.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(t!=null&&kt)for(var o of kt(t))e.indexOf(o)<0&&ie.call(t,o)&&(r[o]=t[o]);return r};var D=(t,e,r)=>new Promise((o,n)=>{var a=c=>{try{i(r.next(c));}catch(g){n(g);}},p=c=>{try{i(r.throw(c));}catch(g){n(g);}},i=c=>c.done?o(c.value):Promise.resolve(c.value).then(a,p);i((r=r.apply(t,e)).next());});function Lt(t,{insertAt:e}={}){if(typeof document=="undefined")return;let r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css",e==="top"&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=t:o.appendChild(document.createTextNode(t));}Lt(`/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties;.peam-root,.peam-root :host{--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50: oklch(97.1% .013 17.38);--color-red-100: oklch(93.6% .032 17.717);--color-red-200: oklch(88.5% .062 18.334);--color-red-600: oklch(57.7% .245 27.325);--color-red-700: oklch(50.5% .213 27.518);--color-red-800: oklch(44.4% .177 26.899);--color-orange-600: oklch(64.6% .222 41.116);--color-yellow-600: oklch(68.1% .162 75.834);--color-green-600: oklch(62.7% .194 149.214);--color-blue-600: oklch(54.6% .245 262.881);--color-black: #000;--color-white: #fff;--spacing: .25rem;--container-sm: 24rem;--container-lg: 32rem;--container-2xl: 42rem;--text-xs: .75rem;--text-xs--line-height: calc(1 / .75);--text-sm: .875rem;--text-sm--line-height: calc(1.25 / .875);--text-base: 1rem;--text-base--line-height: 1.5 ;--text-lg: 1.125rem;--text-lg--line-height: calc(1.75 / 1.125);--text-xl: 1.25rem;--text-xl--line-height: calc(1.75 / 1.25);--text-2xl: 1.5rem;--text-2xl--line-height: calc(2 / 1.5);--text-3xl: 1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--tracking-tight: -.025em;--tracking-wide: .025em;--tracking-widest: .1em;--leading-tight: 1.25;--leading-relaxed: 1.625;--radius-xs: .125rem;--drop-shadow-lg: 0 4px 4px rgb(0 0 0 / .15);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--animate-spin: spin 1s linear infinite;--animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm: 8px;--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono);--color-background: var(--background);--color-muted-foreground: var(--muted-foreground);--color-ring: var(--ring)}.peam-root *,.peam-root :after,.peam-root :before,.peam-root ::backdrop,.peam-root ::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}.peam-root,.peam-root :host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}.peam-root hr{height:0;color:inherit;border-top-width:1px}.peam-root abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.peam-root h1,.peam-root h2,.peam-root h3,.peam-root h4,.peam-root h5,.peam-root h6{font-size:inherit;font-weight:inherit}.peam-root a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}.peam-root b,.peam-root strong{font-weight:bolder}.peam-root code,.peam-root kbd,.peam-root samp,.peam-root pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}.peam-root small{font-size:80%}.peam-root sub,.peam-root sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.peam-root sub{bottom:-.25em}.peam-root sup{top:-.5em}.peam-root table{text-indent:0;border-color:inherit;border-collapse:collapse}.peam-root :-moz-focusring{outline:auto}.peam-root progress{vertical-align:baseline}.peam-root summary{display:list-item}.peam-root ol,.peam-root ul,.peam-root menu{list-style:none}.peam-root img,.peam-root svg,.peam-root video,.peam-root canvas,.peam-root audio,.peam-root iframe,.peam-root embed,.peam-root object{display:block;vertical-align:middle}.peam-root img,.peam-root video{max-width:100%;height:auto}.peam-root button,.peam-root input,.peam-root select,.peam-root optgroup,.peam-root textarea,.peam-root ::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}.peam-root :where(select:is([multiple],[size])) optgroup{font-weight:bolder}.peam-root :where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}.peam-root ::file-selector-button{margin-inline-end:4px}.peam-root ::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){.peam-root ::placeholder{color:currentcolor;@supports (color: color-mix(in lab,red,red)){color:color-mix(in oklab,currentcolor 50%,transparent)}}}.peam-root textarea{resize:vertical}.peam-root ::-webkit-search-decoration{-webkit-appearance:none}.peam-root ::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}.peam-root ::-webkit-datetime-edit{display:inline-flex}.peam-root ::-webkit-datetime-edit-fields-wrapper{padding:0}.peam-root ::-webkit-datetime-edit,.peam-root ::-webkit-datetime-edit-year-field,.peam-root ::-webkit-datetime-edit-month-field,.peam-root ::-webkit-datetime-edit-day-field,.peam-root ::-webkit-datetime-edit-hour-field,.peam-root ::-webkit-datetime-edit-minute-field,.peam-root ::-webkit-datetime-edit-second-field,.peam-root ::-webkit-datetime-edit-millisecond-field,.peam-root ::-webkit-datetime-edit-meridiem-field{padding-block:0}.peam-root ::-webkit-calendar-picker-indicator{line-height:1}.peam-root :-moz-ui-invalid{box-shadow:none}.peam-root button,.peam-root input:where([type=button],[type=reset],[type=submit]),.peam-root ::file-selector-button{appearance:button}.peam-root ::-webkit-inner-spin-button,.peam-root ::-webkit-outer-spin-button{height:auto}.peam-root [hidden]:where(:not([hidden=until-found])){display:none!important}.peam-root .\\@container\\/card-header{container-type:inline-size;container-name:card-header}.peam-root .pointer-events-none{pointer-events:none}.peam-root .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.peam-root .absolute{position:absolute}.peam-root .fixed{position:fixed}.peam-root .relative{position:relative}.peam-root .static{position:static}.peam-root .inset-0{inset:calc(var(--spacing) * 0)}.peam-root .inset-x-0{inset-inline:calc(var(--spacing) * 0)}.peam-root .-top-12{top:calc(var(--spacing) * -12)}.peam-root .top-1\\/2{top:50%}.peam-root .top-2{top:calc(var(--spacing) * 2)}.peam-root .top-3{top:calc(var(--spacing) * 3)}.peam-root .top-4{top:calc(var(--spacing) * 4)}.peam-root .top-7{top:calc(var(--spacing) * 7)}.peam-root .top-\\[50\\%\\]{top:50%}.peam-root .top-full{top:100%}.peam-root .-right-12{right:calc(var(--spacing) * -12)}.peam-root .right-0{right:calc(var(--spacing) * 0)}.peam-root .right-2{right:calc(var(--spacing) * 2)}.peam-root .right-3{right:calc(var(--spacing) * 3)}.peam-root .right-4{right:calc(var(--spacing) * 4)}.peam-root .-bottom-12{bottom:calc(var(--spacing) * -12)}.peam-root .bottom-0{bottom:calc(var(--spacing) * 0)}.peam-root .bottom-2{bottom:calc(var(--spacing) * 2)}.peam-root .bottom-4{bottom:calc(var(--spacing) * 4)}.peam-root .-left-12{left:calc(var(--spacing) * -12)}.peam-root .left-1\\/2{left:50%}.peam-root .left-2{left:calc(var(--spacing) * 2)}.peam-root .left-4{left:calc(var(--spacing) * 4)}.peam-root .left-\\[50\\%\\]{left:50%}.peam-root .z-10{z-index:10}.peam-root .z-40{z-index:40}.peam-root .z-50{z-index:50}.peam-root .z-60{z-index:60}.peam-root .order-first{order:-9999}.peam-root .order-last{order:9999}.peam-root .col-start-2{grid-column-start:2}.peam-root .row-span-2{grid-row:span 2 / span 2}.peam-root .row-start-1{grid-row-start:1}.peam-root .container{width:100%;@media(width>=40rem){max-width:40rem}@media(width>=48rem){max-width:48rem}@media(width>=64rem){max-width:64rem}@media(width>=80rem){max-width:80rem}@media(width>=96rem){max-width:96rem}}.peam-root .\\!m-0{margin:calc(var(--spacing) * 0)!important}.peam-root .m-4{margin:calc(var(--spacing) * 4)}.peam-root .-mx-1{margin-inline:calc(var(--spacing) * -1)}.peam-root .-mx-px{margin-inline:-1px}.peam-root .my-1{margin-block:calc(var(--spacing) * 1)}.peam-root .my-4{margin-block:calc(var(--spacing) * 4)}.peam-root .my-6{margin-block:calc(var(--spacing) * 6)}.peam-root .-mt-4{margin-top:calc(var(--spacing) * -4)}.peam-root .mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.peam-root .mt-1{margin-top:calc(var(--spacing) * 1)}.peam-root .mt-2{margin-top:calc(var(--spacing) * 2)}.peam-root .mt-3{margin-top:calc(var(--spacing) * 3)}.peam-root .mt-4{margin-top:calc(var(--spacing) * 4)}.peam-root .mt-6{margin-top:calc(var(--spacing) * 6)}.peam-root .mr-2{margin-right:calc(var(--spacing) * 2)}.peam-root .mr-4{margin-right:calc(var(--spacing) * 4)}.peam-root .-mb-1{margin-bottom:calc(var(--spacing) * -1)}.peam-root .mb-2{margin-bottom:calc(var(--spacing) * 2)}.peam-root .mb-4{margin-bottom:calc(var(--spacing) * 4)}.peam-root .-ml-4{margin-left:calc(var(--spacing) * -4)}.peam-root .ml-1{margin-left:calc(var(--spacing) * 1)}.peam-root .ml-2{margin-left:calc(var(--spacing) * 2)}.peam-root .ml-6{margin-left:calc(var(--spacing) * 6)}.peam-root .ml-auto{margin-left:auto}.peam-root .line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.peam-root .line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.peam-root .block{display:block}.peam-root .contents{display:contents}.peam-root .flex{display:flex}.peam-root .grid{display:grid}.peam-root .hidden{display:none}.peam-root .inline{display:inline}.peam-root .inline-block{display:inline-block}.peam-root .inline-flex{display:inline-flex}.peam-root .list-item{display:list-item}.peam-root .table{display:table}.peam-root .table-cell{display:table-cell}.peam-root .table-row{display:table-row}.peam-root .field-sizing-content{field-sizing:content}.peam-root .size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.peam-root .size-2\\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.peam-root .size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.peam-root .size-3\\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.peam-root .size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.peam-root .size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.peam-root .size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.peam-root .size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.peam-root .size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.peam-root .size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.peam-root .size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.peam-root .size-24{width:calc(var(--spacing) * 24);height:calc(var(--spacing) * 24)}.peam-root .size-auto{width:auto;height:auto}.peam-root .size-full{width:100%;height:100%}.peam-root .h-0{height:calc(var(--spacing) * 0)}.peam-root .h-2{height:calc(var(--spacing) * 2)}.peam-root .h-2\\.5{height:calc(var(--spacing) * 2.5)}.peam-root .h-4{height:calc(var(--spacing) * 4)}.peam-root .h-6{height:calc(var(--spacing) * 6)}.peam-root .h-8{height:calc(var(--spacing) * 8)}.peam-root .h-9{height:calc(var(--spacing) * 9)}.peam-root .h-10{height:calc(var(--spacing) * 10)}.peam-root .h-\\[46px\\]{height:46px}.peam-root .h-\\[66vh\\]{height:66vh}.peam-root .h-\\[80vh\\]{height:80vh}.peam-root .h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.peam-root .h-auto{height:auto}.peam-root .h-full{height:100%}.peam-root .h-px{height:1px}.peam-root .max-h-\\(--radix-dropdown-menu-content-available-height\\){max-height:var(--radix-dropdown-menu-content-available-height)}.peam-root .max-h-\\(--radix-select-content-available-height\\){max-height:var(--radix-select-content-available-height)}.peam-root .max-h-40{max-height:calc(var(--spacing) * 40)}.peam-root .max-h-48{max-height:calc(var(--spacing) * 48)}.peam-root .max-h-96{max-height:calc(var(--spacing) * 96)}.peam-root .max-h-\\[22rem\\]{max-height:22rem}.peam-root .max-h-\\[300px\\]{max-height:300px}.peam-root .max-h-full{max-height:100%}.peam-root .min-h-0{min-height:calc(var(--spacing) * 0)}.peam-root .min-h-4{min-height:calc(var(--spacing) * 4)}.peam-root .min-h-16{min-height:calc(var(--spacing) * 16)}.peam-root .min-h-full{min-height:100%}.peam-root .w-2\\.5{width:calc(var(--spacing) * 2.5)}.peam-root .w-4{width:calc(var(--spacing) * 4)}.peam-root .w-8{width:calc(var(--spacing) * 8)}.peam-root .w-64{width:calc(var(--spacing) * 64)}.peam-root .w-80{width:calc(var(--spacing) * 80)}.peam-root .w-96{width:calc(var(--spacing) * 96)}.peam-root .w-\\[240px\\]{width:240px}.peam-root .w-auto{width:auto}.peam-root .w-fit{width:fit-content}.peam-root .w-full{width:100%}.peam-root .w-max{width:max-content}.peam-root .w-px{width:1px}.peam-root .w-sm{width:var(--container-sm)}.peam-root .max-w-2xl{max-width:var(--container-2xl)}.peam-root .max-w-\\[95\\%\\]{max-width:95%}.peam-root .max-w-\\[100px\\]{max-width:100px}.peam-root .max-w-\\[calc\\(100\\%-2rem\\)\\]{max-width:calc(100% - 2rem)}.peam-root .max-w-full{max-width:100%}.peam-root .max-w-prose{max-width:65ch}.peam-root .min-w-0{min-width:calc(var(--spacing) * 0)}.peam-root .min-w-10{min-width:calc(var(--spacing) * 10)}.peam-root .min-w-60{min-width:calc(var(--spacing) * 60)}.peam-root .min-w-\\[8rem\\]{min-width:8rem}.peam-root .min-w-\\[120px\\]{min-width:120px}.peam-root .min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.peam-root .flex-1{flex:1}.peam-root .shrink-0{flex-shrink:0}.peam-root .grow{flex-grow:1}.peam-root .grow-0{flex-grow:0}.peam-root .basis-full{flex-basis:100%}.peam-root .border-collapse{border-collapse:collapse}.peam-root .origin-\\(--radix-dropdown-menu-content-transform-origin\\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.peam-root .origin-\\(--radix-hover-card-content-transform-origin\\){transform-origin:var(--radix-hover-card-content-transform-origin)}.peam-root .origin-\\(--radix-select-content-transform-origin\\){transform-origin:var(--radix-select-content-transform-origin)}.peam-root .origin-\\(--radix-tooltip-content-transform-origin\\){transform-origin:var(--radix-tooltip-content-transform-origin)}.peam-root .origin-center{transform-origin:center}.peam-root .-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.peam-root .translate-x-\\[-50\\%\\]{--tw-translate-x: -50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.peam-root .-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.peam-root .translate-y-\\[-50\\%\\]{--tw-translate-y: -50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.peam-root .translate-y-\\[calc\\(-50\\%_-_2px\\)\\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.peam-root .rotate-0{rotate:0deg}.peam-root .rotate-45{rotate:45deg}.peam-root .rotate-90{rotate:90deg}.peam-root .rotate-180{rotate:180deg}.peam-root .transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.peam-root .animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.peam-root .animate-pulse{animation:var(--animate-pulse)}.peam-root .animate-spin{animation:var(--animate-spin)}.peam-root .cursor-default{cursor:default}.peam-root .cursor-pointer{cursor:pointer}.peam-root .cursor-text{cursor:text}.peam-root .touch-none{touch-action:none}.peam-root .resize{resize:both}.peam-root .resize-none{resize:none}.peam-root .scroll-my-1{scroll-margin-block:calc(var(--spacing) * 1)}.peam-root .scroll-py-1{scroll-padding-block:calc(var(--spacing) * 1)}.peam-root .list-inside{list-style-position:inside}.peam-root .list-decimal{list-style-type:decimal}.peam-root .list-disc{list-style-type:disc}.peam-root .auto-rows-min{grid-auto-rows:min-content}.peam-root .grid-cols-\\[0_1fr\\]{grid-template-columns:0 1fr}.peam-root .grid-rows-\\[auto_auto\\]{grid-template-rows:auto auto}.peam-root .flex-col{flex-direction:column}.peam-root .flex-col-reverse{flex-direction:column-reverse}.peam-root .flex-nowrap{flex-wrap:nowrap}.peam-root .flex-wrap{flex-wrap:wrap}.peam-root .items-center{align-items:center}.peam-root .items-start{align-items:flex-start}.peam-root .items-stretch{align-items:stretch}.peam-root .justify-between{justify-content:space-between}.peam-root .justify-center{justify-content:center}.peam-root .justify-end{justify-content:flex-end}.peam-root .justify-start{justify-content:flex-start}.peam-root .justify-items-start{justify-items:start}.peam-root .gap-0{gap:calc(var(--spacing) * 0)}.peam-root .gap-0\\.5{gap:calc(var(--spacing) * .5)}.peam-root .gap-1{gap:calc(var(--spacing) * 1)}.peam-root .gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.peam-root .gap-2{gap:calc(var(--spacing) * 2)}.peam-root .gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.peam-root .gap-3{gap:calc(var(--spacing) * 3)}.peam-root .gap-4{gap:calc(var(--spacing) * 4)}.peam-root .gap-6{gap:calc(var(--spacing) * 6)}.peam-root .gap-8{gap:calc(var(--spacing) * 8)}.peam-root .gap-px{gap:1px}.peam-root .space-y-1{.peam-root :where(&>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}}.peam-root .space-y-2{.peam-root :where(&>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}}.peam-root .space-y-3{.peam-root :where(&>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}}.peam-root .space-y-4{.peam-root :where(&>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}}.peam-root .-space-x-1{.peam-root :where(&>:not(:last-child)){--tw-space-x-reverse: 0;margin-inline-start:calc(calc(var(--spacing) * -1) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -1) * calc(1 - var(--tw-space-x-reverse)))}}.peam-root .space-x-2{.peam-root :where(&>:not(:last-child)){--tw-space-x-reverse: 0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}}.peam-root .gap-y-0\\.5{row-gap:calc(var(--spacing) * .5)}.peam-root .divide-y{.peam-root :where(&>:not(:last-child)){--tw-divide-y-reverse: 0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}}.peam-root .divide-border{.peam-root :where(&>:not(:last-child)){border-color:var(--border)}}.peam-root .self-end{align-self:flex-end}.peam-root .self-start{align-self:flex-start}.peam-root .self-stretch{align-self:stretch}.peam-root .justify-self-end{justify-self:flex-end}.peam-root .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.peam-root .overflow-auto{overflow:auto}.peam-root .overflow-hidden{overflow:hidden}.peam-root .overflow-x-auto{overflow-x:auto}.peam-root .overflow-x-hidden{overflow-x:hidden}.peam-root .overflow-y-auto{overflow-y:auto}.peam-root .overflow-y-hidden{overflow-y:hidden}.peam-root .rounded{border-radius:.25rem}.peam-root .rounded-\\[2px\\]{border-radius:2px}.peam-root .rounded-\\[calc\\(var\\(--radius\\)-5px\\)\\]{border-radius:calc(var(--radius) - 5px)}.peam-root .rounded-\\[inherit\\]{border-radius:inherit}.peam-root .rounded-full{border-radius:calc(infinity * 1px)}.peam-root .rounded-lg{border-radius:var(--radius)}.peam-root .rounded-md{border-radius:calc(var(--radius) - 2px)}.peam-root .rounded-none{border-radius:0}.peam-root .rounded-sm{border-radius:calc(var(--radius) - 4px)}.peam-root .rounded-xl{border-radius:calc(var(--radius) + 4px)}.peam-root .rounded-xs{border-radius:var(--radius-xs)}.peam-root .rounded-t-md{border-top-left-radius:calc(var(--radius) - 2px);border-top-right-radius:calc(var(--radius) - 2px)}.peam-root .rounded-b-md{border-bottom-right-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.peam-root .border{border-style:var(--tw-border-style);border-width:1px}.peam-root .border-0{border-style:var(--tw-border-style);border-width:0px}.peam-root .border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.peam-root .border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.peam-root .border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.peam-root .border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.peam-root .border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.peam-root .border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.peam-root .border-none{--tw-border-style: none;border-style:none}.peam-root .border-border{border-color:var(--border)}.peam-root .border-current{border-color:currentcolor}.peam-root .border-input{border-color:var(--input)}.peam-root .border-muted{border-color:var(--muted)}.peam-root .border-muted-foreground\\/20{border-color:var(--muted-foreground);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--muted-foreground) 20%,transparent)}}.peam-root .border-muted-foreground\\/30{border-color:var(--muted-foreground);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--muted-foreground) 30%,transparent)}}.peam-root .border-muted-foreground\\/50{border-color:var(--muted-foreground);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--muted-foreground) 50%,transparent)}}.peam-root .border-red-200{border-color:var(--color-red-200)}.peam-root .border-transparent{border-color:transparent}.peam-root .border-t-transparent{border-top-color:transparent}.peam-root .border-l-transparent{border-left-color:transparent}.peam-root .bg-accent{background-color:var(--accent)}.peam-root .bg-background{background-color:var(--background)}.peam-root .bg-background\\/80{background-color:var(--background);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--background) 80%,transparent)}}.peam-root .bg-background\\/90{background-color:var(--background);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--background) 90%,transparent)}}.peam-root .bg-background\\/95{background-color:var(--background);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--background) 95%,transparent)}}.peam-root .bg-black\\/10{background-color:color-mix(in srgb,#000 10%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-black) 10%,transparent)}}.peam-root .bg-black\\/50{background-color:color-mix(in srgb,#000 50%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.peam-root .bg-border{background-color:var(--border)}.peam-root .bg-card{background-color:var(--card)}.peam-root .bg-destructive{background-color:var(--destructive)}.peam-root .bg-destructive\\/10{background-color:var(--destructive);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--destructive) 10%,transparent)}}.peam-root .bg-foreground{background-color:var(--foreground)}.peam-root .bg-input{background-color:var(--input)}.peam-root .bg-muted{background-color:var(--muted)}.peam-root .bg-muted-foreground\\/10{background-color:var(--muted-foreground);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--muted-foreground) 10%,transparent)}}.peam-root .bg-muted\\/40{background-color:var(--muted);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--muted) 40%,transparent)}}.peam-root .bg-muted\\/50{background-color:var(--muted);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}.peam-root .bg-muted\\/80{background-color:var(--muted);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--muted) 80%,transparent)}}.peam-root .bg-popover{background-color:var(--popover)}.peam-root .bg-primary{background-color:var(--primary)}.peam-root .bg-primary\\/20{background-color:var(--primary);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--primary) 20%,transparent)}}.peam-root .bg-red-50{background-color:var(--color-red-50)}.peam-root .bg-red-100{background-color:var(--color-red-100)}.peam-root .bg-secondary{background-color:var(--secondary)}.peam-root .bg-transparent{background-color:transparent}.peam-root .bg-\\[length\\:250\\%_100\\%\\,auto\\]{background-size:250% 100%,auto}.peam-root .bg-clip-text{background-clip:text}.peam-root .\\[background-repeat\\:no-repeat\\,padding-box\\]{background-repeat:no-repeat,padding-box}.peam-root .fill-current{fill:currentcolor}.peam-root .fill-foreground{fill:var(--foreground)}.peam-root .stroke-ring{stroke:var(--ring)}.peam-root .stroke-1{stroke-width:1}.peam-root .object-contain{object-fit:contain}.peam-root .object-cover{object-fit:cover}.peam-root .p-0{padding:calc(var(--spacing) * 0)}.peam-root .p-1{padding:calc(var(--spacing) * 1)}.peam-root .p-1\\.5{padding:calc(var(--spacing) * 1.5)}.peam-root .p-2{padding:calc(var(--spacing) * 2)}.peam-root .p-3{padding:calc(var(--spacing) * 3)}.peam-root .p-3\\!{padding:calc(var(--spacing) * 3)!important}.peam-root .p-4{padding:calc(var(--spacing) * 4)}.peam-root .p-6{padding:calc(var(--spacing) * 6)}.peam-root .p-8{padding:calc(var(--spacing) * 8)}.peam-root .p-px{padding:1px}.peam-root .px-0\\.5{padding-inline:calc(var(--spacing) * .5)}.peam-root .px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.peam-root .px-2{padding-inline:calc(var(--spacing) * 2)}.peam-root .px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.peam-root .px-3{padding-inline:calc(var(--spacing) * 3)}.peam-root .px-4{padding-inline:calc(var(--spacing) * 4)}.peam-root .px-6{padding-inline:calc(var(--spacing) * 6)}.peam-root .py-0\\.5{padding-block:calc(var(--spacing) * .5)}.peam-root .py-1{padding-block:calc(var(--spacing) * 1)}.peam-root .py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.peam-root .py-2{padding-block:calc(var(--spacing) * 2)}.peam-root .py-3{padding-block:calc(var(--spacing) * 3)}.peam-root .py-3\\.5{padding-block:calc(var(--spacing) * 3.5)}.peam-root .py-6{padding-block:calc(var(--spacing) * 6)}.peam-root .pt-2{padding-top:calc(var(--spacing) * 2)}.peam-root .pt-3{padding-top:calc(var(--spacing) * 3)}.peam-root .pt-4{padding-top:calc(var(--spacing) * 4)}.peam-root .pr-2{padding-right:calc(var(--spacing) * 2)}.peam-root .pr-3{padding-right:calc(var(--spacing) * 3)}.peam-root .pr-4{padding-right:calc(var(--spacing) * 4)}.peam-root .pr-8{padding-right:calc(var(--spacing) * 8)}.peam-root .pb-2{padding-bottom:calc(var(--spacing) * 2)}.peam-root .pb-3{padding-bottom:calc(var(--spacing) * 3)}.peam-root .pb-4{padding-bottom:calc(var(--spacing) * 4)}.peam-root .pl-2{padding-left:calc(var(--spacing) * 2)}.peam-root .pl-3{padding-left:calc(var(--spacing) * 3)}.peam-root .pl-4{padding-left:calc(var(--spacing) * 4)}.peam-root .pl-8{padding-left:calc(var(--spacing) * 8)}.peam-root .text-center{text-align:center}.peam-root .text-left{text-align:left}.peam-root .text-right{text-align:right}.peam-root .font-mono{font-family:var(--font-mono)}.peam-root .text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading, var(--text-2xl--line-height))}.peam-root .text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading, var(--text-3xl--line-height))}.peam-root .text-base{font-size:var(--text-base);line-height:var(--tw-leading, var(--text-base--line-height))}.peam-root .text-lg{font-size:var(--text-lg);line-height:var(--tw-leading, var(--text-lg--line-height))}.peam-root .text-sm{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}.peam-root .text-xl{font-size:var(--text-xl);line-height:var(--tw-leading, var(--text-xl--line-height))}.peam-root .text-xs{font-size:var(--text-xs);line-height:var(--tw-leading, var(--text-xs--line-height))}.peam-root .leading-none{--tw-leading: 1;line-height:1}.peam-root .leading-relaxed{--tw-leading: var(--leading-relaxed);line-height:var(--leading-relaxed)}.peam-root .leading-tight{--tw-leading: var(--leading-tight);line-height:var(--leading-tight)}.peam-root .font-medium{--tw-font-weight: var(--font-weight-medium);font-weight:var(--font-weight-medium)}.peam-root .font-normal{--tw-font-weight: var(--font-weight-normal);font-weight:var(--font-weight-normal)}.peam-root .font-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.peam-root .tracking-tight{--tw-tracking: var(--tracking-tight);letter-spacing:var(--tracking-tight)}.peam-root .tracking-wide{--tw-tracking: var(--tracking-wide);letter-spacing:var(--tracking-wide)}.peam-root .tracking-widest{--tw-tracking: var(--tracking-widest);letter-spacing:var(--tracking-widest)}.peam-root .text-balance{text-wrap:balance}.peam-root .break-words{overflow-wrap:break-word}.peam-root .wrap-anywhere{overflow-wrap:anywhere}.peam-root .break-all{word-break:break-all}.peam-root .whitespace-normal{white-space:normal}.peam-root .whitespace-nowrap{white-space:nowrap}.peam-root .text-accent-foreground{color:var(--accent-foreground)}.peam-root .text-background{color:var(--background)}.peam-root .text-blue-600{color:var(--color-blue-600)}.peam-root .text-card-foreground{color:var(--card-foreground)}.peam-root .text-destructive{color:var(--destructive)}.peam-root .text-foreground{color:var(--foreground)}.peam-root .text-green-600{color:var(--color-green-600)}.peam-root .text-muted-foreground{color:var(--muted-foreground)}.peam-root .text-muted-foreground\\/40{color:var(--muted-foreground);@supports (color: color-mix(in lab,red,red)){color:color-mix(in oklab,var(--muted-foreground) 40%,transparent)}}.peam-root .text-muted-foreground\\/50{color:var(--muted-foreground);@supports (color: color-mix(in lab,red,red)){color:color-mix(in oklab,var(--muted-foreground) 50%,transparent)}}.peam-root .text-orange-600{color:var(--color-orange-600)}.peam-root .text-popover-foreground{color:var(--popover-foreground)}.peam-root .text-primary{color:var(--primary)}.peam-root .text-primary-foreground{color:var(--primary-foreground)}.peam-root .text-red-600{color:var(--color-red-600)}.peam-root .text-red-700{color:var(--color-red-700)}.peam-root .text-red-800{color:var(--color-red-800)}.peam-root .text-secondary-foreground{color:var(--secondary-foreground)}.peam-root .text-transparent{color:transparent}.peam-root .text-white{color:var(--color-white)}.peam-root .text-yellow-600{color:var(--color-yellow-600)}.peam-root .lowercase{text-transform:lowercase}.peam-root .uppercase{text-transform:uppercase}.peam-root .italic{font-style:italic}.peam-root .line-through{text-decoration-line:line-through}.peam-root .underline{text-decoration-line:underline}.peam-root .underline-offset-4{text-underline-offset:4px}.peam-root .opacity-0{opacity:0%}.peam-root .opacity-50{opacity:50%}.peam-root .opacity-70{opacity:70%}.peam-root .shadow-2xl{--tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / .25));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.peam-root .shadow-\\[0_-4px_20px_rgba\\(0\\,0\\,0\\,0\\.25\\)\\]{--tw-shadow: 0 -4px 20px var(--tw-shadow-color, rgba(0,0,0,.25));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.peam-root .shadow-lg{--tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.peam-root .shadow-md{--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.peam-root .shadow-none{--tw-shadow: 0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.peam-root .shadow-none\\!{--tw-shadow: 0 0 #0000 !important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.peam-root .shadow-sm{--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.peam-root .shadow-xs{--tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / .05));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.peam-root .ring-offset-background{--tw-ring-offset-color: var(--background)}.peam-root .outline-hidden{--tw-outline-style: none;outline-style:none;@media(forced-colors:active){outline:2px solid transparent;outline-offset:2px}}.peam-root .outline{outline-style:var(--tw-outline-style);outline-width:1px}.peam-root .drop-shadow-lg{--tw-drop-shadow-size: drop-shadow(0 4px 4px var(--tw-drop-shadow-color, rgb(0 0 0 / .15)));--tw-drop-shadow: drop-shadow(var(--drop-shadow-lg));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.peam-root .backdrop-blur-sm{--tw-backdrop-blur: blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.peam-root .transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.peam-root .transition-\\[color\\,box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.peam-root .transition-all{transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.peam-root .transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.peam-root .transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.peam-root .transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.peam-root .delay-100{transition-delay:.1s}.peam-root .duration-150{--tw-duration: .15s;transition-duration:.15s}.peam-root .duration-200{--tw-duration: .2s;transition-duration:.2s}.peam-root .duration-300{--tw-duration: .3s;transition-duration:.3s}.peam-root .ease-in-out{--tw-ease: var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.peam-root .ease-out{--tw-ease: var(--ease-out);transition-timing-function:var(--ease-out)}.peam-root .delay-100{animation-delay:100ms;animation-delay:.1s;--tw-animation-delay: 100ms ;--tw-animation-delay: .1s}.peam-root .fade-in-0{--tw-enter-opacity: 0 ;--tw-enter-opacity: 0}.peam-root .outline-none{--tw-outline-style: none;outline-style:none}.peam-root .select-none{-webkit-user-select:none;user-select:none}.peam-root .zoom-in-95{--tw-enter-scale: 95% ;--tw-enter-scale: .95}.peam-root .\\[--bg\\:linear-gradient\\(90deg\\,\\#0000_calc\\(50\\%-var\\(--spread\\)\\)\\,var\\(--color-background\\)\\,\\#0000_calc\\(50\\%\\+var\\(--spread\\)\\)\\)\\]{--bg: linear-gradient(90deg,#0000 calc(50% - var(--spread)),var(--color-background),#0000 calc(50% + var(--spread)))}.peam-root .\\[counter-increment\\:line_0\\]{counter-increment:line 0}.peam-root .\\[counter-reset\\:line\\]{counter-reset:line}.peam-root .fade-in{--tw-enter-opacity: 0}.peam-root .slide-in-from-bottom{--tw-enter-translate-y: 100%}.peam-root .slide-in-from-top-2{--tw-enter-translate-y: calc(2*var(--spacing)*-1)}.peam-root .group-hover\\:pointer-events-auto{.peam-root &:is(:where(.group):hover *){@media(hover:hover){pointer-events:auto}}}.peam-root .group-hover\\:block{.peam-root &:is(:where(.group):hover *){@media(hover:hover){display:block}}}.peam-root .group-hover\\:bg-accent{.peam-root &:is(:where(.group):hover *){@media(hover:hover){background-color:var(--accent)}}}.peam-root .group-hover\\:opacity-0{.peam-root &:is(:where(.group):hover *){@media(hover:hover){opacity:0%}}}.peam-root .group-hover\\:opacity-100{.peam-root &:is(:where(.group):hover *){@media(hover:hover){opacity:100%}}}.peam-root .group-has-\\[\\>input\\]\\/input-group\\:pt-2\\.5{.peam-root &:is(:where(.group\\/input-group):has(>input) *){padding-top:calc(var(--spacing) * 2.5)}}.peam-root .group-has-\\[\\>input\\]\\/input-group\\:pb-2\\.5{.peam-root &:is(:where(.group\\/input-group):has(>input) *){padding-bottom:calc(var(--spacing) * 2.5)}}.peam-root .group-data-\\[disabled\\=true\\]\\/input-group\\:opacity-50{.peam-root &:is(:where(.group\\/input-group)[data-disabled=true] *){opacity:50%}}.peam-root .group-data-\\[state\\=closed\\]\\:-rotate-90{.peam-root &:is(:where(.group)[data-state=closed] *){rotate:-90deg}}.peam-root .group-data-\\[state\\=open\\]\\:rotate-180{.peam-root &:is(:where(.group)[data-state=open] *){rotate:180deg}}.peam-root .group-\\[\\.is-assistant\\]\\:text-foreground{.peam-root &:is(:where(.group):is(.is-assistant) *){color:var(--foreground)}}.peam-root .group-\\[\\.is-user\\]\\:ml-auto{.peam-root &:is(:where(.group):is(.is-user) *){margin-left:auto}}.peam-root .group-\\[\\.is-user\\]\\:rounded-lg{.peam-root &:is(:where(.group):is(.is-user) *){border-radius:var(--radius)}}.peam-root .group-\\[\\.is-user\\]\\:bg-secondary{.peam-root &:is(:where(.group):is(.is-user) *){background-color:var(--secondary)}}.peam-root .group-\\[\\.is-user\\]\\:px-4{.peam-root &:is(:where(.group):is(.is-user) *){padding-inline:calc(var(--spacing) * 4)}}.peam-root .group-\\[\\.is-user\\]\\:py-3{.peam-root &:is(:where(.group):is(.is-user) *){padding-block:calc(var(--spacing) * 3)}}.peam-root .group-\\[\\.is-user\\]\\:text-foreground{.peam-root &:is(:where(.group):is(.is-user) *){color:var(--foreground)}}.peam-root .selection\\:bg-primary{.peam-root & *::selection{background-color:var(--primary)}.peam-root &::selection{background-color:var(--primary)}}.peam-root .selection\\:text-primary-foreground{.peam-root & *::selection{color:var(--primary-foreground)}.peam-root &::selection{color:var(--primary-foreground)}}.peam-root .file\\:inline-flex{.peam-root &::file-selector-button{display:inline-flex}}.peam-root .file\\:h-7{.peam-root &::file-selector-button{height:calc(var(--spacing) * 7)}}.peam-root .file\\:border-0{.peam-root &::file-selector-button{border-style:var(--tw-border-style);border-width:0px}}.peam-root .file\\:bg-transparent{.peam-root &::file-selector-button{background-color:transparent}}.peam-root .file\\:text-sm{.peam-root &::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}}.peam-root .file\\:font-medium{.peam-root &::file-selector-button{--tw-font-weight: var(--font-weight-medium);font-weight:var(--font-weight-medium)}}.peam-root .file\\:text-foreground{.peam-root &::file-selector-button{color:var(--foreground)}}.peam-root .placeholder\\:text-muted-foreground{.peam-root &::placeholder{color:var(--muted-foreground)}}.peam-root .before\\:mr-4{.peam-root &:before{content:var(--tw-content);margin-right:calc(var(--spacing) * 4)}}.peam-root .before\\:inline-block{.peam-root &:before{content:var(--tw-content);display:inline-block}}.peam-root .before\\:w-4{.peam-root &:before{content:var(--tw-content);width:calc(var(--spacing) * 4)}}.peam-root .before\\:text-right{.peam-root &:before{content:var(--tw-content);text-align:right}}.peam-root .before\\:font-mono{.peam-root &:before{content:var(--tw-content);font-family:var(--font-mono)}}.peam-root .before\\:text-\\[13px\\]{.peam-root &:before{content:var(--tw-content);font-size:13px}}.peam-root .before\\:text-muted-foreground\\/50{.peam-root &:before{content:var(--tw-content);color:var(--muted-foreground);@supports (color: color-mix(in lab,red,red)){color:color-mix(in oklab,var(--muted-foreground) 50%,transparent)}}}.peam-root .before\\:content-\\[counter\\(line\\)\\]{.peam-root &:before{--tw-content: counter(line);content:var(--tw-content)}}.peam-root .before\\:select-none{.peam-root &:before{content:var(--tw-content);-webkit-user-select:none;user-select:none}}.peam-root .before\\:\\[counter-increment\\:line\\]{.peam-root &:before{content:var(--tw-content);counter-increment:line}}.peam-root .hover\\:scale-110{.peam-root &:hover{@media(hover:hover){--tw-scale-x: 110%;--tw-scale-y: 110%;--tw-scale-z: 110%;scale:var(--tw-scale-x) var(--tw-scale-y)}}}.peam-root .hover\\:bg-accent{.peam-root &:hover{@media(hover:hover){background-color:var(--accent)}}}.peam-root .hover\\:bg-background{.peam-root &:hover{@media(hover:hover){background-color:var(--background)}}}.peam-root .hover\\:bg-destructive\\/90{.peam-root &:hover{@media(hover:hover){background-color:var(--destructive);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}}}.peam-root .hover\\:bg-muted{.peam-root &:hover{@media(hover:hover){background-color:var(--muted)}}}.peam-root .hover\\:bg-muted-foreground\\/10{.peam-root &:hover{@media(hover:hover){background-color:var(--muted-foreground);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--muted-foreground) 10%,transparent)}}}}.peam-root .hover\\:bg-muted\\/40{.peam-root &:hover{@media(hover:hover){background-color:var(--muted);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--muted) 40%,transparent)}}}}.peam-root .hover\\:bg-muted\\/50{.peam-root &:hover{@media(hover:hover){background-color:var(--muted);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}}}.peam-root .hover\\:bg-primary\\/90{.peam-root &:hover{@media(hover:hover){background-color:var(--primary);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}}}.peam-root .hover\\:bg-secondary\\/80{.peam-root &:hover{@media(hover:hover){background-color:var(--secondary);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}}}.peam-root .hover\\:text-accent-foreground{.peam-root &:hover{@media(hover:hover){color:var(--accent-foreground)}}}.peam-root .hover\\:text-foreground{.peam-root &:hover{@media(hover:hover){color:var(--foreground)}}}.peam-root .hover\\:underline{.peam-root &:hover{@media(hover:hover){text-decoration-line:underline}}}.peam-root .hover\\:opacity-100{.peam-root &:hover{@media(hover:hover){opacity:100%}}}.peam-root .focus\\:bg-accent{.peam-root &:focus{background-color:var(--accent)}}.peam-root .focus\\:text-accent-foreground{.peam-root &:focus{color:var(--accent-foreground)}}.peam-root .focus\\:ring-2{.peam-root &:focus{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.peam-root .focus\\:ring-ring{.peam-root &:focus{--tw-ring-color: var(--ring)}}.peam-root .focus\\:ring-offset-2{.peam-root &:focus{--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}}.peam-root .focus\\:outline-hidden{.peam-root &:focus{--tw-outline-style: none;outline-style:none;@media(forced-colors:active){outline:2px solid transparent;outline-offset:2px}}}.peam-root .focus-visible\\:border-ring{.peam-root &:focus-visible{border-color:var(--ring)}}.peam-root .focus-visible\\:ring-0{.peam-root &:focus-visible{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.peam-root .focus-visible\\:ring-\\[3px\\]{.peam-root &:focus-visible{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.peam-root .focus-visible\\:ring-destructive\\/20{.peam-root &:focus-visible{--tw-ring-color: var(--destructive);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent)}}}.peam-root .focus-visible\\:ring-ring\\/50{.peam-root &:focus-visible{--tw-ring-color: var(--ring);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent)}}}.peam-root .focus-visible\\:outline-1{.peam-root &:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}}.peam-root .active\\:scale-90{.peam-root &:active{--tw-scale-x: 90%;--tw-scale-y: 90%;--tw-scale-z: 90%;scale:var(--tw-scale-x) var(--tw-scale-y)}}.peam-root .disabled\\:pointer-events-none{.peam-root &:disabled{pointer-events:none}}.peam-root .disabled\\:cursor-not-allowed{.peam-root &:disabled{cursor:not-allowed}}.peam-root .disabled\\:opacity-50{.peam-root &:disabled{opacity:50%}}.peam-root .has-data-\\[slot\\=card-action\\]\\:grid-cols-\\[1fr_auto\\]{.peam-root &:has(*[data-slot=card-action]){grid-template-columns:1fr auto}}.peam-root .has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:border-ring{.peam-root &:has(*:is([data-slot=input-group-control]:focus-visible)){border-color:var(--ring)}}.peam-root .has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-\\[3px\\]{.peam-root &:has(*:is([data-slot=input-group-control]:focus-visible)){--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.peam-root .has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-ring\\/50{.peam-root &:has(*:is([data-slot=input-group-control]:focus-visible)){--tw-ring-color: var(--ring);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent)}}}.peam-root .has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:border-destructive{.peam-root &:has(*:is([data-slot][aria-invalid=true])){border-color:var(--destructive)}}.peam-root .has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/20{.peam-root &:has(*:is([data-slot][aria-invalid=true])){--tw-ring-color: var(--destructive);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent)}}}.peam-root .has-\\[\\>\\[data-align\\=block-end\\]\\]\\:h-auto{.peam-root &:has(>[data-align=block-end]){height:auto}}.peam-root .has-\\[\\>\\[data-align\\=block-end\\]\\]\\:flex-col{.peam-root &:has(>[data-align=block-end]){flex-direction:column}}.peam-root .has-\\[\\>\\[data-align\\=block-start\\]\\]\\:h-auto{.peam-root &:has(>[data-align=block-start]){height:auto}}.peam-root .has-\\[\\>\\[data-align\\=block-start\\]\\]\\:flex-col{.peam-root &:has(>[data-align=block-start]){flex-direction:column}}.peam-root .has-\\[\\>\\[data-slot\\=button-group\\]\\]\\:gap-2{.peam-root &:has(>[data-slot=button-group]){gap:calc(var(--spacing) * 2)}}.peam-root .has-\\[\\>button\\]\\:mr-\\[-0\\.45rem\\]{.peam-root &:has(>button){margin-right:-.45rem}}.peam-root .has-\\[\\>button\\]\\:ml-\\[-0\\.45rem\\]{.peam-root &:has(>button){margin-left:-.45rem}}.peam-root .has-\\[\\>kbd\\]\\:mr-\\[-0\\.35rem\\]{.peam-root &:has(>kbd){margin-right:-.35rem}}.peam-root .has-\\[\\>kbd\\]\\:ml-\\[-0\\.35rem\\]{.peam-root &:has(>kbd){margin-left:-.35rem}}.peam-root .has-\\[\\>svg\\]\\:grid-cols-\\[calc\\(var\\(--spacing\\)\\*4\\)_1fr\\]{.peam-root &:has(>svg){grid-template-columns:calc(var(--spacing) * 4) 1fr}}.peam-root .has-\\[\\>svg\\]\\:gap-x-3{.peam-root &:has(>svg){column-gap:calc(var(--spacing) * 3)}}.peam-root .has-\\[\\>svg\\]\\:p-0{.peam-root &:has(>svg){padding:calc(var(--spacing) * 0)}}.peam-root .has-\\[\\>svg\\]\\:px-2{.peam-root &:has(>svg){padding-inline:calc(var(--spacing) * 2)}}.peam-root .has-\\[\\>svg\\]\\:px-2\\.5{.peam-root &:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}}.peam-root .has-\\[\\>svg\\]\\:px-3{.peam-root &:has(>svg){padding-inline:calc(var(--spacing) * 3)}}.peam-root .has-\\[\\>svg\\]\\:px-4{.peam-root &:has(>svg){padding-inline:calc(var(--spacing) * 4)}}.peam-root .has-\\[\\>textarea\\]\\:h-auto{.peam-root &:has(>textarea){height:auto}}.peam-root .aria-expanded\\:bg-accent{.peam-root &[aria-expanded=true]{background-color:var(--accent)}}.peam-root .aria-expanded\\:text-foreground{.peam-root &[aria-expanded=true]{color:var(--foreground)}}.peam-root .aria-invalid\\:border-destructive{.peam-root &[aria-invalid=true]{border-color:var(--destructive)}}.peam-root .aria-invalid\\:ring-destructive\\/20{.peam-root &[aria-invalid=true]{--tw-ring-color: var(--destructive);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent)}}}.peam-root .data-\\[disabled\\]\\:pointer-events-none{.peam-root &[data-disabled]{pointer-events:none}}.peam-root .data-\\[disabled\\]\\:opacity-50{.peam-root &[data-disabled]{opacity:50%}}.peam-root .data-\\[disabled\\=true\\]\\:pointer-events-none{.peam-root &[data-disabled=true]{pointer-events:none}}.peam-root .data-\\[disabled\\=true\\]\\:opacity-50{.peam-root &[data-disabled=true]{opacity:50%}}.peam-root .data-\\[inset\\]\\:pl-8{.peam-root &[data-inset]{padding-left:calc(var(--spacing) * 8)}}.peam-root .data-\\[orientation\\=horizontal\\]\\:h-px{.peam-root &[data-orientation=horizontal]{height:1px}}.peam-root .data-\\[orientation\\=horizontal\\]\\:w-full{.peam-root &[data-orientation=horizontal]{width:100%}}.peam-root .data-\\[orientation\\=vertical\\]\\:h-auto{.peam-root &[data-orientation=vertical]{height:auto}}.peam-root .data-\\[orientation\\=vertical\\]\\:h-full{.peam-root &[data-orientation=vertical]{height:100%}}.peam-root .data-\\[orientation\\=vertical\\]\\:w-px{.peam-root &[data-orientation=vertical]{width:1px}}.peam-root .data-\\[placeholder\\]\\:text-muted-foreground{.peam-root &[data-placeholder]{color:var(--muted-foreground)}}.peam-root .data-\\[selected\\=true\\]\\:bg-accent{.peam-root &[data-selected=true]{background-color:var(--accent)}}.peam-root .data-\\[selected\\=true\\]\\:text-accent-foreground{.peam-root &[data-selected=true]{color:var(--accent-foreground)}}.peam-root .data-\\[side\\=bottom\\]\\:translate-y-1{.peam-root &[data-side=bottom]{--tw-translate-y: calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}}.peam-root .data-\\[side\\=bottom\\]\\:slide-in-from-top-2{.peam-root &[data-side=bottom]{--tw-enter-translate-y: calc(2*var(--spacing)*-1)}}.peam-root .data-\\[side\\=left\\]\\:-translate-x-1{.peam-root &[data-side=left]{--tw-translate-x: calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}}.peam-root .data-\\[side\\=left\\]\\:slide-in-from-right-2{.peam-root &[data-side=left]{--tw-enter-translate-x: calc(2*var(--spacing))}}.peam-root .data-\\[side\\=right\\]\\:translate-x-1{.peam-root &[data-side=right]{--tw-translate-x: calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}}.peam-root .data-\\[side\\=right\\]\\:slide-in-from-left-2{.peam-root &[data-side=right]{--tw-enter-translate-x: calc(2*var(--spacing)*-1)}}.peam-root .data-\\[side\\=top\\]\\:-translate-y-1{.peam-root &[data-side=top]{--tw-translate-y: calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}}.peam-root .data-\\[side\\=top\\]\\:slide-in-from-bottom-2{.peam-root &[data-side=top]{--tw-enter-translate-y: calc(2*var(--spacing))}}.peam-root .data-\\[size\\=default\\]\\:h-9{.peam-root &[data-size=default]{height:calc(var(--spacing) * 9)}}.peam-root .data-\\[size\\=sm\\]\\:h-8{.peam-root &[data-size=sm]{height:calc(var(--spacing) * 8)}}.peam-root .\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive\\/90{.peam-root :is(&>*){.peam-root &[data-slot=alert-description]{color:var(--destructive);@supports (color: color-mix(in lab,red,red)){color:color-mix(in oklab,var(--destructive) 90%,transparent)}}}}.peam-root .\\*\\*\\:data-\\[slot\\=command-input-wrapper\\]\\:h-12{.peam-root :is(& *){.peam-root &[data-slot=command-input-wrapper]{height:calc(var(--spacing) * 12)}}}.peam-root .\\*\\*\\:data-\\[slot\\=command-input-wrapper\\]\\:h-auto{.peam-root :is(& *){.peam-root &[data-slot=command-input-wrapper]{height:auto}}}.peam-root .\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1{.peam-root :is(&>*){.peam-root &[data-slot=select-value]{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}}}.peam-root .\\*\\:data-\\[slot\\=select-value\\]\\:flex{.peam-root :is(&>*){.peam-root &[data-slot=select-value]{display:flex}}}.peam-root .\\*\\:data-\\[slot\\=select-value\\]\\:items-center{.peam-root :is(&>*){.peam-root &[data-slot=select-value]{align-items:center}}}.peam-root .\\*\\:data-\\[slot\\=select-value\\]\\:gap-2{.peam-root :is(&>*){.peam-root &[data-slot=select-value]{gap:calc(var(--spacing) * 2)}}}.peam-root .data-\\[state\\=closed\\]\\:animate-out{.peam-root &[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}}.peam-root .data-\\[state\\=closed\\]\\:fade-out-0{.peam-root &[data-state=closed]{--tw-exit-opacity: 0 ;--tw-exit-opacity: 0}}.peam-root .data-\\[state\\=closed\\]\\:zoom-out-95{.peam-root &[data-state=closed]{--tw-exit-scale: 95% ;--tw-exit-scale: .95}}.peam-root .data-\\[state\\=closed\\]\\:slide-out-to-top-2{.peam-root &[data-state=closed]{--tw-exit-translate-y: calc(2*var(--spacing)*-1)}}.peam-root .data-\\[state\\=open\\]\\:animate-in{.peam-root &[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}}.peam-root .data-\\[state\\=open\\]\\:bg-accent{.peam-root &[data-state=open]{background-color:var(--accent)}}.peam-root .data-\\[state\\=open\\]\\:text-accent-foreground{.peam-root &[data-state=open]{color:var(--accent-foreground)}}.peam-root .data-\\[state\\=open\\]\\:text-muted-foreground{.peam-root &[data-state=open]{color:var(--muted-foreground)}}.peam-root .data-\\[state\\=open\\]\\:fade-in-0{.peam-root &[data-state=open]{--tw-enter-opacity: 0 ;--tw-enter-opacity: 0}}.peam-root .data-\\[state\\=open\\]\\:zoom-in-95{.peam-root &[data-state=open]{--tw-enter-scale: 95% ;--tw-enter-scale: .95}}.peam-root .data-\\[state\\=open\\]\\:slide-in-from-top-2{.peam-root &[data-state=open]{--tw-enter-translate-y: calc(2*var(--spacing)*-1)}}.peam-root .data-\\[variant\\=destructive\\]\\:text-destructive{.peam-root &[data-variant=destructive]{color:var(--destructive)}}.peam-root .data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10{.peam-root &[data-variant=destructive]{.peam-root &:focus{background-color:var(--destructive);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--destructive) 10%,transparent)}}}}.peam-root .data-\\[variant\\=destructive\\]\\:focus\\:text-destructive{.peam-root &[data-variant=destructive]{.peam-root &:focus{color:var(--destructive)}}}.peam-root .sm\\:max-w-lg{@media(width>=40rem){max-width:var(--container-lg)}}.peam-root .sm\\:flex-row{@media(width>=40rem){flex-direction:row}}.peam-root .sm\\:justify-end{@media(width>=40rem){justify-content:flex-end}}.peam-root .sm\\:text-left{@media(width>=40rem){text-align:left}}.peam-root .md\\:inset-auto{@media(width>=48rem){inset:auto}}.peam-root .md\\:top-0{@media(width>=48rem){top:calc(var(--spacing) * 0)}}.peam-root .md\\:right-0{@media(width>=48rem){right:calc(var(--spacing) * 0)}}.peam-root .md\\:right-4{@media(width>=48rem){right:calc(var(--spacing) * 4)}}.peam-root .md\\:bottom-4{@media(width>=48rem){bottom:calc(var(--spacing) * 4)}}.peam-root .md\\:bottom-18{@media(width>=48rem){bottom:calc(var(--spacing) * 18)}}.peam-root .md\\:hidden{@media(width>=48rem){display:none}}.peam-root .md\\:h-125{@media(width>=48rem){height:calc(var(--spacing) * 125)}}.peam-root .md\\:h-150{@media(width>=48rem){height:calc(var(--spacing) * 150)}}.peam-root .md\\:h-full{@media(width>=48rem){height:100%}}.peam-root .md\\:w-100{@media(width>=48rem){width:calc(var(--spacing) * 100)}}.peam-root .md\\:rounded-sm{@media(width>=48rem){border-radius:calc(var(--radius) - 4px)}}.peam-root .md\\:border{@media(width>=48rem){border-style:var(--tw-border-style);border-width:1px}}.peam-root .md\\:border-t-0{@media(width>=48rem){border-top-style:var(--tw-border-style);border-top-width:0px}}.peam-root .md\\:border-l{@media(width>=48rem){border-left-style:var(--tw-border-style);border-left-width:1px}}.peam-root .md\\:p-0{@media(width>=48rem){padding:calc(var(--spacing) * 0)}}.peam-root .md\\:text-sm{@media(width>=48rem){font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}}.peam-root .md\\:shadow-2xl{@media(width>=48rem){--tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / .25));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.peam-root .md\\:shadow-xl{@media(width>=48rem){--tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.peam-root .md\\:duration-0{@media(width>=48rem){--tw-duration: 0ms;transition-duration:0ms}}.peam-root .md\\:slide-in-from-right{@media(width>=48rem){--tw-enter-translate-x: 100%}}.peam-root .lg\\:w-120{@media(width>=64rem){width:calc(var(--spacing) * 120)}}.peam-root .dark\\:block{.peam-root &:is(.dark *){display:block}}.peam-root .dark\\:hidden{.peam-root &:is(.dark *){display:none}}.peam-root .dark\\:border-input{.peam-root &:is(.dark *){border-color:var(--input)}}.peam-root .dark\\:bg-\\(--shiki-dark-bg\\)\\!{.peam-root &:is(.dark *){background-color:var(--shiki-dark-bg)!important}}.peam-root .dark\\:bg-destructive\\/60{.peam-root &:is(.dark *){background-color:var(--destructive);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--destructive) 60%,transparent)}}}.peam-root .dark\\:bg-input\\/30{.peam-root &:is(.dark *){background-color:var(--input);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--input) 30%,transparent)}}}.peam-root .dark\\:bg-transparent{.peam-root &:is(.dark *){background-color:transparent}}.peam-root .dark\\:text-\\(--shiki-dark\\)\\!{.peam-root &:is(.dark *){color:var(--shiki-dark)!important}}.peam-root .dark\\:invert{.peam-root &:is(.dark *){--tw-invert: invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.peam-root .dark\\:hover\\:bg-accent\\/50{.peam-root &:is(.dark *){.peam-root &:hover{@media(hover:hover){background-color:var(--accent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--accent) 50%,transparent)}}}}}.peam-root .dark\\:hover\\:bg-input\\/50{.peam-root &:is(.dark *){.peam-root &:hover{@media(hover:hover){background-color:var(--input);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--input) 50%,transparent)}}}}}.peam-root .dark\\:focus-visible\\:ring-destructive\\/40{.peam-root &:is(.dark *){.peam-root &:focus-visible{--tw-ring-color: var(--destructive);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent)}}}}.peam-root .dark\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/40{.peam-root &:is(.dark *){.peam-root &:has(*:is([data-slot][aria-invalid=true])){--tw-ring-color: var(--destructive);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent)}}}}.peam-root .dark\\:aria-invalid\\:ring-destructive\\/40{.peam-root &:is(.dark *){.peam-root &[aria-invalid=true]{--tw-ring-color: var(--destructive);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent)}}}}.peam-root .dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20{.peam-root &:is(.dark *){.peam-root &[data-variant=destructive]{.peam-root &:focus{background-color:var(--destructive);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}}}}.peam-root .starting\\:opacity-0{@starting-style{opacity:0%}}.peam-root .\\[\\&_\\[cmdk-group-heading\\]\\]\\:px-2{.peam-root & [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}}.peam-root .\\[\\&_\\[cmdk-group-heading\\]\\]\\:py-1\\.5{.peam-root & [cmdk-group-heading]{padding-block:calc(var(--spacing) * 1.5)}}.peam-root .\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-xs{.peam-root & [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading, var(--text-xs--line-height))}}.peam-root .\\[\\&_\\[cmdk-group-heading\\]\\]\\:font-medium{.peam-root & [cmdk-group-heading]{--tw-font-weight: var(--font-weight-medium);font-weight:var(--font-weight-medium)}}.peam-root .\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-muted-foreground{.peam-root & [cmdk-group-heading]{color:var(--muted-foreground)}}.peam-root .\\[\\&_\\[cmdk-group\\]\\]\\:px-2{.peam-root & [cmdk-group]{padding-inline:calc(var(--spacing) * 2)}}.peam-root .\\[\\&_\\[cmdk-group\\]\\:not\\(\\[hidden\\]\\)_\\~\\[cmdk-group\\]\\]\\:pt-0{.peam-root & [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--spacing) * 0)}}.peam-root .\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:h-5{.peam-root & [cmdk-input-wrapper] svg{height:calc(var(--spacing) * 5)}}.peam-root .\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:w-5{.peam-root & [cmdk-input-wrapper] svg{width:calc(var(--spacing) * 5)}}.peam-root .\\[\\&_\\[cmdk-input\\]\\]\\:h-12{.peam-root & [cmdk-input]{height:calc(var(--spacing) * 12)}}.peam-root .\\[\\&_\\[cmdk-item\\]\\]\\:px-2{.peam-root & [cmdk-item]{padding-inline:calc(var(--spacing) * 2)}}.peam-root .\\[\\&_\\[cmdk-item\\]\\]\\:py-3{.peam-root & [cmdk-item]{padding-block:calc(var(--spacing) * 3)}}.peam-root .\\[\\&_\\[cmdk-item\\]_svg\\]\\:h-5{.peam-root & [cmdk-item] svg{height:calc(var(--spacing) * 5)}}.peam-root .\\[\\&_\\[cmdk-item\\]_svg\\]\\:w-5{.peam-root & [cmdk-item] svg{width:calc(var(--spacing) * 5)}}.peam-root .\\[\\&_code\\]\\:font-mono{.peam-root & code{font-family:var(--font-mono)}}.peam-root .\\[\\&_code\\]\\:text-sm{.peam-root & code{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}}.peam-root .\\[\\&_p\\]\\:leading-relaxed{.peam-root & p{--tw-leading: var(--leading-relaxed);line-height:var(--leading-relaxed)}}.peam-root .\\[\\&_svg\\]\\:pointer-events-none{.peam-root & svg{pointer-events:none}}.peam-root .\\[\\&_svg\\]\\:h-auto{.peam-root & svg{height:auto}}.peam-root .\\[\\&_svg\\]\\:w-auto{.peam-root & svg{width:auto}}.peam-root .\\[\\&_svg\\]\\:shrink-0{.peam-root & svg{flex-shrink:0}}.peam-root .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4{.peam-root & svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}.peam-root .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'text-\\'\\]\\)\\]\\:text-muted-foreground{.peam-root & svg:not([class*=text-]){color:var(--muted-foreground)}}.peam-root .\\[\\&_table\\]\\:w-full{.peam-root & table{width:100%}}.peam-root .\\[\\.border-b\\]\\:pb-3{.peam-root &:is(.border-b){padding-bottom:calc(var(--spacing) * 3)}}.peam-root .\\[\\.border-b\\]\\:pb-6{.peam-root &:is(.border-b){padding-bottom:calc(var(--spacing) * 6)}}.peam-root .\\[\\.border-t\\]\\:pt-3{.peam-root &:is(.border-t){padding-top:calc(var(--spacing) * 3)}}.peam-root .\\[\\.border-t\\]\\:pt-6{.peam-root &:is(.border-t){padding-top:calc(var(--spacing) * 6)}}.peam-root .\\*\\:\\[span\\]\\:last\\:flex{.peam-root :is(&>*){.peam-root &:is(span){.peam-root &:last-child{display:flex}}}}.peam-root .\\*\\:\\[span\\]\\:last\\:items-center{.peam-root :is(&>*){.peam-root &:is(span){.peam-root &:last-child{align-items:center}}}}.peam-root .\\*\\:\\[span\\]\\:last\\:gap-2{.peam-root :is(&>*){.peam-root &:is(span){.peam-root &:last-child{gap:calc(var(--spacing) * 2)}}}}.peam-root .data-\\[variant\\=destructive\\]\\:\\*\\:\\[svg\\]\\:\\!text-destructive{.peam-root &[data-variant=destructive]{.peam-root :is(&>*){.peam-root &:is(svg){color:var(--destructive)!important}}}}.peam-root .\\[\\&\\>\\*\\]\\:focus-visible\\:relative{.peam-root &>*{.peam-root &:focus-visible{position:relative}}}.peam-root .\\[\\&\\>\\*\\]\\:focus-visible\\:z-10{.peam-root &>*{.peam-root &:focus-visible{z-index:10}}}.peam-root .\\[\\&\\>\\*\\:first-child\\]\\:mt-0{.peam-root &>*:first-child{margin-top:calc(var(--spacing) * 0)}}.peam-root .\\[\\&\\>\\*\\:last-child\\]\\:mb-0{.peam-root &>*:last-child{margin-bottom:calc(var(--spacing) * 0)}}.peam-root .\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-t-none{.peam-root &>*:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}}.peam-root .\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-l-md{.peam-root &>*:not(:first-child){border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}}.peam-root .\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-l-none{.peam-root &>*:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}}.peam-root .\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-t-0{.peam-root &>*:not(:first-child){border-top-style:var(--tw-border-style);border-top-width:0px}}.peam-root .\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-l-0{.peam-root &>*:not(:first-child){border-left-style:var(--tw-border-style);border-left-width:0px}}.peam-root .\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-r-md{.peam-root &>*:not(:last-child){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}}.peam-root .\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-r-none{.peam-root &>*:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}}.peam-root .\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-b-none{.peam-root &>*:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}}.peam-root .has-\\[select\\[aria-hidden\\=true\\]\\:last-child\\]\\:\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:last-of-type\\]\\:rounded-r-md{.peam-root &:has(*:is(select[aria-hidden=true]:last-child)){.peam-root &>[data-slot=select-trigger]:last-of-type{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}}}.peam-root .\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:not\\(\\[class\\*\\=\\'w-\\'\\]\\)\\]\\:w-fit{.peam-root &>[data-slot=select-trigger]:not([class*=w-]){width:fit-content}}.peam-root .\\[\\&\\>button\\]\\:rounded-md{.peam-root &>button{border-radius:calc(var(--radius) - 2px)}}.peam-root .\\[\\&\\>button\\]\\:border-none\\!{.peam-root &>button{--tw-border-style: none !important;border-style:none!important}}.peam-root .\\[\\&\\>button\\]\\:bg-transparent\\!{.peam-root &>button{background-color:transparent!important}}.peam-root .\\[\\&\\>button\\]\\:hover\\:bg-secondary\\!{.peam-root &>button{.peam-root &:hover{@media(hover:hover){background-color:var(--secondary)!important}}}}.peam-root .\\[\\&\\>div\\]\\:h-full{.peam-root &>div{height:100%}}.peam-root .\\[\\&\\>div\\]\\:overflow-hidden{.peam-root &>div{overflow:hidden}}.peam-root .\\[\\&\\>div\\]\\:pb-0{.peam-root &>div{padding-bottom:calc(var(--spacing) * 0)}}.peam-root .\\[\\&\\>img\\]\\:rounded-full{.peam-root &>img{border-radius:calc(infinity * 1px)}}.peam-root .\\[\\&\\>img\\]\\:bg-background{.peam-root &>img{background-color:var(--background)}}.peam-root .\\[\\&\\>img\\]\\:p-px{.peam-root &>img{padding:1px}}.peam-root .\\[\\&\\>img\\]\\:ring-1{.peam-root &>img{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.peam-root .dark\\:\\[\\&\\>img\\]\\:bg-foreground{.peam-root &:is(.dark *){.peam-root &>img{background-color:var(--foreground)}}}.peam-root .\\[\\&\\>input\\]\\:flex-1{.peam-root &>input{flex:1}}.peam-root .has-\\[\\>\\[data-align\\=block-end\\]\\]\\:\\[\\&\\>input\\]\\:pt-3{.peam-root &:has(>[data-align=block-end]){.peam-root &>input{padding-top:calc(var(--spacing) * 3)}}}.peam-root .has-\\[\\>\\[data-align\\=block-start\\]\\]\\:\\[\\&\\>input\\]\\:pb-3{.peam-root &:has(>[data-align=block-start]){.peam-root &>input{padding-bottom:calc(var(--spacing) * 3)}}}.peam-root .has-\\[\\>\\[data-align\\=inline-end\\]\\]\\:\\[\\&\\>input\\]\\:pr-2{.peam-root &:has(>[data-align=inline-end]){.peam-root &>input{padding-right:calc(var(--spacing) * 2)}}}.peam-root .has-\\[\\>\\[data-align\\=inline-start\\]\\]\\:\\[\\&\\>input\\]\\:pl-2{.peam-root &:has(>[data-align=inline-start]){.peam-root &>input{padding-left:calc(var(--spacing) * 2)}}}.peam-root .\\[\\&\\>kbd\\]\\:rounded-\\[calc\\(var\\(--radius\\)-5px\\)\\]{.peam-root &>kbd{border-radius:calc(var(--radius) - 5px)}}.peam-root .\\[\\&\\>p\\]\\:inline{.peam-root &>p{display:inline}}.peam-root .\\[\\&\\>pre\\]\\:m-0{.peam-root &>pre{margin:calc(var(--spacing) * 0)}}.peam-root .\\[\\&\\>pre\\]\\:bg-background\\!{.peam-root &>pre{background-color:var(--background)!important}}.peam-root .\\[\\&\\>pre\\]\\:p-4{.peam-root &>pre{padding:calc(var(--spacing) * 4)}}.peam-root .\\[\\&\\>pre\\]\\:text-sm{.peam-root &>pre{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}}.peam-root .\\[\\&\\>pre\\]\\:text-foreground\\!{.peam-root &>pre{color:var(--foreground)!important}}.peam-root .\\[\\&\\>svg\\]\\:pointer-events-none{.peam-root &>svg{pointer-events:none}}.peam-root .\\[\\&\\>svg\\]\\:size-2\\.5{.peam-root &>svg{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}}.peam-root .\\[\\&\\>svg\\]\\:size-3{.peam-root &>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}}.peam-root .\\[\\&\\>svg\\]\\:size-4{.peam-root &>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}.peam-root .\\[\\&\\>svg\\]\\:translate-y-0\\.5{.peam-root &>svg{--tw-translate-y: calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}}.peam-root .\\[\\&\\>svg\\]\\:text-current{.peam-root &>svg{color:currentcolor}}.peam-root .\\[\\&\\>svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-3\\.5{.peam-root &>svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}}.peam-root .\\[\\&\\>svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4{.peam-root &>svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}.peam-root .\\[a\\&\\]\\:hover\\:bg-accent{.peam-root a&{.peam-root &:hover{@media(hover:hover){background-color:var(--accent)}}}}.peam-root .\\[a\\&\\]\\:hover\\:bg-destructive\\/90{.peam-root a&{.peam-root &:hover{@media(hover:hover){background-color:var(--destructive);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}}}}.peam-root .\\[a\\&\\]\\:hover\\:bg-primary\\/90{.peam-root a&{.peam-root &:hover{@media(hover:hover){background-color:var(--primary);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}}}}.peam-root .\\[a\\&\\]\\:hover\\:bg-secondary\\/90{.peam-root a&{.peam-root &:hover{@media(hover:hover){background-color:var(--secondary);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--secondary) 90%,transparent)}}}}}.peam-root .\\[a\\&\\]\\:hover\\:text-accent-foreground{.peam-root a&{.peam-root &:hover{@media(hover:hover){color:var(--accent-foreground)}}}}@property --tw-animation-delay{syntax: "*"; inherits: false; initial-value: 0s;}@property --tw-animation-direction{syntax: "*"; inherits: false; initial-value: normal;}@property --tw-animation-duration{syntax: "*"; inherits: false;}@property --tw-animation-fill-mode{syntax: "*"; inherits: false; initial-value: none;}@property --tw-animation-iteration-count{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-enter-blur{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-enter-opacity{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-enter-rotate{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-enter-scale{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-enter-translate-x{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-enter-translate-y{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-exit-blur{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-exit-opacity{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-exit-rotate{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-exit-scale{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-exit-translate-x{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-exit-translate-y{syntax: "*"; inherits: false; initial-value: 0;}.peam-root{--background: oklch(1 0 0);--foreground: oklch(.145 0 0);--card: oklch(1 0 0);--card-foreground: oklch(.145 0 0);--popover: oklch(1 0 0);--popover-foreground: oklch(.145 0 0);--primary: oklch(57.61% .2508 258.23);--primary-foreground: oklch(1 0 0);--secondary: oklch(.97 0 0);--secondary-foreground: oklch(.205 0 0);--muted: oklch(.97 0 0);--muted-foreground: oklch(.556 0 0);--accent: oklch(.97 0 0);--accent-foreground: oklch(.205 0 0);--destructive: oklch(.732 .218 27.994);--destructive-foreground: oklch(.577 .245 27.325);--border: oklch(.85 0 0);--input: oklch(.85 0 0);--ring: oklch(.708 0 0);--chart-1: oklch(.646 .222 41.116);--chart-2: oklch(.6 .118 184.704);--chart-3: oklch(.398 .07 227.392);--chart-4: oklch(.828 .189 84.429);--chart-5: oklch(.769 .188 70.08);--radius: .625rem;--sidebar: oklch(.985 0 0);--sidebar-foreground: oklch(.145 0 0);--sidebar-primary: oklch(.205 0 0);--sidebar-primary-foreground: oklch(.985 0 0);--sidebar-accent: oklch(.97 0 0);--sidebar-accent-foreground: oklch(.205 0 0);--sidebar-border: oklch(.922 0 0);--sidebar-ring: oklch(.708 0 0)}@media(prefers-color-scheme:dark){.peam-root{--background: oklch(.145 0 0);--foreground: oklch(.985 0 0);--card: oklch(.205 0 0);--card-foreground: oklch(.985 0 0);--popover: oklch(.205 0 0);--popover-foreground: oklch(.985 0 0);--primary: oklch(57.61% .2508 258.23);--primary-foreground: oklch(1 0 0);--secondary: oklch(.269 0 0);--secondary-foreground: oklch(.985 0 0);--muted: oklch(.269 0 0);--muted-foreground: oklch(.708 0 0);--accent: oklch(.269 0 0);--accent-foreground: oklch(.985 0 0);--destructive: oklch(.704 .191 22.216);--destructive-foreground: oklch(.637 .237 25.331);--border: oklch(1 0 0 / 20%);--input: oklch(1 0 0 / 20%);--ring: oklch(.556 0 0);--chart-1: oklch(.488 .243 264.376);--chart-2: oklch(.696 .17 162.48);--chart-3: oklch(.769 .188 70.08);--chart-4: oklch(.627 .265 303.9);--chart-5: oklch(.645 .246 16.439);--sidebar: oklch(.205 0 0);--sidebar-foreground: oklch(.985 0 0);--sidebar-primary: oklch(.488 .243 264.376);--sidebar-primary-foreground: oklch(.985 0 0);--sidebar-accent: oklch(.269 0 0);--sidebar-accent-foreground: oklch(.985 0 0);--sidebar-border: oklch(1 0 0 / 10%);--sidebar-ring: oklch(.556 0 0)}}@layer base{.peam-root *{border-color:var(--border);outline-color:var(--ring);@supports (color: color-mix(in lab,red,red)){outline-color:color-mix(in oklab,var(--ring) 50%,transparent)}}.peam-root{background-color:var(--background);color:var(--foreground)}.peam-root button:not(:disabled),.peam-root [role=button]:not(:disabled){cursor:pointer}}@property --tw-translate-x{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-rotate-x{syntax: "*"; inherits: false;}@property --tw-rotate-y{syntax: "*"; inherits: false;}@property --tw-rotate-z{syntax: "*"; inherits: false;}@property --tw-skew-x{syntax: "*"; inherits: false;}@property --tw-skew-y{syntax: "*"; inherits: false;}@property --tw-space-y-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-space-x-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-divide-y-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-leading{syntax: "*"; inherits: false;}@property --tw-font-weight{syntax: "*"; inherits: false;}@property --tw-tracking{syntax: "*"; inherits: false;}@property --tw-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: "*"; inherits: false;}@property --tw-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: "*"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: "*"; inherits: false;}@property --tw-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: "*"; inherits: false;}@property --tw-inset-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: "*"; inherits: false;}@property --tw-ring-offset-width{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: "*"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-outline-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-blur{syntax: "*"; inherits: false;}@property --tw-brightness{syntax: "*"; inherits: false;}@property --tw-contrast{syntax: "*"; inherits: false;}@property --tw-grayscale{syntax: "*"; inherits: false;}@property --tw-hue-rotate{syntax: "*"; inherits: false;}@property --tw-invert{syntax: "*"; inherits: false;}@property --tw-opacity{syntax: "*"; inherits: false;}@property --tw-saturate{syntax: "*"; inherits: false;}@property --tw-sepia{syntax: "*"; inherits: false;}@property --tw-drop-shadow{syntax: "*"; inherits: false;}@property --tw-drop-shadow-color{syntax: "*"; inherits: false;}@property --tw-drop-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-drop-shadow-size{syntax: "*"; inherits: false;}@property --tw-backdrop-blur{syntax: "*"; inherits: false;}@property --tw-backdrop-brightness{syntax: "*"; inherits: false;}@property --tw-backdrop-contrast{syntax: "*"; inherits: false;}@property --tw-backdrop-grayscale{syntax: "*"; inherits: false;}@property --tw-backdrop-hue-rotate{syntax: "*"; inherits: false;}@property --tw-backdrop-invert{syntax: "*"; inherits: false;}@property --tw-backdrop-opacity{syntax: "*"; inherits: false;}@property --tw-backdrop-saturate{syntax: "*"; inherits: false;}@property --tw-backdrop-sepia{syntax: "*"; inherits: false;}@property --tw-duration{syntax: "*"; inherits: false;}@property --tw-ease{syntax: "*"; inherits: false;}@property --tw-content{syntax: "*"; initial-value: ""; inherits: false;}@property --tw-scale-x{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-scale-y{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-scale-z{syntax: "*"; inherits: false; initial-value: 1;}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){.peam-root *,.peam-root :before,.peam-root :after,.peam-root ::backdrop{--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--tw-space-y-reverse: 0;--tw-space-x-reverse: 0;--tw-divide-y-reverse: 0;--tw-border-style: solid;--tw-leading: initial;--tw-font-weight: initial;--tw-tracking: initial;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-outline-style: solid;--tw-blur: initial;--tw-brightness: initial;--tw-contrast: initial;--tw-grayscale: initial;--tw-hue-rotate: initial;--tw-invert: initial;--tw-opacity: initial;--tw-saturate: initial;--tw-sepia: initial;--tw-drop-shadow: initial;--tw-drop-shadow-color: initial;--tw-drop-shadow-alpha: 100%;--tw-drop-shadow-size: initial;--tw-backdrop-blur: initial;--tw-backdrop-brightness: initial;--tw-backdrop-contrast: initial;--tw-backdrop-grayscale: initial;--tw-backdrop-hue-rotate: initial;--tw-backdrop-invert: initial;--tw-backdrop-opacity: initial;--tw-backdrop-saturate: initial;--tw-backdrop-sepia: initial;--tw-duration: initial;--tw-ease: initial;--tw-content: "";--tw-scale-x: 1;--tw-scale-y: 1;--tw-scale-z: 1;--tw-animation-delay: 0s;--tw-animation-direction: normal;--tw-animation-duration: initial;--tw-animation-fill-mode: none;--tw-animation-iteration-count: 1;--tw-enter-blur: 0;--tw-enter-opacity: 1;--tw-enter-rotate: 0;--tw-enter-scale: 1;--tw-enter-translate-x: 0;--tw-enter-translate-y: 0;--tw-exit-blur: 0;--tw-exit-opacity: 1;--tw-exit-rotate: 0;--tw-exit-scale: 1;--tw-exit-translate-x: 0;--tw-exit-translate-y: 0}}}
4
4
  `);var Bt=class extends to{constructor(){super("PeamChatMessages"),this.version(1).stores({messages:"id, timestamp, sequence",summaries:"id, timestamp"});}},O=new Bt;function pe(t,e=300){let r=useRef(void 0),o=useCallback((...n)=>{r.current&&clearTimeout(r.current),r.current=setTimeout(()=>{t(...n);},e);},[t,e]);return useCallback(()=>()=>{r.current&&clearTimeout(r.current);},[]),o}var Ht=loggers.ui,Dt="current",Pt=()=>{var f;let t=useLiveQuery(()=>O.messages.orderBy("sequence").toArray()),e=useLiveQuery(()=>O.summaries.get(Dt)),r=!t,o=(f=t==null?void 0:t.map(A=>{var T=u(A,[]);return T}))!=null?f:[],n=e==null?void 0:e.summary,a=e==null?void 0:e.lastSummarizedMessageId,p=useCallback(T=>D(null,null,function*(){try{let A=Date.now(),l=T.map((d,w)=>C(s({},d),{timestamp:A+w*1e3,sequence:w}));yield O.transaction("rw",O.messages,()=>D(null,null,function*(){yield O.messages.clear(),yield O.messages.bulkAdd(l);}));}catch(A){Ht.error("Failed to save messages:",A);}}),[]),i=pe(p,300),c=useCallback((T,A)=>D(null,null,function*(){try{yield O.summaries.put({id:Dt,summary:T,lastSummarizedMessageId:A,timestamp:Date.now()});}catch(l){Ht.error("Failed to save summary:",l);}}),[]),g=useCallback(()=>D(null,null,function*(){try{yield O.transaction("rw",[O.messages,O.summaries],()=>D(null,null,function*(){yield O.messages.clear(),yield O.summaries.delete(Dt);}));}catch(T){Ht.error("Failed to clear messages:",T);}}),[]);return {initialMessages:o,isLoading:r,saveMessages:i,clearMessages:g,summary:n,lastSummarizedMessageId:a,saveSummary:c}};function st(){let[t,e]=useState(false),r=useRef(null),o=Pt(),n=()=>{e(c=>!c);},a=()=>{e(true);},p=()=>{e(false);},i=()=>{r.current&&r.current();};return useEffect(()=>{let c=g=>{if((g.key==="Escape"||g.key==="Esc"||g.keyCode===27)&&t){p();return}let T=g.key==="i"||g.key==="I"||g.keyCode===73;g.metaKey&&T&&(g.preventDefault(),g.stopPropagation(),e(l=>!l));};return document.addEventListener("keydown",c),()=>{document.removeEventListener("keydown",c);}},[t]),{isOpen:t,chatClearRef:r,chatPersistence:o,handleToggle:n,handleOpen:a,handleClose:p,handleClear:i}}function h(...t){return twMerge(clsx(t))}var co=cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function pt(a){var p=a,{className:t,variant:e="default",size:r="default",asChild:o=false}=p,n=u(p,["className","variant","size","asChild"]);return jsx(o?Slot:"button",s({"data-slot":"button","data-variant":e,"data-size":r,className:h(co({variant:e,size:r,className:t}))},n))}var de=r=>{var o=r,{className:t}=o,e=u(o,["className"]);return jsx(StickToBottom,s({className:h("relative flex-1 overflow-y-hidden",t),initial:"smooth",resize:"smooth",role:"log"},e))},ue=r=>{var o=r,{className:t}=o,e=u(o,["className"]);return jsx(StickToBottom.Content,s({className:h("flex flex-col gap-8 p-4",t)},e))},_t=p=>{var i=p,{className:t,title:e="No messages yet",description:r="Start a conversation to see messages here",icon:o,children:n}=i,a=u(i,["className","title","description","icon","children"]);return jsx("div",C(s({className:h("flex size-full flex-col items-center justify-center gap-3 p-8 text-center",t)},a),{children:n!=null?n:jsxs(Fragment,{children:[o&&jsx("div",{className:"text-muted-foreground",children:o}),jsxs("div",{className:"space-y-1",children:[jsx("h3",{className:"font-medium text-sm",children:e}),r&&jsx("p",{className:"text-muted-foreground text-sm",children:r})]})]})}))},ge=r=>{var o=r,{className:t}=o,e=u(o,["className"]);let{isAtBottom:n,scrollToBottom:a}=useStickToBottomContext(),p=useCallback(()=>{a();},[a]);return !n&&jsx(pt,C(s({className:h("absolute bottom-4 left-[50%] translate-x-[-50%] rounded-full",t),onClick:p,size:"icon",type:"button",variant:"outline"},e),{children:jsx(ArrowDownIcon,{className:"size-4"})}))};function Ut(r){var o=r,{delayDuration:t=0}=o,e=u(o,["delayDuration"]);return jsx(V.Provider,s({"data-slot":"tooltip-provider",delayDuration:t},e))}function Q(e){var t=u(e,[]);return jsx(Ut,{children:jsx(V.Root,s({"data-slot":"tooltip"},t))})}function Y(e){var t=u(e,[]);return jsx(V.Trigger,s({"data-slot":"tooltip-trigger"},t))}function tt(n){var a=n,{className:t,sideOffset:e=0,children:r}=a,o=u(a,["className","sideOffset","children"]);return jsx(V.Portal,{children:jsx("div",{className:"peam-root",children:jsxs(V.Content,C(s({"data-slot":"tooltip-content",sideOffset:e,className:h("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",t)},o),{children:[r,jsx(V.Arrow,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]}))})})}var Ft=o=>{var n=o,{className:t,from:e}=n,r=u(n,["className","from"]);return jsx("div",s({className:h("group flex w-full max-w-[95%] flex-col gap-2",e==="user"?"is-user ml-auto justify-end":"is-assistant",t)},r))},jt=o=>{var n=o,{children:t,className:e}=n,r=u(n,["children","className"]);return jsx("div",C(s({className:h("is-user:dark flex w-fit max-w-full min-w-0 flex-col gap-2 overflow-hidden text-sm","group-[.is-user]:ml-auto group-[.is-user]:rounded-lg group-[.is-user]:bg-secondary group-[.is-user]:px-4 group-[.is-user]:py-3 group-[.is-user]:text-foreground","group-[.is-assistant]:text-foreground",e)},r),{children:t}))},Ot=o=>{var n=o,{className:t,children:e}=n,r=u(n,["className","children"]);return jsx("div",C(s({className:h("flex items-center gap-1",t)},r),{children:e}))},Ct=p=>{var i=p,{tooltip:t,children:e,label:r,variant:o="ghost",size:n="icon-sm"}=i,a=u(i,["tooltip","children","label","variant","size"]);let c=jsxs(pt,C(s({size:n,type:"button",variant:o},a),{children:[e,jsx("span",{className:"sr-only",children:r||t})]}));return t?jsx(Ut,{children:jsxs(Q,{children:[jsx(Y,{asChild:true,children:c}),jsx(tt,{children:jsx("p",{children:t})})]})}):c};createContext(null);var Gt=memo(r=>{var o=r,{className:t}=o,e=u(o,["className"]);return jsx(Streamdown,s({className:h("size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",t)},e))},(t,e)=>t.children===e.children);Gt.displayName="MessageResponse";function he(r){var o=r,{className:t}=o,e=u(o,["className"]);return jsx("textarea",s({"data-slot":"textarea",className:h("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",t)},e))}function be(r){var o=r,{className:t}=o,e=u(o,["className"]);return jsx("div",s({"data-slot":"input-group",role:"group",className:h("group/input-group border-input dark:bg-input/30 relative flex w-full items-center rounded-md border shadow-xs transition-[color,box-shadow] outline-none","h-9 min-w-0 has-[>textarea]:h-auto","has-[>[data-align=inline-start]]:[&>input]:pl-2","has-[>[data-align=inline-end]]:[&>input]:pr-2","has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3","has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3","has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot=input-group-control]:focus-visible]:ring-[3px]","has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[[data-slot][aria-invalid=true]]:border-destructive dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40",t)},e))}var ko=cva("text-muted-foreground flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium select-none [&>svg:not([class*='size-'])]:size-4 [&>kbd]:rounded-[calc(var(--radius)-5px)] group-data-[disabled=true]/input-group:opacity-50",{variants:{align:{"inline-start":"order-first pl-3 has-[>button]:ml-[-0.45rem] has-[>kbd]:ml-[-0.35rem]","inline-end":"order-last pr-3 has-[>button]:mr-[-0.45rem] has-[>kbd]:mr-[-0.35rem]","block-start":"order-first w-full justify-start px-3 pt-3 [.border-b]:pb-3 group-has-[>input]/input-group:pt-2.5","block-end":"order-last w-full justify-start px-3 pb-3 [.border-t]:pt-3 group-has-[>input]/input-group:pb-2.5"}},defaultVariants:{align:"inline-start"}});function we(o){var n=o,{className:t,align:e="inline-start"}=n,r=u(n,["className","align"]);return jsx("div",s({role:"group","data-slot":"input-group-addon","data-align":e,className:h(ko({align:e}),t),onClick:a=>{var p,i;a.target.closest("button")||(i=(p=a.currentTarget.parentElement)==null?void 0:p.querySelector("input"))==null||i.focus();}},r))}var Po=cva("text-sm shadow-none flex gap-2 items-center",{variants:{size:{xs:"h-6 gap-1 px-2 rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-3.5 has-[>svg]:px-2",sm:"h-8 px-2.5 gap-1.5 rounded-md has-[>svg]:px-2.5","icon-xs":"size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0","icon-sm":"size-8 p-0 has-[>svg]:p-0"}},defaultVariants:{size:"xs"}});function Vt(a){var p=a,{className:t,type:e="button",variant:r="ghost",size:o="xs"}=p,n=u(p,["className","type","variant","size"]);return jsx(pt,s({type:e,"data-size":o,variant:r,className:h(Po({size:o}),t)},n))}function xe(r){var o=r,{className:t}=o,e=u(o,["className"]);return jsx(he,s({"data-slot":"input-group-control",className:h("flex-1 resize-none rounded-none border-0 bg-transparent py-3 shadow-none focus-visible:ring-0 dark:bg-transparent",t)},e))}var Ro=createContext(null),Lo=createContext(null);var ye=()=>useContext(Ro);var Bo=()=>useContext(Lo);var ke=createContext(null),Eo=()=>{let t=Bo(),e=useContext(ke),r=t!=null?t:e;if(!r)throw new Error("usePromptInputAttachments must be used within a PromptInput or PromptInputProvider");return r};var Pe=T=>{var A=T,{className:t,accept:e,multiple:r,globalDrop:o,syncHiddenInput:n,maxFiles:a,maxFileSize:p,onError:i,onSubmit:c,children:g}=A,f=u(A,["className","accept","multiple","globalDrop","syncHiddenInput","maxFiles","maxFileSize","onError","onSubmit","children"]);let l=ye(),d=!!l,w=useRef(null),E=useRef(null),[K,k]=useState([]),I=d?l.attachments.files:K,F=useRef(I);F.current=I;let z=useCallback(()=>{var m;(m=w.current)==null||m.click();},[]),G=useCallback(m=>!e||e.trim()===""?true:e.split(",").map(x=>x.trim()).filter(Boolean).some(x=>{if(x.endsWith("/*")){let y=x.slice(0,-1);return m.type.startsWith(y)}return m.type===x}),[e]),N=useCallback(m=>{let M=Array.from(m),x=M.filter(S=>G(S));if(M.length&&x.length===0){i==null||i({code:"accept",message:"No files match the accepted types."});return}let y=S=>p?S.size<=p:true,b=x.filter(y);if(x.length>0&&b.length===0){i==null||i({code:"max_file_size",message:"All files exceed the maximum size."});return}k(S=>{let j=typeof a=="number"?Math.max(0,a-S.length):void 0,et=typeof j=="number"?b.slice(0,j):b;typeof j=="number"&&b.length>j&&(i==null||i({code:"max_files",message:"Too many files. Some were not added."}));let ht=[];for(let it of et)ht.push({id:nanoid(),type:"file",url:URL.createObjectURL(it),mediaType:it.type,filename:it.name});return S.concat(ht)});},[G,a,p,i]),nt=useCallback(m=>k(M=>{let x=M.find(y=>y.id===m);return x!=null&&x.url&&URL.revokeObjectURL(x.url),M.filter(y=>y.id!==m)}),[]),wt=useCallback(()=>k(m=>{for(let M of m)M.url&&URL.revokeObjectURL(M.url);return []}),[]),H=d?l.attachments.add:N,X=d?l.attachments.remove:nt,$=d?l.attachments.clear:wt,xt=d?l.attachments.openFileDialog:z;useEffect(()=>{d&&l.__registerFileInput(w,()=>{var m;return (m=w.current)==null?void 0:m.click()});},[d,l]),useEffect(()=>{n&&w.current&&I.length===0&&(w.current.value="");},[I,n]),useEffect(()=>{let m=E.current;if(!m||o)return;let M=y=>{var b,S;(S=(b=y.dataTransfer)==null?void 0:b.types)!=null&&S.includes("Files")&&y.preventDefault();},x=y=>{var b,S,j;(S=(b=y.dataTransfer)==null?void 0:b.types)!=null&&S.includes("Files")&&y.preventDefault(),(j=y.dataTransfer)!=null&&j.files&&y.dataTransfer.files.length>0&&H(y.dataTransfer.files);};return m.addEventListener("dragover",M),m.addEventListener("drop",x),()=>{m.removeEventListener("dragover",M),m.removeEventListener("drop",x);}},[H,o]),useEffect(()=>{if(!o)return;let m=x=>{var y,b;(b=(y=x.dataTransfer)==null?void 0:y.types)!=null&&b.includes("Files")&&x.preventDefault();},M=x=>{var y,b,S;(b=(y=x.dataTransfer)==null?void 0:y.types)!=null&&b.includes("Files")&&x.preventDefault(),(S=x.dataTransfer)!=null&&S.files&&x.dataTransfer.files.length>0&&H(x.dataTransfer.files);};return document.addEventListener("dragover",m),document.addEventListener("drop",M),()=>{document.removeEventListener("dragover",m),document.removeEventListener("drop",M);}},[H,o]),useEffect(()=>()=>{if(!d)for(let m of F.current)m.url&&URL.revokeObjectURL(m.url);},[d]);let zt=m=>{m.currentTarget.files&&H(m.currentTarget.files),m.currentTarget.value="";},Nt=m=>D(null,null,function*(){try{let x=yield (yield fetch(m)).blob();return new Promise(y=>{let b=new FileReader;b.onloadend=()=>y(b.result),b.onerror=()=>y(null),b.readAsDataURL(x);})}catch(M){return null}}),yt=useMemo(()=>({files:I.map(m=>C(s({},m),{id:m.id})),add:H,remove:X,clear:$,openFileDialog:xt,fileInputRef:w}),[I,H,X,$,xt]),Rt=m=>{m.preventDefault();let M=m.currentTarget,x=d?l.textInput.value:new FormData(M).get("message")||"";d||M.reset(),Promise.all(I.map(S=>D(null,null,function*(){var j=S,{id:y}=j,b=u(j,["id"]);if(b.url&&b.url.startsWith("blob:")){let et=yield Nt(b.url);return C(s({},b),{url:et!=null?et:b.url})}return b}))).then(y=>{try{let b=c({text:x,files:y},m);b instanceof Promise?b.then(()=>{$(),d&&l.textInput.clear();}).catch(()=>{}):($(),d&&l.textInput.clear());}catch(b){}}).catch(()=>{});},v=jsxs(Fragment,{children:[jsx("input",{accept:e,"aria-label":"Upload files",className:"hidden",multiple:r,onChange:zt,ref:w,title:"Upload files",type:"file"}),jsx("form",C(s({className:h("w-full",t),onSubmit:Rt,ref:E},f),{children:jsx(be,{className:"overflow-hidden",children:g})}))]});return d?v:jsx(ke.Provider,{value:yt,children:v})},Ce=r=>{var o=r,{className:t}=o,e=u(o,["className"]);return jsx("div",s({className:h("contents",t)},e))},Ie=n=>{var a=n,{onChange:t,className:e,placeholder:r="What would you like to know?"}=a,o=u(a,["onChange","className","placeholder"]);let p=ye(),i=Eo(),[c,g]=useState(false),f=l=>{if(l.key==="Enter"){if(c||l.nativeEvent.isComposing||l.shiftKey)return;l.preventDefault();let d=l.currentTarget.form,w=d==null?void 0:d.querySelector('button[type="submit"]');if(w!=null&&w.disabled)return;d==null||d.requestSubmit();}if(l.key==="Backspace"&&l.currentTarget.value===""&&i.files.length>0){l.preventDefault();let d=i.files.at(-1);d&&i.remove(d.id);}},T=l=>{var E;let d=(E=l.clipboardData)==null?void 0:E.items;if(!d)return;let w=[];for(let K of d)if(K.kind==="file"){let k=K.getAsFile();k&&w.push(k);}w.length>0&&(l.preventDefault(),i.add(w));},A=p?{value:p.textInput.value,onChange:l=>{p.textInput.setInput(l.currentTarget.value),t==null||t(l);}}:{onChange:t};return jsx(xe,s(s({className:h("field-sizing-content max-h-48 min-h-16",e),name:"message",onCompositionEnd:()=>g(false),onCompositionStart:()=>g(true),onKeyDown:f,onPaste:T,placeholder:r},o),A))};var Te=r=>{var o=r,{className:t}=o,e=u(o,["className"]);return jsx(we,s({align:"block-end",className:h("justify-between gap-1",t)},e))};var Ho=n=>{var a=n,{variant:t="ghost",className:e,size:r}=a,o=u(a,["variant","className","size"]);let p=r!=null?r:Children.count(o.children)>1?"sm":"icon-sm";return jsx(Vt,s({className:h(e),size:p,type:"button",variant:t},o))};var Ae=p=>{var i=p,{className:t,variant:e="default",size:r="icon-sm",status:o,children:n}=i,a=u(i,["className","variant","size","status","children"]);let c=jsx(CornerDownLeftIcon,{className:"size-4"});return o==="submitted"?c=jsx(Loader2Icon,{className:"size-4 animate-spin"}):o==="streaming"?c=jsx(SquareIcon,{className:"size-4"}):o==="error"&&(c=jsx(XIcon,{className:"size-4"})),jsx(Vt,C(s({"aria-label":"Submit",className:h(t),size:r,type:"submit",variant:e},a),{children:n!=null?n:c}))},Me=n=>{var a=n,{className:t,textareaRef:e,onTranscriptionChange:r}=a,o=u(a,["className","textareaRef","onTranscriptionChange"]);let[p,i]=useState(false),[c,g]=useState(null),f=useRef(null);useEffect(()=>{if(typeof window!="undefined"&&("SpeechRecognition"in window||"webkitSpeechRecognition"in window)){let A=window.SpeechRecognition||window.webkitSpeechRecognition,l=new A;l.continuous=true,l.interimResults=true,l.lang="en-US",l.onstart=()=>{i(true);},l.onend=()=>{i(false);},l.onresult=d=>{var E,K;let w="";for(let k=d.resultIndex;k<d.results.length;k++){let I=d.results[k];I.isFinal&&(w+=(K=(E=I[0])==null?void 0:E.transcript)!=null?K:"");}if(w&&(e!=null&&e.current)){let k=e.current,I=k.value,F=I+(I?" ":"")+w;k.value=F,k.dispatchEvent(new Event("input",{bubbles:true})),r==null||r(F);}},l.onerror=d=>{console.error("Speech recognition error:",d.error),i(false);},f.current=l,g(l);}return ()=>{f.current&&f.current.stop();}},[e,r]);let T=useCallback(()=>{c&&(p?c.stop():c.start());},[c,p]);return jsx(Ho,C(s({className:h("relative transition-all duration-200",p&&"animate-pulse bg-accent text-accent-foreground",t),disabled:!c,onClick:T},o),{children:jsx(MicIcon,{className:"size-4"})}))};var Oo=({children:t,as:e="p",className:r,duration:o=2,spread:n=2})=>{let a=motion.create(e),p=useMemo(()=>{var i;return ((i=t==null?void 0:t.length)!=null?i:0)*n},[t,n]);return jsx(a,{animate:{backgroundPosition:"0% center"},className:h("relative inline-block bg-[length:250%_100%,auto] bg-clip-text text-transparent","[--bg:linear-gradient(90deg,#0000_calc(50%-var(--spread)),var(--color-background),#0000_calc(50%+var(--spread)))] [background-repeat:no-repeat,padding-box]",r),initial:{backgroundPosition:"100% center"},style:{"--spread":`${p}px`,backgroundImage:"var(--bg), linear-gradient(var(--color-muted-foreground), var(--color-muted-foreground))"},transition:{repeat:Number.POSITIVE_INFINITY,duration:o,ease:"linear"},children:t})},Se=memo(Oo);function ze(e){var t=u(e,[]);return jsx(mt.Root,s({"data-slot":"collapsible"},t))}function Ne(e){var t=u(e,[]);return jsx(mt.CollapsibleTrigger,s({"data-slot":"collapsible-trigger"},t))}function Re(e){var t=u(e,[]);return jsx(mt.CollapsibleContent,s({"data-slot":"collapsible-content"},t))}var Le=r=>{var o=r,{className:t}=o,e=u(o,["className"]);return jsx(ze,s({className:h("not-prose mb-4 text-primary text-xs",t)},e))},Be=n=>{var a=n,{className:t,count:e,children:r}=a,o=u(a,["className","count","children"]);return jsx(Ne,C(s({className:h("flex items-center gap-2",t)},o),{children:r!=null?r:jsxs(Fragment,{children:[jsxs("p",{className:"font-medium",children:["Used ",e," sources"]}),jsx(ChevronDownIcon,{className:"h-4 w-4"})]})}))},Ee=r=>{var o=r,{className:t}=o,e=u(o,["className"]);return jsx(Re,s({className:h("mt-3 flex w-fit flex-col gap-2","data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 outline-none data-[state=closed]:animate-out data-[state=open]:animate-in",t)},e))},He=n=>{var a=n,{href:t,title:e,children:r}=a,o=u(a,["href","title","children"]);return jsx("a",C(s({className:"flex items-center gap-2",href:t,rel:"noreferrer",target:"_blank"},o),{children:r!=null?r:jsxs(Fragment,{children:[jsx(BookIcon,{className:"h-4 w-4"}),jsx("span",{className:"block font-medium",children:e})]})}))};var qo=["Summarize this page","Where should I get started?","What can you help me with?"],_e=({prompts:t=qo,onPromptClick:e})=>!t||t.length===0?null:jsx("div",{className:"flex flex-col justify-center gap-3 w-full",children:jsx("div",{className:"flex flex-col gap-1 text-xs items-start",children:t.map((r,o)=>jsx("button",{onClick:()=>e(r),className:"text-primary hover:underline cursor-pointer text-left starting:opacity-0 transition-opacity duration-200 delay-100",children:r},o))})});var Jt=10;function Ue(t,e,r=Jt){if(!e)return t.slice(-r);let o=t.findIndex(a=>a.id===e);return o===-1?t.slice(-r):t.slice(o+1).slice(-r)}function Fe(t,e,r=Jt){if(!e)return t.length>=r;let o=t.findIndex(a=>a.id===e);return o===-1?t.length>=r:t.length-o-1>=r}function je(t,e,r=Jt){if(!e)return t.slice(-r);let o=t.findIndex(n=>n.id===e);return o===-1?t.slice(-r):t.slice(o+1)}var Yo=loggers.ui;function Ge(t={}){let{api:e="/api/peam",maxMessages:r}=t,{summary:o,saveSummary:n,lastSummarizedMessageId:a}=Pt(),[p,i]=useState(false),c=useRef([]),g=useRef(false),f=useMemo(()=>new DefaultChatTransport({api:e}),[e]),{status:T,messages:A,setMessages:l,regenerate:d}=useChat({transport:f});useEffect(()=>{if(g.current||T==="submitted"||T==="streaming"||A.length===0)return;D(null,null,function*(){var I;g.current=true;try{let z=A.filter(G=>G.role==="assistant").map(G=>G.parts.filter(N=>N.type==="text").map(N=>"text"in N?N.text:"").join("")).join(`
5
5
  `);if(z){let G=c.current,N=(I=G[G.length-1])==null?void 0:I.id;N&&n&&(yield n(z,N));}}catch(F){Yo.error("Error processing summary:",F);}finally{i(false),g.current=false;}});},[T,A,n]);let w=useCallback((k,I)=>{p||(c.current=[...k],i(true),l(k),d({body:{mode:"summarize",messages:k,previousSummary:I}}));},[l,d,p]),E=useCallback((k,I,F)=>{if(p)return false;let z=je(k,I,r);return z.length===0?false:(w(z,F),true)},[w,p,r]);return {maybeTriggerSummarization:useCallback(k=>{if(p)return false;let I=k[k.length-1];return !I||I.role!=="assistant"||!Fe(k,a,r)?false:E(k,a,o)},[p,E,o,a,r]),summary:o,lastSummarizedMessageId:a}}var Mt=class extends DefaultChatTransport{constructor(e){super({api:e.api,prepareSendMessagesRequest:({messages:r,body:o})=>{let n=o==null?void 0:o.lastSummarizedMessageId,a=Ue(r,n,e.maxMessages);return {body:C(s({},o),{messages:a})}}});}};var W=t=>jsxs("svg",C(s({viewBox:"3 3 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t),{children:[jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21H16.5C17.8978 21 18.5967 21 19.1481 20.7716C19.8831 20.4672 20.4672 19.8831 20.7716 19.1481C21 18.5967 21 17.8978 21 16.5V12C21 7.02944 16.9706 3 12 3Z",fill:"currentColor"}),jsx("rect",{x:"8",y:"10",width:"8",height:"2",rx:"1",fill:"var(--background)"}),jsx("rect",{x:"11",y:"14",width:"5",height:"2",rx:"1",fill:"var(--background)"})]})),St=t=>jsxs("svg",C(s({viewBox:"3 3 18 18",xmlns:"http://www.w3.org/2000/svg"},t),{children:[jsx("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"M12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21H16.5C17.8978 21 18.5967 21 19.1481 20.7716C19.8831 20.4672 20.4672 19.8831 20.7716 19.1481C21 18.5967 21 17.8978 21 16.5V12C21 7.02944 16.9706 3 12 3Z"}),jsx("path",{fill:"var(--background)",d:"M10.71 9.03C10.32 8.64 9.69 8.64 9.3 9.03C8.91 9.42 8.91 10.05 9.3 10.44L11.06 12.2L9.3 13.96C8.91 14.35 8.91 14.98 9.3 15.37C9.69 15.76 10.32 15.76 10.71 15.37L12.47 13.61L14.23 15.37C14.62 15.76 15.25 15.76 15.64 15.37C16.03 14.98 16.03 14.35 15.64 13.96L13.88 12.2L15.64 10.44C16.03 10.05 16.03 9.42 15.64 9.03C15.25 8.64 14.62 8.64 14.23 9.03L12.47 10.79L10.71 9.03Z"})]}));var ir=loggers.ui,at=({chatPersistence:t,suggestedPrompts:e,onClearRef:r,chatTransport:o,maxMessages:n})=>{let[a,p]=useState(""),[i,c]=useState(false),g=useRef(null),[f,T]=useState(null),A=useRef(false),l=useRef(0),{initialMessages:d,isLoading:w,saveMessages:E,clearMessages:K}=t,{summary:k,lastSummarizedMessageId:I,maybeTriggerSummarization:F}=Ge({maxMessages:n}),{messages:z,sendMessage:G,status:N,error:nt,regenerate:wt,setMessages:H}=useChat({transport:o!=null?o:new Mt({api:"/api/peam",maxMessages:n})}),X=useMemo(()=>N!=="submitted"&&N!=="streaming",[N]);useEffect(()=>{!(w||i)&&d.length>0?(H(d),l.current=d.length,c(true)):w||i||c(true);},[w,d,i,H]),useEffect(()=>{i&&!w&&!A.current&&X&&d.length!==l.current&&(A.current=true,H(d),l.current=d.length,setTimeout(()=>{A.current=false;},100));},[d,i,w,H,X]),useEffect(()=>{i&&z.length>=0&&!A.current&&X&&(E(z),l.current=z.length);},[z,E,i,X]),useEffect(()=>{if(!X||!i)return;let v=setTimeout(()=>{F(z);},300);return ()=>clearTimeout(v)},[z,X,i,F]);let $=useCallback(v=>{G(C(s({},v),{metadata:{currentPage:{title:window.document.title,origin:window.location.origin,path:window.location.pathname}}}),{body:{summary:k,lastSummarizedMessageId:I}});},[G,k,I]);useEffect(()=>{var v;(v=g==null?void 0:g.current)==null||v.focus();},[g]);let xt=useCallback(v=>{v.text&&($({text:v.text}),p(""));},[$,p]),zt=useCallback(v=>{$({text:v});},[$]),Nt=useCallback((v,m)=>D(null,null,function*(){yield navigator.clipboard.writeText(m),T(v),setTimeout(()=>T(null),2e3);}),[T]),yt=useCallback(()=>D(null,null,function*(){try{yield K(),H([]);}catch(v){ir.error("Failed to clear chat history:",v);}}),[K,H]);useEffect(()=>{r&&r(yt);},[r,yt]);let Rt=v=>{try{let m=JSON.parse(v.message);if(m.error)return m.error}catch(m){}return "An error occurred while processing your request."};return jsxs("div",{className:"flex flex-col h-full bg-background rounded-sm",children:[jsxs(de,{children:[jsx(ue,{className:z.length===0&&!nt&&!w?"justify-between min-h-full":"",children:w?jsx("div",{className:"flex items-center justify-center flex-1",children:jsx(_t,{icon:jsx(W,{className:"size-12 animate-pulse"}),title:"Loading chat history...",description:"Please wait"})}):z.length===0&&!nt?jsxs(Fragment,{children:[jsx("div",{className:"flex items-center justify-center flex-1",children:jsx(_t,{icon:jsx(W,{className:"size-12"}),title:"Ask me anything",description:"How can I help you today?"})}),jsx(_e,{prompts:e,onPromptClick:zt})]}):jsxs(Fragment,{children:[z.map((v,m)=>{let M=v.parts.filter(R=>R.type==="source-url"),x=Array.from(new Map(M.map(R=>[R.sourceId,R])).values()),y=x.length,b=m===z.length-1,S=v.role==="assistant",j=b&&N==="streaming",et=!j,ht=v.parts.filter(R=>R.type==="text").map(R=>R.text).join(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peam-ai/client",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Client side components for Peam",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -62,9 +62,9 @@
62
62
  "tokenlens": "^1.3.1",
63
63
  "tw-animate-css": "^1.4.0",
64
64
  "use-stick-to-bottom": "^1.1.1",
65
- "@peam-ai/logger": "0.1.2",
66
- "@peam-ai/ai": "0.1.2",
67
- "@peam-ai/search": "0.1.2"
65
+ "@peam-ai/logger": "0.1.3",
66
+ "@peam-ai/ai": "0.1.3",
67
+ "@peam-ai/search": "0.1.3"
68
68
  },
69
69
  "devDependencies": {
70
70
  "@eslint/js": "^9.39.2",