ltcai 5.1.0 → 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +45 -39
- package/docs/CHANGELOG.md +36 -2355
- package/docs/V4_1_VALIDATION_REPORT.md +1 -1
- package/docs/V4_3_PRODUCT_HARDENING_REPORT.md +2 -2
- package/docs/V4_5_1_VALIDATION_REPORT.md +2 -1
- package/frontend/src/pages/Library.tsx +29 -4
- package/lattice_brain/__init__.py +1 -1
- package/lattice_brain/runtime/multi_agent.py +1 -1
- package/latticeai/__init__.py +1 -1
- package/latticeai/api/marketplace.py +2 -2
- package/latticeai/api/models.py +20 -4
- package/latticeai/core/marketplace.py +1 -1
- package/latticeai/core/workspace_os.py +18 -4
- package/latticeai/services/model_capability_registry.py +483 -0
- package/latticeai/services/model_catalog.py +99 -96
- package/latticeai/services/model_recommendation.py +12 -1
- package/package.json +1 -1
- package/scripts/verify_hf_model_registry.py +308 -0
- package/src-tauri/Cargo.lock +1 -1
- package/src-tauri/Cargo.toml +1 -1
- package/src-tauri/tauri.conf.json +1 -1
- package/static/app/asset-manifest.json +5 -5
- package/static/app/assets/index-CQmHhk8Q.css +2 -0
- package/static/app/assets/{index-DONOJfMn.js → index-DsnfomFs.js} +1 -1
- package/static/app/assets/{index-DONOJfMn.js.map → index-DsnfomFs.js.map} +1 -1
- package/static/app/index.html +2 -2
- package/static/app/assets/index-DuYYT2oh.css +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
|
|
2
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-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}}}@layer theme{: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-amber-300:oklch(87.9% .169 91.605);--color-amber-500:oklch(76.9% .188 70.08);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-500:oklch(69.6% .17 162.48);--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--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:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--tracking-normal:0em;--leading-tight:1.25;--radius-md:.375rem;--radius-lg:.5rem;--animate-spin:spin 1s linear infinite;--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)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,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}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\@container{container-type:inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.-inset-1{inset:calc(var(--spacing) * -1)}.top-2\.5{top:calc(var(--spacing) * 2.5)}.left-3{left:calc(var(--spacing) * 3)}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.\!container{width:100%!important}@media (width>=40rem){.\!container{max-width:40rem!important}}@media (width>=48rem){.\!container{max-width:48rem!important}}@media (width>=64rem){.\!container{max-width:64rem!important}}@media (width>=80rem){.\!container{max-width:80rem!important}}@media (width>=96rem){.\!container{max-width:96rem!important}}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-\[440px\]{height:440px}.h-\[620px\]{height:620px}.h-full{height:100%}.min-h-6{min-height:calc(var(--spacing) * 6)}.min-h-28{min-height:calc(var(--spacing) * 28)}.min-h-36{min-height:calc(var(--spacing) * 36)}.min-h-56{min-height:calc(var(--spacing) * 56)}.min-h-\[32rem\]{min-height:32rem}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-7{width:calc(var(--spacing) * 7)}.w-10{width:calc(var(--spacing) * 10)}.w-44{width:calc(var(--spacing) * 44)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing) * 0)}.shrink{flex-shrink:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.translate-none{translate:none}.scale-3d{scale:var(--tw-scale-x) var(--tw-scale-y) var(--tw-scale-z)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.resize{resize:both}.resize-y{resize:vertical}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-\[minmax\(9rem\,0\.5fr\)_1fr\]{grid-template-columns:minmax(9rem,.5fr) 1fr}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1>: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)))}:where(.space-y-2>: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)))}:where(.space-y-3>: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)))}:where(.space-y-4>: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)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>: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)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}:where(.divide-border>:not(:last-child)){border-color:hsl(var(--border))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-ss{border-start-start-radius:.25rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.rounded-se{border-start-end-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-bs{border-block-start-style:var(--tw-border-style);border-block-start-width:1px}.border-be{border-block-end-style:var(--tw-border-style);border-block-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-500\/25{border-color:#f99c0040}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/25{border-color:color-mix(in oklab, var(--color-amber-500) 25%, transparent)}}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/30{border-color:color-mix(in oklab, var(--color-amber-500) 30%, transparent)}}.border-border{border-color:hsl(var(--border))}.border-destructive\/30{border-color:hsl(var(--destructive))}@supports (color:color-mix(in lab, red, red)){.border-destructive\/30{border-color:color-mix(in oklab, hsl(var(--destructive)) 30%, transparent)}}.border-emerald-500\/25{border-color:#00bb7f40}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/25{border-color:color-mix(in oklab, var(--color-emerald-500) 25%, transparent)}}.border-input{border-color:hsl(var(--input))}.border-primary\/25{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab, red, red)){.border-primary\/25{border-color:color-mix(in oklab, hsl(var(--primary)) 25%, transparent)}}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/10{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.bg-amber-500\/12{background-color:#f99c001f}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/12{background-color:color-mix(in oklab, var(--color-amber-500) 12%, transparent)}}.bg-background,.bg-background\/55{background-color:hsl(var(--background))}@supports (color:color-mix(in lab, red, red)){.bg-background\/55{background-color:color-mix(in oklab, hsl(var(--background)) 55%, transparent)}}.bg-background\/70{background-color:hsl(var(--background))}@supports (color:color-mix(in lab, red, red)){.bg-background\/70{background-color:color-mix(in oklab, hsl(var(--background)) 70%, transparent)}}.bg-background\/80{background-color:hsl(var(--background))}@supports (color:color-mix(in lab, red, red)){.bg-background\/80{background-color:color-mix(in oklab, hsl(var(--background)) 80%, transparent)}}.bg-card,.bg-card\/70{background-color:hsl(var(--card))}@supports (color:color-mix(in lab, red, red)){.bg-card\/70{background-color:color-mix(in oklab, hsl(var(--card)) 70%, transparent)}}.bg-destructive,.bg-destructive\/12{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/12{background-color:color-mix(in oklab, hsl(var(--destructive)) 12%, transparent)}}.bg-emerald-500\/12{background-color:#00bb7f1f}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/12{background-color:color-mix(in oklab, var(--color-emerald-500) 12%, transparent)}}.bg-muted,.bg-muted\/24{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab, red, red)){.bg-muted\/24{background-color:color-mix(in oklab, hsl(var(--muted)) 24%, transparent)}}.bg-muted\/28{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab, red, red)){.bg-muted\/28{background-color:color-mix(in oklab, hsl(var(--muted)) 28%, transparent)}}.bg-muted\/30{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab, red, red)){.bg-muted\/30{background-color:color-mix(in oklab, hsl(var(--muted)) 30%, transparent)}}.bg-muted\/70{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab, red, red)){.bg-muted\/70{background-color:color-mix(in oklab, hsl(var(--muted)) 70%, transparent)}}.bg-primary,.bg-primary\/12{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab, red, red)){.bg-primary\/12{background-color:color-mix(in oklab, hsl(var(--primary)) 12%, transparent)}}.bg-secondary{background-color:hsl(var(--secondary))}.bg-repeat{background-repeat:repeat}.mask-no-clip{-webkit-mask-clip:no-clip;mask-clip:no-clip}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:calc(var(--spacing) * 0)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[11px\]{font-size:11px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-300{color:var(--color-amber-300)}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-300{color:var(--color-emerald-300)}.text-foreground{color:hsl(var(--foreground))}.text-muted-foreground,.text-muted-foreground\/80{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/80{color:color-mix(in oklab, hsl(var(--muted-foreground)) 80%, transparent)}}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_10px_30px_hsl\(var\(--primary\)\/0\.16\)\]{--tw-shadow:0 10px 30px var(--tw-shadow-color,hsl(var(--primary)/.16));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--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)}.inset-ring{--tw-inset-ring-shadow:inset 0 0 0 1px var(--tw-inset-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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);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,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--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,)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-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,)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%);-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,)}.backdrop-invert{--tw-backdrop-invert:invert(100%);-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,)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%);-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,)}.backdrop-filter{-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,)}.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))}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.ring-inset{--tw-ring-inset:inset}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}@media (hover:hover){.hover\:bg-card\/60:hover{background-color:hsl(var(--card))}@supports (color:color-mix(in lab, red, red)){.hover\:bg-card\/60:hover{background-color:color-mix(in oklab, hsl(var(--card)) 60%, transparent)}}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, hsl(var(--destructive)) 90%, transparent)}}.hover\:bg-muted:hover,.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab, hsl(var(--muted)) 50%, transparent)}}.hover\:bg-muted\/88:hover{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/88:hover{background-color:color-mix(in oklab, hsl(var(--muted)) 88%, transparent)}}.hover\:bg-primary\/92:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/92:hover{background-color:color-mix(in oklab, hsl(var(--primary)) 92%, transparent)}}.hover\:bg-secondary\/82:hover{background-color:hsl(var(--secondary))}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/82:hover{background-color:color-mix(in oklab, hsl(var(--secondary)) 82%, transparent)}}.hover\:text-foreground:hover{color:hsl(var(--foreground))}}.focus\:border-ring:focus{border-color:hsl(var(--ring))}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-ring\/35:focus{--tw-ring-color:hsl(var(--ring))}@supports (color:color-mix(in lab, red, red)){.focus\:ring-ring\/35:focus{--tw-ring-color:color-mix(in oklab, hsl(var(--ring)) 35%, transparent)}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-45:disabled{opacity:.45}.disabled\:opacity-50:disabled{opacity:.5}@media (width>=40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-\[1fr_1fr\]{grid-template-columns:1fr 1fr}.sm\:grid-cols-\[1fr_220px\]{grid-template-columns:1fr 220px}.sm\:flex-row{flex-direction:row}}@media (width>=48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.md\:justify-end{justify-content:flex-end}}@media (width>=64rem){.lg\:grid-cols-\[1fr_18rem\]{grid-template-columns:1fr 18rem}}@media (width>=80rem){.xl\:col-span-2{grid-column:span 2/span 2}.xl\:col-span-3{grid-column:span 3/span 3}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:grid-cols-\[0\.8fr_1\.2fr\]{grid-template-columns:.8fr 1.2fr}.xl\:grid-cols-\[0\.9fr_1\.1fr\]{grid-template-columns:.9fr 1.1fr}.xl\:grid-cols-\[0\.75fr_1\.25fr\]{grid-template-columns:.75fr 1.25fr}.xl\:grid-cols-\[1\.1fr_0\.9fr\]{grid-template-columns:1.1fr .9fr}.xl\:grid-cols-\[1\.2fr_0\.8fr\]{grid-template-columns:1.2fr .8fr}.xl\:grid-cols-\[1fr_1fr\]{grid-template-columns:1fr 1fr}.xl\:grid-cols-\[1fr_220px_180px_170px\]{grid-template-columns:1fr 220px 180px 170px}}}.react-flow{direction:ltr}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1px;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab;position:absolute}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:-webkit-grab;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background:#1a192b;border:1px solid #fff;border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-top{top:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{top:50%;right:-4px;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{background:#ffffff80;margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{color:#222;text-align:center;background-color:#fff;border:1px solid #1a192b;border-radius:3px;width:150px;padding:10px;font-size:12px}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{box-sizing:content-box;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fefefe;border:none;border-bottom:1px solid #eee;justify-content:center;align-items:center;width:16px;height:16px;padding:5px;display:flex}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;width:4px;height:4px;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:22 18% 5.5%;--bg-elevated:24 16% 8%;--fg:36 18% 94%;--fg-muted:30 12% 68%;--brain-core:38 72% 68%;--brain-halo:38 65% 78%;--memory:168 52% 62%;--knowledge:200 48% 70%;--connection:280 42% 72%;--map:32 38% 74%;--surface:24 14% 9%;--surface-glass:24 14% 9% / .82;--border:28 12% 22%;--accent:38 72% 68%;--destructive:12 62% 58%;--ring:38 72% 68%}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:36 28% 96%;--bg-elevated:36 26% 98%;--fg:24 16% 11%;--fg-muted:28 10% 42%;--brain-core:32 58% 46%;--brain-halo:32 52% 58%;--memory:170 48% 42%;--knowledge:205 42% 48%;--connection:275 38% 52%;--map:30 36% 52%;--surface:36 22% 96%;--surface-glass:36 22% 96% / .9;--border:28 14% 78%;--accent:32 58% 46%;--destructive:10 58% 48%;--ring:32 58% 46%}*{box-sizing:border-box}html{background:hsl(var(--background))}body{background:hsl(var(--background));min-width:320px;color:hsl(var(--foreground));letter-spacing:0;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body::selection{background:hsl(var(--primary) / .28)}button,input,textarea,select{font:inherit}button{touch-action:manipulation}.app-backdrop{isolation:isolate;background:linear-gradient(135deg, #101413 0%, #14161a 48%, #181519 100%), repeating-linear-gradient(90deg, hsl(var(--border) / .16) 0 1px, transparent 1px 56px);position:relative;overflow-x:hidden}:root[data-theme=light] .app-backdrop{background:linear-gradient(135deg, #f3f6f6 0%, #edf0f2 52%, #f6f3f6 100%), repeating-linear-gradient(90deg, hsl(var(--border) / .24) 0 1px, transparent 1px 56px)}.ambient-brain{pointer-events:none;z-index:-1;opacity:.64;position:fixed;inset:0;overflow:hidden}.ambient-brain:before{content:"";background-image:linear-gradient(hsl(var(--border) / .14) 1px, transparent 1px), linear-gradient(90deg, hsl(var(--border) / .14) 1px, transparent 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 72%);mask-image:linear-gradient(#000,#0000 72%)}.signal-line,.signal-tile{border:1px solid hsl(var(--border) / .5);background:hsl(var(--card) / .42);display:block;position:absolute}.signal-line{transform-origin:0;height:1px}.signal-line-a{width:42rem;top:22%;left:8%;transform:rotate(11deg)}.signal-line-b{width:52rem;top:42%;right:-8%;transform:rotate(-15deg)}.signal-line-c{width:46rem;bottom:18%;left:18%;transform:rotate(-8deg)}.signal-tile{border-radius:8px;width:5.5rem;height:3.25rem}.signal-tile-a{border-color:hsl(var(--primary) / .45);top:16%;left:12%}.signal-tile-b{border-color:hsl(var(--act) / .42);top:34%;right:14%}.signal-tile-c{border-color:hsl(var(--library) / .42);bottom:12%;left:48%}.premium-surface{border:1px solid hsl(var(--border) / .78);background:linear-gradient(180deg, hsl(var(--card) / .94), hsl(var(--card) / .82)), linear-gradient(90deg, hsl(var(--primary) / .08), transparent 36%, hsl(var(--library) / .06));box-shadow:0 18px 52px #0608094d}:root[data-theme=light] .premium-surface{box-shadow:0 18px 48px #75929f29}.product-flow-shell{isolation:isolate;background:linear-gradient(135deg, #0d1111 0%, #111418 52%, #141217 100%), repeating-linear-gradient(90deg, hsl(var(--border) / .12) 0 1px, transparent 1px 54px);place-items:center;min-height:100vh;padding:clamp(1rem,3vw,2rem);display:grid;position:relative;overflow:hidden}.product-flow-shell:before{content:"";z-index:-2;background-image:linear-gradient(hsl(var(--border) / .12) 1px, transparent 1px), linear-gradient(90deg, hsl(var(--border) / .12) 1px, transparent 1px);background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 74%);mask-image:linear-gradient(#000,#0000 74%)}.product-flow-orbit{z-index:-1;border:1px solid hsl(var(--primary) / .16);border-radius:48%;position:absolute;inset:12% 18%;transform:rotate(-8deg)}.product-flow-orbit:before,.product-flow-orbit:after{content:"";border:1px solid hsl(var(--ask) / .14);border-radius:46%;position:absolute;inset:12%;transform:rotate(18deg)}.product-flow-orbit:after{border-color:hsl(var(--library) / .16);inset:24%;transform:rotate(-28deg)}.login-screen{justify-items:center;gap:1rem;width:min(100%,28rem);display:grid}.login-mark{border:1px solid hsl(var(--primary) / .46);background:hsl(var(--card) / .72);width:3rem;height:3rem;color:hsl(var(--primary));box-shadow:0 0 42px hsl(var(--primary) / .18);border-radius:999px;place-items:center;display:grid}.login-card,.flow-panel{border:1px solid hsl(var(--border) / .72);background:linear-gradient(180deg, hsl(var(--card) / .94), hsl(var(--card) / .82)), linear-gradient(90deg, hsl(var(--primary) / .08), transparent 45%, hsl(var(--ask) / .06));border-radius:8px;width:min(100%,58rem);box-shadow:0 28px 80px #06080975}.login-card{gap:1.4rem;padding:clamp(1.2rem,4vw,2rem);display:grid}.login-kicker,.flow-kicker{color:hsl(var(--primary));text-transform:uppercase;align-items:center;gap:.45rem;font-size:.76rem;font-weight:790;display:inline-flex}.login-card h1,.flow-panel h1,.install-hero h1{letter-spacing:0;margin:.35rem 0 0;font-size:clamp(2.15rem,6vw,4.4rem);font-weight:830;line-height:.96}.login-card p,.flow-panel p,.install-hero p{color:hsl(var(--muted-foreground));margin:.72rem 0 0;line-height:1.6}.login-form{gap:.82rem;display:grid}.login-form label{gap:.35rem;display:grid}.login-form label span{color:hsl(var(--muted-foreground));text-transform:uppercase;font-size:.78rem;font-weight:760}.login-submit{width:100%;margin-top:.4rem}.flow-panel{gap:1.2rem;padding:clamp(1rem,3vw,1.6rem);display:grid}.flow-panel-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.analysis-grid,.model-recommendation-list,.install-steps{gap:.75rem;display:grid}.analysis-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.analysis-fact,.recommendation-callout,.install-progress,.install-step,.model-recommendation-card{border:1px solid hsl(var(--border) / .72);background:hsl(var(--background) / .5);border-radius:8px}.analysis-fact{min-height:8rem;padding:.95rem}.analysis-fact span,.analysis-fact small{color:hsl(var(--muted-foreground));display:block}.analysis-fact span{text-transform:uppercase;font-size:.76rem;font-weight:780}.analysis-fact strong{margin-top:.7rem;font-size:1.2rem;line-height:1.14;display:block}.analysis-fact small{margin-top:.48rem;line-height:1.5}.recommendation-callout{align-items:center;gap:.82rem;padding:.9rem;display:flex}.recommendation-callout svg{color:hsl(var(--primary));flex:none}.recommendation-callout strong,.recommendation-callout span{display:block}.recommendation-callout span{color:hsl(var(--muted-foreground));margin-top:.22rem;font-size:.9rem}.model-recommendation-list{grid-template-columns:repeat(3,minmax(0,1fr))}.model-recommendation-card{text-align:left;align-content:space-between;gap:1rem;min-height:16rem;padding:1rem;transition:border-color .16s,transform .16s,background .16s;display:grid}.model-recommendation-card:hover:not(:disabled),.model-recommendation-card:focus-visible{border-color:hsl(var(--primary) / .72);background:hsl(var(--primary) / .1);transform:translateY(-2px)}.model-recommendation-card:disabled{cursor:not-allowed;opacity:.6}.model-rank{color:hsl(var(--primary));text-transform:uppercase;font-size:.76rem;font-weight:800}.model-recommendation-card strong{font-size:clamp(1.45rem,3vw,2.2rem);line-height:1.02;display:block}.model-recommendation-card small{color:hsl(var(--muted-foreground));margin-top:.62rem;line-height:1.5;display:block}.install-hero{grid-template-columns:minmax(14rem,.7fr) minmax(0,1fr);align-items:center;gap:1.1rem;display:grid}.install-hero .living-brain{min-height:20rem}.install-steps{grid-template-columns:repeat(4,minmax(0,1fr))}.install-step{min-height:3.35rem;color:hsl(var(--muted-foreground));align-items:center;gap:.55rem;padding:.8rem;font-weight:760;display:flex}.install-step.is-active{border-color:hsl(var(--primary) / .66);color:hsl(var(--foreground))}.install-step.is-done{border-color:hsl(var(--primary) / .54);background:hsl(var(--primary) / .12);color:hsl(var(--foreground))}.install-step.is-error{border-color:hsl(var(--destructive) / .62);color:hsl(var(--destructive))}.install-progress{padding:.9rem}.install-progress>div:first-child,.flow-actions{justify-content:space-between;align-items:center;gap:1rem;display:flex}.install-progress span,.flow-actions span{color:hsl(var(--muted-foreground));font-size:.9rem}.install-bar{background:hsl(var(--muted));border-radius:999px;height:.62rem;margin-top:.75rem;overflow:hidden}.install-bar span{border-radius:inherit;background:linear-gradient(90deg, hsl(var(--primary)), hsl(var(--ask)));height:100%;transition:width .22s;display:block}.flow-actions.split{justify-content:space-between}.flow-error{border:1px solid hsl(var(--destructive) / .42);background:hsl(var(--destructive) / .12);color:hsl(var(--foreground));border-radius:8px;padding:.82rem;line-height:1.5}.app-chrome{z-index:40;border-bottom:1px solid hsl(var(--border) / .72);background:hsl(var(--background) / .78);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);grid-template-columns:minmax(13rem,1fr) auto minmax(13rem,1fr);align-items:center;gap:1rem;min-height:5rem;padding:.85rem 1.15rem;display:grid;position:sticky;top:0}.brand-lockup,.chrome-actions,.ribbon-meta,.arrival-actions,.journey-head,.command-search{align-items:center;display:flex}.brand-lockup{gap:.75rem;min-width:0}.brand-mark,.mobile-menu{border:1px solid hsl(var(--border));background:hsl(var(--card) / .76);color:hsl(var(--foreground));place-items:center;display:grid}.brand-mark{width:2.75rem;height:2.75rem;color:hsl(var(--primary));border-radius:8px}.mobile-menu{border-radius:7px;width:2.5rem;height:2.5rem}.brand-name{font-size:1rem;font-weight:780;line-height:1.1}.brand-subtitle{color:hsl(var(--muted-foreground));text-transform:uppercase;margin-top:.15rem;font-size:.72rem;font-weight:650}.primary-dock{border:1px solid hsl(var(--border) / .78);background:hsl(var(--card) / .66);border-radius:8px;align-items:center;gap:.35rem;max-width:100%;padding:.3rem;display:flex}.dock-button{min-width:5.25rem;min-height:2.35rem;color:hsl(var(--muted-foreground));border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:.45rem;padding:0 .72rem;font-size:.86rem;font-weight:720;transition:background .16s,color .16s,border-color .16s;display:inline-flex}.dock-button:hover,.dock-button.is-active{border-color:hsl(var(--border));background:hsl(var(--background) / .72);color:hsl(var(--foreground))}.dock-button.is-active svg{color:hsl(var(--primary))}.chrome-actions{justify-content:flex-end;gap:.5rem}.status-chip,.meta-card{border:1px solid hsl(var(--border));background:hsl(var(--card) / .7);max-width:100%;min-height:2.5rem;color:hsl(var(--foreground));border-radius:7px;align-items:center;gap:.45rem;padding:0 .8rem;font-size:.84rem;font-weight:700;display:inline-flex}.status-light{background:hsl(var(--act));border-radius:999px;width:.55rem;height:.55rem}.status-light.is-ready{background:hsl(var(--primary))}.status-light.is-waiting{background:hsl(var(--act))}.page-shell{width:min(100% - 2rem,1440px);margin-inline:auto;padding:1.25rem 0 4rem}.workspace-ribbon{border:1px solid hsl(var(--border) / .62);background:hsl(var(--background) / .54);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem;margin-bottom:1rem;padding:1rem;display:grid}.workspace-ribbon h1{max-width:52rem;margin:.35rem 0 0;font-size:1.55rem;font-weight:780;line-height:1.18}.ribbon-kicker,.page-kicker{color:hsl(var(--primary));text-transform:uppercase;align-items:center;gap:.45rem;font-size:.78rem;font-weight:760;display:inline-flex}.ribbon-meta{flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.mode-switch{border:1px solid hsl(var(--border));background:hsl(var(--card) / .72);border-radius:8px;gap:.25rem;min-height:2.5rem;padding:.22rem;display:inline-flex}.mode-switch button{min-width:3.5rem;color:hsl(var(--muted-foreground));border-radius:6px;padding:0 .65rem;font-size:.8rem;font-weight:760}.mode-switch button.is-active{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.arrival-panel{border:1px solid hsl(var(--border) / .78);background:linear-gradient(135deg, hsl(var(--card) / .94), hsl(var(--card) / .76)), linear-gradient(90deg, hsl(var(--primary) / .12), transparent 42%, hsl(var(--act) / .08));border-radius:8px;grid-template-columns:minmax(0,.86fr) minmax(22rem,1.14fr);gap:1rem;margin-bottom:1.25rem;display:grid;box-shadow:0 18px 52px #06080942}.arrival-copy{padding:1.35rem}.arrival-copy h2{max-width:36rem;margin:.7rem 0 0;font-size:2.25rem;font-weight:800;line-height:1.02}.arrival-copy p{max-width:39rem;color:hsl(var(--muted-foreground));margin:.85rem 0 0;font-size:.98rem;line-height:1.65}.arrival-actions{flex-wrap:wrap;gap:.5rem;margin-top:1.15rem}.journey-panel{border:1px solid hsl(var(--border) / .72);background:hsl(var(--background) / .5);border-radius:8px;margin:.55rem;padding:.8rem}.journey-head{justify-content:space-between;gap:1rem}.journey-progress{background:hsl(var(--muted));border-radius:999px;height:.42rem;margin:.8rem 0;overflow:hidden}.journey-progress span{border-radius:inherit;background:linear-gradient(90deg, hsl(var(--primary)), hsl(var(--act)));height:100%;display:block}.journey-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.journey-step{border:1px solid hsl(var(--border) / .72);background:hsl(var(--card) / .56);text-align:left;border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;min-height:4rem;padding:.65rem;display:grid}.journey-step:hover{background:hsl(var(--muted) / .62)}.journey-icon,.command-icon{background:hsl(var(--primary) / .14);width:2rem;height:2rem;color:hsl(var(--primary));border-radius:7px;place-items:center;display:grid}.command-scrim,.mobile-drawer{z-index:60;position:fixed;inset:0}.command-scrim{background:hsl(var(--background) / .78);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:1rem}.command-panel{border:1px solid hsl(var(--border));background:hsl(var(--card) / .96);border-radius:8px;width:min(100%,42rem);margin:4.5rem auto 0;overflow:hidden;box-shadow:0 24px 70px #06080957}.command-search{border-bottom:1px solid hsl(var(--border));gap:.5rem;padding:.65rem}.command-list{max-height:25rem;padding:.45rem;overflow:auto}.command-row{text-align:left;border-radius:7px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;width:100%;min-height:3.5rem;padding:.6rem;display:grid}.command-row:hover{background:hsl(var(--muted) / .62)}.drawer-scrim{background:hsl(var(--background) / .72);position:absolute;inset:0}.drawer-panel{border-right:1px solid hsl(var(--border));background:hsl(var(--card) / .98);width:min(22rem,100vw - 2rem);height:100%;padding:1rem;position:relative;box-shadow:18px 0 48px #06080957}.drawer-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;display:flex}html,body,#root{height:100%}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:ui-sans-serif,system-ui,-apple-system,SF Pro Text,Inter,sans-serif}.brain-space{background:radial-gradient(120% 80% at 50% 20%, hsl(var(--bg-elevated)) 0%, hsl(var(--bg)) 55%);flex-direction:column;min-height:100vh;display:flex;position:relative;overflow:hidden}.brain-field{z-index:0;pointer-events:none;background:radial-gradient(circle at 30% 25%, hsl(var(--brain-core) / .035) 0%, transparent 55%), radial-gradient(circle at 72% 68%, hsl(var(--memory) / .03) 0%, transparent 60%);transition:opacity 1.2s;position:fixed;inset:0}.brain-presence{z-index:2;flex-direction:column;flex:none;justify-content:center;align-items:center;padding:2.25rem 1.5rem 1.5rem;display:flex;position:relative}.brain-presence.large{padding-top:2.75rem;padding-bottom:1.25rem}.brain-organism{width:clamp(220px,28vw,320px);height:clamp(220px,28vw,320px);color:inherit;cursor:pointer;will-change:transform, filter;background:0 0;border:0;place-items:center;padding:0;transition:transform .6s cubic-bezier(.23,1,.32,1),filter .4s;display:grid;position:relative}.brain-organism:focus-visible{outline:2px solid hsl(var(--brain-core) / .78);outline-offset:.5rem;border-radius:34% 44% 44% 34%}.brain-organism[data-state=listening]{filter:brightness(1.06)saturate(1.08);transform:scale(1.015)}.brain-organism[data-state=thinking]{filter:brightness(.96)saturate(.92);transform:scale(.985)}.brain-organism[data-state=recalling]{filter:brightness(1.12)saturate(1.15)}.brain-organism[data-state=synthesizing]{transform:scale(1.01)}.brain-organism[data-state=planning]{filter:saturate(1.12)hue-rotate(8deg)}.brain-organism[data-state=acting]{filter:brightness(1.08)saturate(1.22)}.brain-core{background:radial-gradient(55% 50% at 38% 34%, hsl(var(--brain-halo) / .38), transparent 70%), radial-gradient(58% 54% at 68% 44%, hsl(var(--connection) / .16), transparent 74%);box-shadow:0 0 72px hsl(var(--brain-core) / .28), 0 16px 44px #09070680;border-radius:42% 47% 38% 42%;place-items:center;transition:all .52s cubic-bezier(.23,1,.32,1);display:grid;position:absolute;inset:7% 2% 2%}.brain-anatomy{z-index:2;filter:drop-shadow(0 18px 30px #020d1275);width:100%;height:100%;position:relative;overflow:visible}.brain-lobe,.brain-bridge,.brain-stem{transform-origin:50%;fill:hsl(var(--brain-core) / .24);stroke:hsl(var(--brain-core) / .82);stroke-linejoin:round;stroke-width:3px;animation:5.8s ease-in-out infinite brain-living-breathe}.brain-lobe-right{fill:hsl(var(--connection) / .16);stroke:hsl(var(--connection) / .7);animation-delay:-1.4s}.brain-bridge{fill:hsl(var(--memory) / .14);stroke:hsl(var(--memory) / .52);stroke-width:2px}.brain-stem{fill:hsl(var(--knowledge) / .14);stroke:hsl(var(--knowledge) / .54);stroke-width:2.5px}.brain-fold{fill:none;stroke:hsl(var(--fg) / .52);stroke-linecap:round;stroke-width:4.2px;stroke-dasharray:16 22;opacity:.68;animation:4.8s linear infinite brain-fold-flow}.fold-b,.fold-e{stroke:hsl(var(--memory) / .76);animation-delay:-1.6s}.fold-c,.fold-f{stroke:hsl(var(--knowledge) / .72);animation-delay:-2.9s}.fold-mid{stroke:hsl(var(--brain-core) / .54);stroke-width:2.4px;stroke-dasharray:7 12;opacity:.75}.brain-aura{border:1px solid hsl(var(--brain-core) / .28);box-shadow:0 0 86px hsl(var(--brain-core) / .2), 0 0 70px hsl(var(--memory) / .08);border-radius:44% 51% 42% 46%;animation:6.4s ease-in-out infinite brain-halo-breathe;position:absolute;inset:8%}.brain-organism[data-state=thinking] .brain-aura{animation-duration:1.8s}.brain-organism[data-state=recalling] .brain-aura{animation-duration:2.8s}.brain-organism[data-state=acting] .brain-aura{animation-duration:2s}@keyframes brain-halo-breathe{0%,to{opacity:.65;transform:scale(1)}50%{opacity:.95;transform:scale(1.035)}}@keyframes brain-living-breathe{0%,to{transform:scale(.992)}50%{transform:scale(1.018)}}@keyframes brain-fold-flow{0%{stroke-dashoffset:80px}to{stroke-dashoffset:0}}.thought-activity{pointer-events:none;border-radius:999px;position:absolute;inset:12%;overflow:hidden}.thought-particle{background:hsl(var(--brain-halo) / .9);width:3px;height:3px;box-shadow:0 0 6px hsl(var(--brain-halo));opacity:0;border-radius:999px;animation:4.2s linear infinite thought-drift;position:absolute}.brain-organism[data-state=thinking] .thought-particle{opacity:.55;animation-duration:2.1s}.brain-organism[data-state=synthesizing] .thought-particle{opacity:.7}.brain-organism[data-state=planning] .thought-particle,.brain-organism[data-state=acting] .thought-particle{opacity:.78;animation-duration:1.85s}@keyframes thought-drift{0%{transform:translateY(12%)scale(.6)}40%{transform:translateY(-18%)scale(1)}to{opacity:0;transform:translateY(-42%)scale(.3)}}.memory-ripple{border:1.5px solid hsl(var(--memory) / .65);opacity:0;pointer-events:none;border-radius:999px;position:absolute;inset:22%}.brain-organism.pulse .memory-ripple{animation:1.25s ease-out forwards memory-ripple}@keyframes memory-ripple{0%{opacity:.7;transform:scale(.7)}70%{opacity:.18}to{opacity:0;transform:scale(1.65)}}.brain-presence-label{letter-spacing:.5px;text-transform:uppercase;color:hsl(var(--fg-muted));align-items:center;gap:.5rem;margin-top:1.1rem;font-size:.78rem;font-weight:600;display:inline-flex}.brain-presence-label .dot{background:hsl(var(--brain-core));width:5px;height:5px;box-shadow:0 0 0 3px hsl(var(--brain-core) / .18);border-radius:999px;animation:2.8s ease-in-out infinite presence-dot}.brain-presence-label[data-state=thinking] .dot{background:hsl(var(--memory));animation-duration:1.1s}.brain-conversation{z-index:3;flex-direction:column;flex:auto;width:100%;max-width:780px;margin:0 auto;padding:0 1.25rem 1.75rem;display:flex;position:relative}.brain-conversation-header{color:hsl(var(--fg-muted));letter-spacing:.4px;text-transform:uppercase;justify-content:space-between;align-items:center;gap:.75rem;padding-bottom:.65rem;font-size:.75rem;display:flex}.brain-ownership-strip{flex:auto;justify-content:center;gap:.45rem;min-width:0;display:flex}.brain-ownership-strip span{border:1px solid hsl(var(--border) / .58);background:hsl(var(--surface-glass));color:hsl(var(--fg-muted));white-space:nowrap;border-radius:999px;padding:.28rem .58rem;font-size:.62rem;font-weight:780}.brain-admin-link{border:1px solid hsl(var(--border) / .58);background:hsl(var(--surface-glass));min-height:2rem;color:hsl(var(--fg-muted));letter-spacing:0;text-transform:none;border-radius:999px;align-items:center;gap:.35rem;padding:0 .62rem;font-size:.68rem;font-weight:820;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.brain-admin-link:hover,.brain-admin-link:focus-visible{border-color:hsl(var(--brain-core) / .72);background:hsl(var(--brain-core) / .08);color:hsl(var(--fg));outline:none}.language-switcher{border:1px solid hsl(var(--border) / .58);background:hsl(var(--surface-glass));border-radius:999px;align-items:center;gap:.25rem;padding:.18rem;display:inline-flex}.language-switcher button{min-height:1.65rem;color:hsl(var(--fg-muted));letter-spacing:0;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 .56rem;font-size:.68rem;font-weight:820}.language-switcher button.is-active{background:hsl(var(--brain-core) / .14);color:hsl(var(--fg))}.language-switcher.compact{flex:none}.brain-stream{scroll-behavior:smooth;flex:auto;padding:1rem .25rem 1.5rem;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 6% 92%,#0000);mask-image:linear-gradient(#0000,#000 6% 92%,#0000)}.brain-overview-panel{border:1px solid hsl(var(--border) / .58);background:hsl(var(--surface-glass));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:8px;margin:0 0 1rem;padding:.8rem;box-shadow:0 14px 34px #05080a29}.brain-overview-head{justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.72rem;display:flex}.brain-overview-head span{color:hsl(var(--fg-muted));font-size:.68rem;font-weight:820;display:block}.brain-overview-head strong{margin-top:.14rem;font-size:.94rem;display:block}.brain-overview-head button{border:1px solid hsl(var(--brain-core) / .38);background:hsl(var(--brain-core) / .08);min-height:2rem;color:hsl(var(--fg));border-radius:999px;padding:0 .75rem;font-size:.78rem;font-weight:760}.brain-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.62rem;display:grid}.brain-overview-column{border:1px solid hsl(var(--border) / .5);background:hsl(var(--bg) / .38);min-height:6.4rem;color:hsl(var(--fg));text-align:left;border-radius:8px;align-content:start;gap:.34rem;padding:.66rem;transition:border-color .15s,background .15s;display:grid}.brain-overview-column:hover,.brain-overview-column:focus-visible{border-color:hsl(var(--brain-core) / .65);background:hsl(var(--brain-core) / .07);outline:none}.brain-overview-column span{color:hsl(var(--fg-muted));font-size:.68rem;font-weight:820}.brain-overview-column strong{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;line-height:1.2;display:block;overflow:hidden}.brain-overview-column em{color:hsl(var(--fg-muted));font-size:.8rem;font-style:normal;line-height:1.35}.brain-save-feedback{border:1px solid hsl(var(--memory) / .38);background:hsl(var(--memory) / .08);color:hsl(var(--fg));border-radius:8px;padding:.58rem .72rem;font-size:.84rem;font-weight:720}.brain-message{max-width:78%;margin-bottom:1.1rem;animation:.26s cubic-bezier(.23,1,.32,1) message-enter}.brain-message.user{text-align:right;margin-left:auto}.brain-message-bubble{white-space:pre-wrap;border-radius:18px;padding:.85rem 1.1rem;font-size:1.01rem;line-height:1.45;box-shadow:0 1px 2px #0000001f}.brain-message.user .brain-message-bubble{background:hsl(var(--brain-core) / .12);color:hsl(var(--fg));border-bottom-right-radius:6px}.brain-message.assistant .brain-message-bubble{background:hsl(var(--surface) / .96);border:1px solid hsl(var(--border) / .7);color:hsl(var(--fg));border-bottom-left-radius:6px}@keyframes message-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.brain-composer{z-index:10;background:linear-gradient(180deg, transparent, hsl(var(--bg)) 36%);margin-top:auto;padding:.85rem .6rem .35rem;position:relative}.brain-composer textarea{resize:none;background:hsl(var(--surface) / .92);border:1px solid hsl(var(--border) / .8);width:100%;min-height:3.4rem;max-height:9.5rem;color:hsl(var(--fg));border-radius:16px;outline:none;padding:.95rem 1.15rem;font-size:1.02rem;line-height:1.4;transition:border-color .16s,box-shadow .16s}.brain-composer textarea:focus{border-color:hsl(var(--brain-core) / .6);box-shadow:0 0 0 3px hsl(var(--brain-core) / .08)}.brain-composer-actions{align-items:center;gap:.6rem;margin-top:.55rem;padding:0 .35rem;display:flex}.depths{z-index:40;background:hsl(var(--surface-glass));border:1px solid hsl(var(--border) / .6);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:999px;gap:.35rem;padding:.25rem;display:flex;position:fixed;bottom:1.35rem;left:50%;transform:translate(-50%)}.depth{letter-spacing:.2px;color:hsl(var(--fg-muted));cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:.4rem;padding:.38rem .95rem;font-size:.78rem;transition:all .16s;display:inline-flex}.depth:hover{color:hsl(var(--fg));background:hsl(var(--bg) / .6)}.depth.active{color:hsl(var(--fg));background:hsl(var(--brain-core) / .11)}.mind-chamber{z-index:50;background:hsl(var(--bg));flex-direction:column;animation:.42s cubic-bezier(.23,1,.32,1) chamber-enter;display:flex;position:fixed;inset:0;overflow:hidden}@keyframes chamber-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.chamber-head{border-bottom:1px solid hsl(var(--border) / .5);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.35rem 2rem .9rem;display:flex}.chamber-head .brain-trace{opacity:.6;width:38px;height:38px}.chamber-title{letter-spacing:-.1px;font-size:1.05rem;font-weight:620}.chamber-body{flex:auto;width:100%;max-width:1080px;margin:0 auto;padding:1.75rem 2rem 3.5rem;overflow-y:auto}.mind-map-frame{border:1px solid hsl(var(--border) / .55);background:hsl(var(--bg-elevated));border-radius:18px;height:calc(100vh - 9.5rem);position:relative;overflow:hidden;box-shadow:inset 0 0 120px #00000059}.brain-exploration{flex:1;justify-content:center;align-items:center;min-height:320px;transition:all .6s cubic-bezier(.23,1,.32,1);display:flex;position:relative}.brain-field-layer{pointer-events:none;z-index:1;position:absolute;inset:0}.memory-orb,.knowledge-node{background:hsl(var(--memory) / .85);color:hsl(var(--bg));white-space:nowrap;text-overflow:ellipsis;cursor:pointer;pointer-events:auto;transform-origin:50%;border-radius:999px;max-width:160px;padding:.25rem .6rem;font-size:.7rem;transition:transform .2s,opacity .4s,background .2s;position:absolute;overflow:hidden;box-shadow:0 2px 8px #0000004d}.memory-orb{background:hsl(var(--memory));padding:.2rem .5rem;font-size:.65rem}.knowledge-node{background:hsl(var(--knowledge) / .9);border-radius:8px;font-size:.72rem}.brain-exploration[data-depth="2"] .memory-orb,.brain-exploration[data-depth="3"] .memory-orb{animation:.8s forwards emerge-from-brain}.brain-exploration[data-depth="3"] .knowledge-node,.brain-exploration[data-depth="4"] .knowledge-node{animation:.9s forwards emerge-from-brain}@keyframes emerge-from-brain{0%{opacity:0;transform:scale(.2)translateY(40px)}to{opacity:1;transform:scale(1)translateY(0)}}.relationship-edge{background:linear-gradient(90deg, transparent, hsl(var(--connection) / .6), transparent);pointer-events:none;z-index:0;height:1px;transition:opacity .4s;position:absolute}.brain-exploration[data-depth="0"] .brain-field-layer>*{opacity:0;pointer-events:none}.brain-exploration[data-depth="1"] .memory-orb{opacity:.9}.brain-exploration[data-depth="2"] .memory-orb{opacity:1}.brain-exploration[data-depth="3"] .knowledge-node{opacity:.95}.brain-exploration[data-depth="4"] .relationship-edge{opacity:.7}.brain-exploration[data-depth="5"] .mind-core-graph{opacity:1;pointer-events:auto}.mind-core-graph{background:hsl(var(--bg) / .6);border:1px solid hsl(var(--brain-core) / .3);opacity:0;z-index:2;border-radius:50%;transition:opacity .5s;position:absolute;inset:8%;overflow:hidden}.brain-surface-control{z-index:10;background:hsl(var(--surface-glass));border:1px solid hsl(var(--border) / .6);cursor:pointer;opacity:.7;border-radius:999px;padding:.25rem .6rem;font-size:.7rem;transition:opacity .15s;position:absolute;top:1rem;right:1rem}.brain-surface-control:hover{opacity:1}.brain-depth-indicator{letter-spacing:1px;text-transform:uppercase;color:hsl(var(--fg-muted));white-space:nowrap;font-size:.65rem;position:absolute;bottom:-1.6rem;left:50%;transform:translate(-50%)}.brain-organism.depth-1 .thought-particle{opacity:.7}.brain-organism.depth-3 .thought-particle.resolving,.brain-organism.depth-4 .thought-particle.resolving,.brain-organism.depth-5 .thought-particle.resolving{background:hsl(var(--knowledge));box-shadow:0 0 4px hsl(var(--knowledge));animation-duration:1.8s}.brain-inner-structure{opacity:.45;transition:opacity .4s;position:absolute;inset:22%}.brain-exploration.is-exploring .brain-inner-structure{opacity:.75}.brain-surface-control{z-index:10;background:hsl(var(--surface-glass));border:1px solid hsl(var(--border) / .55);cursor:pointer;color:hsl(var(--fg-muted));border-radius:999px;padding:.2rem .55rem;font-size:.68rem;transition:all .15s;position:absolute;top:.6rem;right:.6rem}.brain-surface-control:hover{color:hsl(var(--fg));border-color:hsl(var(--brain-core) / .4)}.mind-map-frame:before{content:"The architecture of your mind";letter-spacing:1.5px;text-transform:uppercase;color:hsl(var(--fg-muted) / .7);z-index:2;pointer-events:none;font-size:.72rem;position:absolute;top:1.1rem;left:1.35rem}.mind-map-frame .brain-trace{z-index:2;opacity:.5;position:absolute;top:1rem;right:1.25rem}.brain-trace{background:radial-gradient(circle at 40% 32%, hsl(var(--brain-halo)), hsl(var(--brain-core)));width:42px;height:42px;box-shadow:0 0 0 1px hsl(var(--brain-core) / .3), 0 0 18px hsl(var(--brain-core) / .25);color:hsl(var(--bg));letter-spacing:.5px;border-radius:999px;place-items:center;font-size:10px;font-weight:700;display:grid}.brain-home{z-index:1;flex-direction:column;min-height:100vh;display:flex;position:relative}.brain-organism{z-index:3}.brain-exploration{width:min(100%,58rem);margin-inline:auto}.brain-exploration[data-depth="1"] .brain-field-layer{pointer-events:none}.brain-exploration[data-depth="2"] .brain-field-layer,.brain-exploration[data-depth="3"] .brain-field-layer,.brain-exploration[data-depth="4"] .brain-field-layer,.brain-exploration[data-depth="5"] .brain-field-layer{z-index:4;pointer-events:none}.brain-exploration[data-depth="5"]{width:min(100vw - 2rem,980px);min-height:min(62vh,570px)}.brain-exploration[data-depth="5"] .brain-field-layer{z-index:7}.brain-exploration[data-depth="5"] .brain-organism{opacity:.2;pointer-events:none}.brain-depth-badge{z-index:5;border:1px solid hsl(var(--border) / .58);background:hsl(var(--surface-glass));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:999px;justify-items:center;gap:.18rem;min-width:11rem;padding:.48rem .95rem;display:grid;position:absolute;bottom:.2rem;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #05080a38}.brain-depth-badge span{color:hsl(var(--fg-muted));text-transform:uppercase;font-size:.62rem;font-weight:800}.brain-depth-badge strong{font-size:.88rem;line-height:1.05}.brain-depth-actions{z-index:6;border:1px solid hsl(var(--border) / .52);background:hsl(var(--surface-glass));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:999px;gap:.35rem;max-width:min(94vw,31rem);padding:.32rem;display:flex;position:absolute;bottom:4.15rem;left:50%;transform:translate(-50%);box-shadow:0 14px 38px #05080a38}.brain-depth-actions button{min-height:2rem;color:hsl(var(--fg-muted));white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:0 .68rem;font-size:.78rem;font-weight:760}.brain-depth-actions button:hover,.brain-depth-actions button:focus-visible,.brain-depth-actions button.is-active{background:hsl(var(--brain-core) / .12);color:hsl(var(--fg));outline:none}.memory-fragment,.concept-signal,.graph-node{left:var(--x,50%);top:var(--y,50%);z-index:4;border:1px solid hsl(var(--border) / .72);background:hsl(var(--surface-glass));color:hsl(var(--fg));text-align:left;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:.68s cubic-bezier(.23,1,.32,1) both emerge-from-brain;animation-delay:var(--delay,0s);position:absolute;transform:translate(-50%,-50%)}.memory-fragment{border-color:hsl(var(--memory) / .38);min-width:8.2rem;max-width:12.5rem;box-shadow:0 0 0 1px hsl(var(--memory) / .08) inset, 0 14px 32px #05090a3d;border-radius:8px;gap:.12rem;padding:.58rem .7rem;display:grid}.memory-fragment span,.concept-signal span,.graph-node span,.brain-graph-head span,.brain-graph-focus span{color:hsl(var(--fg-muted));text-transform:uppercase;font-size:.62rem;font-weight:800}.memory-fragment strong{color:hsl(var(--fg));text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;line-height:1.18;overflow:hidden}.memory-fragment:hover,.memory-fragment:focus-visible,.concept-signal:hover,.concept-signal:focus-visible,.graph-node:hover,.graph-node:focus-visible{border-color:hsl(var(--brain-core) / .66);box-shadow:0 0 0 3px hsl(var(--brain-core) / .08), 0 16px 38px #05090a47;outline:none}.memory-fragment.is-empty,.concept-signal.is-empty{pointer-events:none;color:hsl(var(--fg-muted));top:78%;left:50%}.concept-signal{border-color:hsl(var(--knowledge) / .42);max-width:11rem;color:hsl(var(--fg));white-space:nowrap;border-radius:999px;align-items:center;gap:.45rem;padding:.42rem .72rem;font-size:.78rem;display:inline-flex}.relationship-weave,.brain-graph-edges{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.relationship-weave line{stroke:hsl(var(--connection) / .55);stroke-linecap:round;stroke-width:.42px;stroke-dasharray:3 5;animation:2.8s linear infinite relationship-flow}.mind-core-graph{z-index:8;border:1px solid hsl(var(--brain-core) / .38);background:radial-gradient(42% 46% at 50% 42%, hsl(var(--brain-core) / .12), transparent 72%), linear-gradient(145deg, hsl(var(--surface) / .92), hsl(var(--bg) / .84));-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);pointer-events:auto;border-radius:8px;grid-template-rows:auto minmax(18rem,1fr) auto;gap:.75rem;padding:.8rem;display:grid;inset:0;box-shadow:0 28px 90px #05080b75}.brain-graph-head,.brain-graph-search,.brain-graph-focus{align-items:center;display:flex}.brain-graph-head{justify-content:space-between;gap:.85rem}.brain-graph-head strong{margin-top:.1rem;font-size:1.05rem;display:block}.brain-graph-search{border:1px solid hsl(var(--border) / .72);background:hsl(var(--bg) / .48);width:min(100%,15rem);min-height:2.25rem;color:hsl(var(--fg-muted));border-radius:999px;gap:.45rem;padding:0 .68rem}.brain-graph-search input{width:100%;min-width:0;color:hsl(var(--fg));background:0 0;border:0;outline:none;font-size:.86rem}.brain-graph-canvas{border:1px solid hsl(var(--border) / .45);background:radial-gradient(ellipse at center, hsl(var(--brain-core) / .09), transparent 54%), linear-gradient(hsl(var(--border) / .12) 1px, transparent 1px), linear-gradient(90deg, hsl(var(--border) / .12) 1px, transparent 1px);background-size:auto,28px 28px,28px 28px;border-radius:8px;min-height:19rem;position:relative;overflow:hidden}.brain-graph-edges line{stroke:hsl(var(--connection) / .52);stroke-linecap:round;stroke-width:calc(var(--weight,1) * .28)}.graph-node{border-color:hsl(var(--knowledge) / .4);border-radius:8px;gap:.08rem;min-width:5.3rem;max-width:8.6rem;padding:.42rem .55rem;font-size:.76rem;line-height:1.14;display:grid}.graph-node.is-selected{border-color:hsl(var(--brain-core) / .86);background:hsl(var(--brain-core) / .14)}.brain-graph-focus{border:1px solid hsl(var(--border) / .55);background:hsl(var(--bg) / .48);border-radius:8px;align-items:flex-start;gap:.72rem;min-height:4rem;padding:.72rem}.brain-graph-focus strong,.brain-graph-focus p{display:block}.brain-graph-focus strong{font-size:.95rem}.brain-graph-focus p{color:hsl(var(--fg-muted));margin:.18rem 0 0;font-size:.84rem;line-height:1.45}.brain-graph-empty{min-height:19rem;color:hsl(var(--fg-muted));place-items:center;display:grid}.brain-conversation-header h1{color:hsl(var(--fg));margin:0;font-size:1rem;line-height:1.05}.brain-conversation-header span{margin-top:.2rem;display:block}.brain-care-panel{border:1px solid hsl(var(--border) / .64);background:linear-gradient(135deg, hsl(var(--surface-glass)), hsl(var(--bg) / .68)), linear-gradient(90deg, hsl(var(--memory) / .08), transparent 45%, hsl(var(--brain-core) / .08));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:8px;display:grid;overflow:hidden;box-shadow:0 14px 36px #05080a33}.brain-care-summary{width:100%;color:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.72rem .82rem;display:flex}.brain-care-summary:hover,.brain-care-summary:focus-visible{background:hsl(var(--memory) / .07);outline:none}.brain-care-summary-main{gap:.16rem;min-width:0;display:grid}.brain-care-summary-main span,.brain-care-proof span,.brain-care-button small,.brain-care-note,.brain-care-result{color:hsl(var(--fg-muted));font-size:.72rem}.brain-care-summary-main span{text-transform:uppercase;align-items:center;gap:.36rem;font-weight:800;display:inline-flex}.brain-care-summary-main strong{color:hsl(var(--fg));text-overflow:ellipsis;white-space:nowrap;font-size:.94rem;line-height:1.16;display:block;overflow:hidden}.brain-care-proof{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.brain-care-proof span{border:1px solid hsl(var(--border) / .58);background:hsl(var(--bg) / .42);white-space:nowrap;border-radius:999px;padding:.25rem .48rem}.brain-care-toggle{color:hsl(var(--fg-muted));flex:none;transition:transform .15s}.brain-care-panel.is-expanded .brain-care-toggle{transform:rotate(180deg)}.brain-care-details{border-top:1px solid hsl(var(--border) / .5);gap:.75rem;padding:.82rem;display:grid}.brain-care-actions,.brain-care-archive,.brain-care-archive-actions{gap:.5rem;display:flex}.brain-care-actions{flex-wrap:wrap}.brain-care-button{border:1px solid hsl(var(--border) / .68);background:hsl(var(--bg) / .42);min-width:7.2rem;color:hsl(var(--fg));text-align:left;border-radius:8px;flex:7.2rem;align-items:center;gap:.52rem;padding:.58rem .62rem;transition:border-color .15s,background .15s,transform .15s;display:inline-flex}.brain-care-button:hover:not(:disabled),.brain-care-button:focus-visible{border-color:hsl(var(--memory) / .72);background:hsl(var(--memory) / .08);outline:none;transform:translateY(-1px)}.brain-care-button:disabled{cursor:not-allowed;opacity:.52}.brain-care-button svg{color:hsl(var(--memory));flex:none}.brain-care-button span{gap:.08rem;min-width:0;display:grid}.brain-care-button strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;line-height:1.12;overflow:hidden}.brain-care-button small{text-overflow:ellipsis;white-space:nowrap;line-height:1.1;overflow:hidden}.brain-care-archive{flex-wrap:wrap}.brain-care-archive input{border:1px solid hsl(var(--border) / .68);background:hsl(var(--bg) / .5);min-width:0;min-height:2.2rem;color:hsl(var(--fg));border-radius:8px;outline:none;flex:12rem;padding:0 .68rem;font-size:.82rem}.brain-care-archive input:focus{border-color:hsl(var(--brain-core) / .68);box-shadow:0 0 0 3px hsl(var(--brain-core) / .1)}.brain-care-archive-actions{flex-wrap:wrap;flex:14rem}.brain-care-archive-actions button{border-radius:8px;flex:6.6rem;min-height:2.2rem}.brain-care-note,.brain-care-result{margin:0;line-height:1.35}.brain-care-result{border:1px solid hsl(var(--border) / .58);background:hsl(var(--bg) / .38);border-radius:8px;padding:.48rem .58rem}.brain-care-result.is-ok{border-color:hsl(var(--memory) / .46);color:hsl(var(--memory))}.brain-care-result.is-error{border-color:hsl(var(--destructive) / .46);color:hsl(var(--destructive))}.admin-console{z-index:2;width:min(1180px,100vw - 2rem);margin:0 auto;padding:clamp(1rem,3vw,2.25rem) 0 3rem;position:relative}.admin-console-header{border-bottom:1px solid hsl(var(--border) / .55);align-items:flex-start;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.admin-console-header h1,.admin-panel-head h2{color:hsl(var(--fg));letter-spacing:0;margin:0}.admin-console-header h1{font-size:clamp(1.75rem,4vw,3rem);line-height:1}.admin-console-header span,.admin-panel-head span,.admin-metric span,.admin-list-row span,.admin-empty,.admin-operation span,.admin-metric small{color:hsl(var(--fg-muted))}.admin-console-header>div>span,.admin-panel-head span,.admin-metric span{text-transform:uppercase;font-size:.72rem;font-weight:850}.admin-console-header p{max-width:44rem;color:hsl(var(--fg-muted));margin:.5rem 0 0;line-height:1.45}.admin-back-button{border:1px solid hsl(var(--border) / .7);background:hsl(var(--surface-glass));min-height:2.4rem;color:hsl(var(--fg));border-radius:999px;flex:none;align-items:center;gap:.45rem;padding:0 .85rem;display:inline-flex}.admin-back-button:hover,.admin-back-button:focus-visible{border-color:hsl(var(--brain-core) / .72);outline:none}.admin-metrics,.admin-grid{gap:.85rem;display:grid}.admin-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:.85rem}.admin-metric,.admin-panel{border:1px solid hsl(var(--border) / .68);background:linear-gradient(180deg, hsl(var(--surface-glass)), hsl(var(--bg) / .68)), linear-gradient(90deg, hsl(var(--memory) / .06), transparent 42%, hsl(var(--knowledge) / .06));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:8px;box-shadow:0 18px 46px #05080a38}.admin-metric{gap:.18rem;min-height:8.2rem;padding:.9rem;display:grid}.admin-metric>div{background:hsl(var(--brain-core) / .12);width:2.1rem;height:2.1rem;color:hsl(var(--brain-core));border-radius:8px;place-items:center;display:grid}.admin-metric strong{text-overflow:ellipsis;white-space:nowrap;font-size:1.45rem;line-height:1.05;overflow:hidden}.admin-metric small{text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-panel{align-content:start;gap:.8rem;min-height:20rem;padding:.95rem;display:grid}.admin-panel-head{gap:.14rem;display:grid}.admin-panel-head h2{font-size:1.1rem}.admin-list{gap:.45rem;display:grid}.admin-log-filters{grid-template-columns:minmax(0,1fr) minmax(8.5rem,.65fr) auto;align-items:center;gap:.45rem;display:grid}.admin-log-filters label{border:1px solid hsl(var(--border) / .54);background:hsl(var(--bg) / .34);min-width:0;color:hsl(var(--fg-muted));border-radius:8px;align-items:center;gap:.4rem;padding:.44rem .52rem;display:flex}.admin-log-filters input,.admin-log-filters select{width:100%;min-width:0;color:hsl(var(--fg));font:inherit;background:0 0;border:0;outline:0;font-size:.78rem}.admin-log-filters span,.admin-retention span{color:hsl(var(--fg-muted));font-size:.76rem}.admin-list-row{border:1px solid hsl(var(--border) / .48);background:hsl(var(--bg) / .35);border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;min-height:3.15rem;padding:.58rem .65rem;display:flex}.admin-list-row strong,.admin-list-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-list-row strong{min-width:0;font-size:.88rem}.admin-list-row span{text-align:right;flex:0 45%;font-size:.74rem}.admin-empty{border:1px dashed hsl(var(--border) / .6);background:hsl(var(--bg) / .28);text-align:center;border-radius:8px;place-items:center;min-height:11rem;font-size:.86rem;display:grid}.admin-operation{border:1px solid hsl(var(--border) / .48);background:hsl(var(--bg) / .35);border-radius:8px;justify-content:space-between;align-items:center;gap:.85rem;padding:.78rem;display:flex}.admin-operation>div{gap:.16rem;min-width:0;display:grid}.admin-operation span{font-size:.8rem;line-height:1.35}.admin-policy-strip{flex-wrap:wrap;gap:.45rem;display:flex}.admin-policy-strip span{border:1px solid hsl(var(--border) / .58);background:hsl(var(--bg) / .42);color:hsl(var(--fg-muted));border-radius:999px;padding:.32rem .56rem;font-size:.74rem}.admin-retention{border:1px solid hsl(var(--border) / .48);background:hsl(var(--bg) / .35);border-radius:8px;gap:.18rem;padding:.68rem;display:grid}.admin-retention strong{color:hsl(var(--fg));font-size:.88rem}.brain-image-input{cursor:pointer;border:1px solid hsl(var(--border) / .68);color:hsl(var(--fg-muted));border-radius:999px;align-items:center;gap:.4rem;padding:.42rem .78rem;font-size:.78rem;display:inline-flex}.mind-empty-kicker{letter-spacing:1.5px;text-transform:uppercase;opacity:.52;margin-bottom:.4rem;font-size:.72rem;font-weight:800}@keyframes relationship-flow{0%{stroke-dashoffset:24px}to{stroke-dashoffset:0}}.product-flow-shell{background:radial-gradient(100% 70% at 50% 15%, hsl(var(--bg-elevated)), hsl(var(--bg)));place-items:center;min-height:100vh;padding:2.5rem 1.25rem;display:grid}.product-flow-shell .living-brain{transform:scale(.82)}.flow-ritual{text-align:center;width:min(100%,620px)}.flow-ritual h1{margin:1.1rem 0 .6rem;font-size:clamp(2.1rem,5.2vw,3.1rem);font-weight:700;line-height:1}.flow-ritual p{color:hsl(var(--fg-muted));max-width:42ch;margin:0 auto;font-size:1.01rem}.app-chrome,.primary-dock,.ambient-brain{display:none!important}.page-shell{width:100%;max-width:none;padding:0}.mind-empty{text-align:center;color:hsl(var(--fg-muted));padding:2.4rem 1rem}.mind-empty-title{max-width:34rem;color:hsl(var(--fg));margin:0 auto .5rem;font-size:1.1rem;font-weight:650;line-height:1.2}.mind-empty p{max-width:39rem;margin:0 auto;font-size:.9rem;line-height:1.45}.mind-empty-prompts{flex-wrap:wrap;justify-content:center;gap:.48rem;margin-top:1rem;display:flex}.mind-empty-prompts button{border:1px solid hsl(var(--border) / .62);background:hsl(var(--bg) / .46);max-width:100%;color:hsl(var(--fg));border-radius:999px;padding:.46rem .7rem;font-size:.78rem;line-height:1.15;transition:border-color .15s,background .15s,transform .15s}.mind-empty-prompts button:hover,.mind-empty-prompts button:focus-visible{border-color:hsl(var(--memory) / .7);background:hsl(var(--memory) / .08);outline:none;transform:translateY(-1px)}.mind-empty .icon{opacity:.5;margin-bottom:.8rem}.thinking{animation:1.6s ease-in-out infinite thinking-subtle}@keyframes thinking-subtle{0%,to{opacity:.6}50%{opacity:1}}.brain-quiet-success{color:hsl(var(--memory));align-items:center;gap:.35rem;font-size:.78rem;display:inline-flex}@media (width<=720px){.brain-presence{padding-top:1.4rem}.brain-organism{width:200px;height:200px}.brain-conversation{padding-bottom:5.5rem}.brain-conversation-header{flex-wrap:wrap}.brain-depth-actions{justify-content:flex-start;width:min(100vw - 1rem,24rem);bottom:3.55rem;overflow-x:auto}.brain-depth-actions button{flex:none}.brain-overview-grid{grid-template-columns:1fr}.brain-overview-head{flex-direction:column;align-items:flex-start}.brain-care-summary{display:grid}.brain-care-proof{justify-content:flex-start}.brain-care-button,.brain-care-archive input,.brain-care-archive-actions{flex-basis:100%}.brain-care-archive-actions button{flex-basis:calc(50% - .25rem)}.admin-console{width:min(100% - 1rem,1180px)}.admin-console-header{display:grid}.admin-metrics,.admin-grid{grid-template-columns:1fr}.admin-list-row,.admin-operation{flex-direction:column;align-items:flex-start}.admin-list-row span{text-align:left;flex-basis:auto;max-width:100%}.mind-empty{padding-inline:.4rem}.mind-empty-prompts{display:grid}.mind-empty-prompts button{text-align:left;width:100%}.ritual-promise{grid-template-columns:1fr}.brain-ownership-strip{flex-basis:100%;order:3;justify-content:flex-start;overflow-x:auto}.depths{bottom:.9rem}}.ritual-shell{background:radial-gradient(120% 80% at 50% 15%, hsl(var(--bg-elevated)), hsl(var(--bg)));justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.ritual-container{text-align:center;width:min(100%,720px)}.ritual-language{margin:0 auto 1rem}.ritual-brain{margin:0 auto 1.75rem}.ritual-title{letter-spacing:-.3px;margin-bottom:.5rem;font-size:clamp(1.85rem,5vw,2.85rem);font-weight:680;line-height:1.05}.ritual-subtitle{color:hsl(var(--fg-muted));max-width:44ch;margin:0 auto 1.5rem;font-size:1.02rem}.ritual-promise{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;max-width:680px;margin:0 auto 1.15rem;display:grid}.ritual-promise div{border:1px solid hsl(var(--border) / .54);background:hsl(var(--bg) / .42);text-align:left;border-radius:8px;padding:.72rem .78rem}.ritual-promise span{color:hsl(var(--fg-muted));text-transform:uppercase;font-size:.68rem;font-weight:800;display:block}.ritual-promise strong{color:hsl(var(--fg));margin-top:.18rem;font-size:.84rem;font-weight:620;line-height:1.25;display:block}.ritual-card{background:hsl(var(--surface-glass));border:1px solid hsl(var(--border) / .65);text-align:left;border-radius:20px;margin-bottom:1rem;padding:1.25rem 1.5rem;transition:border-color .18s,transform .18s}.ritual-card:hover{border-color:hsl(var(--brain-core) / .55);transform:translateY(-1px)}.ritual-card.selected{border-color:hsl(var(--brain-core));box-shadow:0 0 0 1px hsl(var(--brain-core) / .25)}.ritual-fact-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin:1.25rem 0;display:grid}.ritual-fact{background:hsl(var(--bg) / .6);border:1px solid hsl(var(--border) / .5);text-align:left;border-radius:14px;padding:.85rem 1rem}.ritual-fact-label{text-transform:uppercase;letter-spacing:.8px;color:hsl(var(--fg-muted));margin-bottom:.25rem;font-size:.72rem}.ritual-fact-value{color:hsl(var(--fg));font-size:1.05rem;font-weight:620}.ritual-model-card{text-align:left;cursor:pointer;border:1px solid hsl(var(--border) / .6);background:hsl(var(--surface));border-radius:18px;margin-bottom:.7rem;padding:1.15rem 1.35rem;transition:all .16s}.ritual-model-card:hover{border-color:hsl(var(--brain-core) / .5);background:hsl(var(--surface) / .95)}.ritual-model-card .role{letter-spacing:1px;text-transform:uppercase;color:hsl(var(--brain-core));margin-bottom:.3rem;font-size:.7rem}.ritual-model-card .name{font-size:1.25rem;font-weight:650}.ritual-model-card .reason{color:hsl(var(--fg-muted));margin-top:.25rem;font-size:.92rem}.ritual-progress{margin:1.5rem 0}.ritual-stage-list{text-align:left;flex-direction:column;gap:.4rem;margin:1rem 0;font-size:.95rem;display:flex}.ritual-stage{color:hsl(var(--fg-muted));border-radius:10px;align-items:center;gap:.6rem;padding:.35rem .7rem;display:flex}.ritual-stage.is-active{color:hsl(var(--fg));background:hsl(var(--brain-core) / .08)}.ritual-stage.is-done{color:hsl(var(--fg))}.ritual-bar{background:hsl(var(--border) / .6);border-radius:999px;height:6px;margin-top:.6rem;overflow:hidden}.ritual-bar>span{background:linear-gradient(90deg, hsl(var(--brain-core)), hsl(var(--memory)));height:100%;transition:width .28s;display:block}.ritual-status{color:hsl(var(--fg-muted));margin:.8rem 0;font-size:.95rem}.ritual-success{text-align:center;padding:1.5rem}.ritual-success .brain{margin-bottom:1rem}.drawer-panel .primary-dock{align-items:stretch;display:grid}.drawer-panel .dock-button{justify-content:flex-start;min-width:0}.page-hero{border:1px solid hsl(var(--border) / .74);background:linear-gradient(120deg, hsl(var(--card) / .9), hsl(var(--muted) / .44)), linear-gradient(90deg, hsl(var(--primary) / .1), transparent 56%);border-radius:8px;padding:1.35rem;position:relative;overflow:hidden}.page-title{letter-spacing:0;max-width:56rem;margin-top:.58rem;font-size:3.1rem;font-weight:810;line-height:.98}.page-copy{max-width:48rem;color:hsl(var(--muted-foreground));margin-top:.82rem;font-size:.98rem;line-height:1.62}.control-pill{border:1px solid hsl(var(--border));background:hsl(var(--card) / .72);color:hsl(var(--foreground));border-radius:999px}.brain-conversation-grid{grid-template-columns:minmax(17rem,.72fr) minmax(22rem,1fr) minmax(17rem,.72fr);gap:1rem;min-height:calc(100vh - 8rem);display:grid}.brain-presence-column{align-content:center;gap:1rem;min-width:0;display:grid}.brain-context-column{align-content:start;gap:1rem;min-width:0;display:grid}.living-brain{border:1px solid hsl(var(--border) / .76);background:linear-gradient(145deg, hsl(var(--card) / .94), #13171bd1), linear-gradient(90deg, hsl(var(--primary) / .12), transparent 40%, hsl(var(--library) / .1));border-radius:8px;position:relative;overflow:hidden;box-shadow:0 20px 60px #0608093d}:root[data-theme=light] .living-brain{background:linear-gradient(145deg, hsl(var(--card) / .96), #ecf1f3d1), linear-gradient(90deg, hsl(var(--primary) / .12), transparent 42%, hsl(var(--library) / .1))}.brain-presence-head,.brain-presence-foot,.brain-chat-head,.brain-composer-actions,.brain-side-head,.brain-conversation-item{align-items:center;display:flex}.brain-presence-head{justify-content:space-between;gap:1rem;padding:1rem 1rem 0}.brain-presence-head h2{margin:.28rem 0 0;font-size:1.35rem;font-weight:800;line-height:1.12}.brain-presence-kicker,.brain-chat-kicker{color:hsl(var(--primary));text-transform:uppercase;align-items:center;gap:.45rem;font-size:.76rem;font-weight:780;display:inline-flex}.brain-stage{place-items:center;min-height:31rem;margin:.25rem 0 .35rem;display:grid;position:relative;overflow:hidden}.brain-organ{z-index:2;aspect-ratio:11/9;filter:drop-shadow(0 22px 34px #0311117a);width:min(92%,29rem);position:relative;overflow:visible}.brain-mass{transform-origin:50%;fill:hsl(var(--primary) / .2);stroke:hsl(var(--primary) / .78);stroke-width:2.2px;filter:url(#brainGlow);animation:5.8s ease-in-out infinite brainBreathe}.brain-mass-right{fill:hsl(var(--ask) / .16);stroke:hsl(var(--ask) / .64);animation-delay:-1.2s}.thought-path{fill:none;stroke-linecap:round;stroke-dasharray:18 24;stroke-width:5px;opacity:.86;animation:4.8s linear infinite thoughtFlow}.thought-path-a,.thought-path-d{stroke:hsl(var(--primary))}.thought-path-b{stroke:hsl(var(--ask));animation-delay:-1.7s}.thought-path-c{stroke:hsl(var(--library));animation-delay:-2.8s}.memory-pulse{fill:hsl(var(--foreground));opacity:.9;transform-origin:50%;animation:2.4s ease-in-out infinite memoryPulse}.pulse-b{animation-delay:-.6s}.pulse-c{animation-delay:-1.2s}.pulse-d{animation-delay:-1.8s}.brain-halo,.brain-wave{border-radius:999px;display:block;position:absolute}.brain-halo{border:1px solid hsl(var(--primary) / .22);animation:6s ease-in-out infinite haloPulse;inset:13%}.brain-halo-b{border-color:hsl(var(--ask) / .18);animation-delay:-2.4s;inset:20%}.brain-wave{z-index:1;background:linear-gradient(90deg, transparent, hsl(var(--primary) / .72), hsl(var(--ask) / .54), transparent);opacity:.72;transform-origin:50%;height:.18rem;animation:6.5s ease-in-out infinite waveDrift}.brain-wave-a{width:70%;top:27%;transform:rotate(14deg)}.brain-wave-b{width:82%;animation-delay:-2.1s;top:55%;transform:rotate(-10deg)}.brain-wave-c{width:58%;animation-delay:-4.2s;top:71%;transform:rotate(7deg)}.brain-state-pill{z-index:3;border:1px solid hsl(var(--border));background:hsl(var(--background) / .76);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:999px;align-items:center;gap:.45rem;min-height:2.5rem;padding:0 .85rem;font-size:.84rem;font-weight:780;display:inline-flex;position:absolute;bottom:1rem;right:1rem}.living-brain[data-activity=thinking] .thought-path{animation-duration:2.3s}.living-brain[data-activity=recalling] .memory-pulse,.living-brain[data-activity=acting] .memory-pulse{animation-duration:1.4s}.living-brain[data-activity=planning] .brain-wave,.living-brain[data-activity=acting] .brain-wave{animation-duration:3.2s}.brain-vitals{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;padding:0 1rem 1rem;display:grid}.brain-vital{border:1px solid hsl(var(--border) / .72);background:hsl(var(--background) / .48);border-radius:7px;min-width:0;padding:.72rem}.brain-vital svg{color:hsl(var(--primary))}.brain-vital span,.brain-vital strong{min-width:0;display:block}.brain-vital span{color:hsl(var(--muted-foreground));text-transform:uppercase;margin-top:.45rem;font-size:.72rem;font-weight:740}.brain-vital strong{text-overflow:ellipsis;white-space:nowrap;margin-top:.18rem;font-size:1.15rem;line-height:1.15;overflow:hidden}.brain-presence-foot{border-top:1px solid hsl(var(--border) / .68);min-height:3rem;color:hsl(var(--muted-foreground));gap:.5rem;padding:.75rem 1rem;font-size:.86rem}.brain-side-panel{border:1px solid hsl(var(--border) / .74);background:hsl(var(--card) / .72);border-radius:8px;padding:.85rem;overflow:hidden}.brain-side-head{justify-content:space-between;gap:.75rem;margin-bottom:.72rem}.brain-side-head h3{margin:0 0 .28rem;font-size:.94rem;font-weight:780}.brain-conversation-list{gap:.45rem;max-height:16rem;display:grid;overflow:auto}.brain-conversation-item{border:1px solid hsl(var(--border) / .68);background:hsl(var(--background) / .44);border-radius:7px;justify-content:space-between;gap:.45rem;min-height:3.7rem;padding:.35rem .35rem .35rem .65rem}.brain-conversation-item.is-active{border-color:hsl(var(--primary) / .7);background:hsl(var(--primary) / .12)}.brain-conversation-item button:first-child{gap:.2rem;min-width:0;display:grid}.brain-conversation-item span,.brain-conversation-item small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brain-conversation-item span{font-size:.86rem;font-weight:720}.brain-conversation-item small{color:hsl(var(--muted-foreground));font-size:.72rem}.brain-delete-button{width:2rem;height:2rem;color:hsl(var(--muted-foreground));border-radius:6px;flex:none;place-items:center;display:grid}.brain-delete-button:hover{background:hsl(var(--destructive) / .12);color:hsl(var(--destructive))}.brain-chat-panel{grid-template-rows:auto minmax(0,1fr) auto;min-height:calc(100vh - 8rem);display:grid;overflow:hidden}.brain-chat-head{border-bottom:1px solid hsl(var(--border) / .74);justify-content:space-between;gap:1rem;padding:1rem 1.1rem}.brain-chat-head h1{margin:.34rem 0 0;font-size:1.8rem;font-weight:820;line-height:1.05}.brain-chat-model{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.brain-message-stream{min-height:24rem;padding:1rem;overflow:auto}.brain-empty-conversation{place-items:center;min-height:100%;display:grid}.brain-message-row{margin-bottom:.85rem;display:flex}.brain-message-row.from-user{justify-content:flex-end}.brain-message-row.from-brain{justify-content:flex-start}.brain-message-bubble{border:1px solid hsl(var(--border) / .74);background:hsl(var(--background) / .7);border-radius:8px;max-width:min(78%,44rem);padding:.9rem;font-size:.94rem;line-height:1.65}.brain-message-row.from-user .brain-message-bubble{border-color:hsl(var(--primary) / .46);background:hsl(var(--primary) / .14)}.brain-message-role{color:hsl(var(--muted-foreground));text-transform:uppercase;margin-bottom:.35rem;font-size:.72rem;font-weight:780}.brain-composer{border-top:1px solid hsl(var(--border) / .74);background:hsl(var(--background) / .32);padding:1rem}.brain-composer textarea{resize:vertical;min-height:7rem}.brain-composer-actions{flex-wrap:wrap;justify-content:space-between;gap:.6rem;margin-top:.65rem}.brain-layer-header{border:1px solid hsl(var(--border) / .72);background:hsl(var(--background) / .48);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem;padding:1rem;display:grid}.brain-layer-header h1{margin:.35rem 0 0;font-size:1.85rem;font-weight:810;line-height:1.08}.brain-layer-meter{border:1px solid hsl(var(--border) / .7);background:hsl(var(--card) / .68);border-radius:7px;min-width:10rem;padding:.85rem;display:grid}.brain-layer-meter span{color:hsl(var(--muted-foreground));text-transform:uppercase;font-size:.72rem;font-weight:760}.brain-layer-meter strong{margin-top:.25rem;font-size:1.45rem;line-height:1.1}@keyframes brainBreathe{0%,to{transform:scale(.985)}50%{transform:scale(1.015)}}@keyframes thoughtFlow{0%{stroke-dashoffset:90px}to{stroke-dashoffset:0}}@keyframes memoryPulse{0%,to{opacity:.48;transform:scale(.76)}45%{opacity:1;transform:scale(1.18)}}@keyframes waveDrift{0%,to{opacity:.36;translate:-4%}50%{opacity:.9;translate:4%}}@keyframes haloPulse{0%,to{opacity:.18;transform:scale(.95)}50%{opacity:.56;transform:scale(1.04)}}.brain-grid{background-image:linear-gradient(hsl(var(--border) / .22) 1px, transparent 1px), linear-gradient(90deg, hsl(var(--border) / .22) 1px, transparent 1px);background-size:28px 28px}.scrollbar-thin{scrollbar-width:thin}.soft-scrollbar::-webkit-scrollbar{width:10px;height:10px}.soft-scrollbar::-webkit-scrollbar-thumb{background:hsl(var(--border));background-clip:content-box;border:3px solid #0000;border-radius:999px}.react-flow__node{border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground));border-radius:8px;padding:8px 10px;font-size:12px}.react-flow__edge-path{stroke:hsl(var(--primary))}@media (width<=1100px){.app-chrome{grid-template-columns:minmax(0,1fr) auto}.desktop-dock{display:none}.workspace-ribbon,.arrival-panel,.brain-conversation-grid,.brain-layer-header,.analysis-grid,.model-recommendation-list,.install-hero,.install-steps{grid-template-columns:1fr}.ribbon-meta{justify-content:flex-start}.brain-chat-panel{min-height:44rem}.brain-presence-column{align-content:start}.brain-layer-meter{width:min(100%,18rem)}}@media (width>=1101px){.mobile-menu{display:none}}@media (width<=760px){.app-chrome{min-height:4.4rem;padding:.75rem}.brand-copy,.status-chip,.chrome-actions .mode-switch{display:none}.page-shell{width:min(100% - 1rem,1440px);padding-top:.7rem}.workspace-ribbon{align-items:start}.workspace-ribbon h1{font-size:1.25rem}.ribbon-meta{gap:.4rem}.arrival-copy h2{font-size:1.85rem}.journey-steps{grid-template-columns:1fr}.page-title{font-size:2.15rem}.page-hero{padding:1rem}.brain-conversation-grid{min-height:0}.brain-stage{min-height:20rem}.product-flow-shell{align-items:start;padding:1rem}.login-card h1,.flow-panel h1,.install-hero h1{font-size:2.2rem}.flow-panel-head,.install-progress>div:first-child,.flow-actions{flex-direction:column;align-items:flex-start}.model-recommendation-card{min-height:11rem}.brain-vitals{grid-template-columns:1fr}.brain-chat-head{flex-direction:column;align-items:flex-start}.brain-chat-head h1{font-size:1.45rem}.brain-chat-model{justify-content:flex-start}.brain-message-bubble{max-width:92%}.brain-message-stream{min-height:22rem;padding:.75rem}.brain-composer{padding:.75rem}.brain-layer-header h1{font-size:1.45rem}}@media (prefers-reduced-motion:reduce){.brain-mass,.brain-lobe,.brain-bridge,.brain-stem,.brain-fold,.thought-path,.memory-pulse,.brain-aura,.brain-halo,.brain-wave{animation:none}}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-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-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{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-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-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}@keyframes spin{to{transform:rotate(360deg)}}
|
|
@@ -13,4 +13,4 @@ Error generating stack: `+e.message+`
|
|
|
13
13
|
|
|
14
14
|
`);o=r.pop()||``;for(let e of r){let n=e.split(`
|
|
15
15
|
`).find(e=>e.startsWith(`data:`));if(!n)continue;let r=n.slice(5).trim();if(r===`[DONE]`)return{source:`live`,text:s,trace:c};let i=JSON.parse(r),a=i.chunk||i.text||``;a&&(s+=a,t.onChunk?.(a,s)),i.trace&&(c=i.trace,t.onTrace?.(c))}}return{source:`live`,text:s,trace:c}}var z={raw:L,desktopBackendStatus:async()=>{let e=await yn(`backend_status`);return e?{ok:!0,status:200,data:e,source:`live`}:{ok:!1,status:0,data:{},source:`unavailable`,error:`Desktop backend status is available only inside the Tauri shell.`}},health:()=>L(`/health`,{}),workspaceOs:()=>L(`/workspace/os`,{counts:{},models:{},workspace_registry:{workspaces:[]}}),indexStatus:()=>L(`/api/index/status`,{}),rebuildIndex:()=>R(`/api/index/rebuild`,{full:!1,include_nodes:!0,include_chunks:!0},{}),graph:()=>L(`/knowledge-graph/graph`,{nodes:[],edges:[]}),graphStats:()=>L(`/knowledge-graph/stats`,{nodes:{},edges:{},total_nodes:0,total_edges:0}),graphPortability:()=>L(`/api/knowledge-graph/portability`,{}),brainStorage:()=>L(`/api/brain/storage`,{}),backupHealth:()=>L(`/api/knowledge-graph/backup-health`,{}),dockerPostgres:e=>R(`/api/brain/storage/postgres/docker`,e,{}),migratePostgres:e=>R(`/api/brain/storage/migrate-postgres`,e,{}),graphProvenance:(e=50)=>L(`/api/knowledge-graph/provenance`,{items:[]},{limit:e}),graphCoverage:()=>L(`/knowledge-graph/provenance/coverage`,{}),graphExport:()=>R(`/api/knowledge-graph/export`,{},{}),graphBackup:()=>R(`/api/knowledge-graph/backup`,{},{}),graphImport:(e,t=!0)=>R(`/api/knowledge-graph/import`,{artifact:e,mode:`merge`,dry_run:t},{}),brainArchive:e=>R(`/api/knowledge-graph/archive`,e,{}),brainArchiveInspect:e=>R(`/api/knowledge-graph/archive/inspect`,e,{}),brainArchiveVerify:e=>R(`/api/knowledge-graph/archive/verify`,e,{}),brainArchiveRestore:e=>R(`/api/knowledge-graph/archive/restore`,e,{}),brainArchiveImport:e=>R(`/api/knowledge-graph/archive/import`,e,{}),hybridSearch:async(e,t)=>{let n=await R(`/api/search/hybrid`,{query:e,...t?{weights:t}:{}},{matches:[]}),r=n.data;return n.ok&&!Array.isArray(r.matches)&&Array.isArray(r.results)?{...n,data:{...r,matches:r.results}}:n},browserReadUrl:e=>R(`/api/browser/read-url`,{url:e},{}),memoryManager:()=>L(`/api/memory/manager`,{sources:[],tiers:[],usage:{}}),memoryRecall:(e,t=20)=>R(`/api/memory/recall`,{query:e,limit:t},{matches:[]}),memoryCompact:()=>R(`/api/memory/compact`,{},{}),memoryRebuild:()=>R(`/api/memory/rebuild`,{target:`vector`},{}),chatHistory:()=>L(`/history/conversations`,[]),conversation:e=>L(`/history/conversations/${encodeURIComponent(e)}`,{messages:[]}),deleteConversation:e=>Dn(`/history/conversations/${encodeURIComponent(e)}`,{}),streamChat:An,uploadDocument:On,documents:(e=200)=>L(`/knowledge-graph/documents`,{documents:[]},{limit:e}),localSources:()=>L(`/knowledge-graph/local/sources`,{sources:[],watch:{available:!1,active:{}}}),localAgent:()=>L(`/api/local-agent/status`,{agent:{online:!1},sources:[]}),connectFolder:e=>R(`/knowledge-graph/local/index`,{path:e,approved:!0,watch_enabled:!0,consent:{approved:!0,source:`desktop-spa`}},{}),localWatchStop:e=>R(`/knowledge-graph/local/watch/stop`,{source_id:e},{}),models:()=>L(`/models`,{catalog:[],loaded:[],recommended:[]}),setupScan:()=>L(`/setup/scan`,{environment:{},recommendations:{},zero_config:{}}),modelRecommendations:(e=`local_mlx`)=>L(`/models/recommendations`,{profile:{},recommendations:{models:[],families:[],counts:{}}},{engine:e}),installEngine:e=>R(`/engines/install`,{engine:e},{}),prepareModel:(e,t,n=!1)=>R(`/engines/prepare-model`,{model:e,engine:t||null,allow_download:n},{}),streamModelPrepare:kn,loadModel:(e,t,n=!1)=>R(`/models/load`,{model_id:e,engine:t||null,allow_download:n},{}),unloadModel:e=>Dn(`/models/unload/${encodeURIComponent(e)}`,{}),embeddingsStatus:()=>L(`/api/embeddings/status`,{}),agentRuntime:()=>L(`/agents/api/runtime/status`,{runtime:{},agents:[],runs:[]}),runAgent:(e,t)=>R(`/agents/api/run`,{goal:e,roles:t},{}),agentRun:e=>L(`/agents/api/runs/${encodeURIComponent(e)}`,{}),stopAgentRun:e=>R(`/agents/api/runs/${encodeURIComponent(e)}/stop`,{},{}),agentRegistry:()=>L(`/agents/api/registry`,{agents:[]}),agentCapabilities:()=>L(`/agents/api/registry/capabilities`,{capabilities:{}}),registerAgent:e=>R(`/agents/api/registry`,e,{}),updateAgent:(e,t)=>En(`/agents/api/registry/${encodeURIComponent(e)}`,t,{}),removeAgent:e=>Dn(`/agents/api/registry/${encodeURIComponent(e)}`,{}),workflowDefinitions:()=>L(`/workflows/api/definitions`,{workflows:[]}),workflowRuns:()=>L(`/workflows/api/runs`,{runs:[]}),workflowTriggers:()=>L(`/workflows/api/triggers`,{armed:[]}),createWorkflow:e=>R(`/workflows/api/definitions`,e,{}),importWorkflow:e=>R(`/workflows/api/import`,{data:e},{}),exportWorkflow:e=>L(`/workflows/api/export/${encodeURIComponent(e)}`,{}),runWorkflow:e=>R(`/workflows/api/definitions/${encodeURIComponent(e)}/run`,{},{}),updateWorkflow:(e,t)=>En(`/workflows/api/definitions/${encodeURIComponent(e)}`,t,{}),stopWorkflowRun:e=>R(`/workflows/api/runs/${encodeURIComponent(e)}/stop`,{},{}),resumeWorkflowRun:(e,t)=>R(`/workflows/api/runs/${encodeURIComponent(e)}/resume`,{approved:t},{}),hooks:()=>L(`/api/hooks`,{hooks:[]}),hookRuns:()=>L(`/api/hooks/runs`,{runs:[]},{limit:50}),hookRun:e=>R(`/api/hooks/run`,e,{}),permissionsPending:()=>L(`/permissions/pending`,{pending:{},count:0}),approvePermission:e=>R(`/permissions/approve/${encodeURIComponent(e)}`,{},{}),denyPermission:e=>R(`/permissions/deny/${encodeURIComponent(e)}`,{},{}),skills:()=>L(`/workspace/skills`,{skills:[]}),skillToggle:(e,t)=>R(t?`/workspace/skills/disable`:`/workspace/skills/enable`,{skill:e},{}),skillsMarketplace:()=>L(`/skills/marketplace`,{skills:[]}),skillInstall:(e,t)=>R(`/workspace/skills/install`,{skill:e,plugin:t||``},{}),mcpTools:()=>L(`/mcp/tools`,{tools:[],installed_mcps:[]}),mcpRecommend:e=>R(`/mcp/recommend`,{query:e,limit:6},{}),templates:()=>L(`/marketplace/templates`,{templates:[],kinds:[]}),installTemplate:e=>R(`/marketplace/templates/install`,{data:e},{}),pluginsRegistry:()=>L(`/plugins/registry`,{plugins:[]}),pluginsDirectory:()=>L(`/plugins/directory`,{plugins:[]}),profile:()=>L(`/account/profile`,{}),login:(e,t)=>R(`/login`,{email:e,password:t},{}),register:e=>R(`/register`,e,{}),logout:()=>R(`/logout`,{},{}),updateProfile:e=>En(`/account/profile`,e,{}),changePassword:(e,t)=>R(`/account/change-password`,{current_password:e,new_password:t},{}),ssoConfig:()=>L(`/auth/sso/config`,{enabled:!1,providers:[]}),workspaceRegistry:()=>L(`/workspace/registry`,{workspaces:[]}),createOrg:e=>R(`/workspace/orgs`,{name:e},{}),activateWorkspace:e=>R(`/workspace/activate`,{workspace_id:e},{}),archiveWorkspace:e=>R(`/workspace/orgs/${encodeURIComponent(e)}/archive`,{},{}),addWorkspaceMember:(e,t,n)=>R(`/workspace/orgs/${encodeURIComponent(e)}/members`,{user_id:t,role:n},{}),removeWorkspaceMember:(e,t)=>Dn(`/workspace/orgs/${encodeURIComponent(e)}/members/${encodeURIComponent(t)}`,{}),invitations:()=>L(`/invitations`,{invitations:[]}),createInvitation:e=>R(`/invitations`,e,{}),acceptInvitation:e=>R(`/invitations/${encodeURIComponent(e)}/accept`,{},{}),snapshots:()=>L(`/workspace/snapshots`,{snapshots:[]}),createSnapshot:e=>R(`/workspace/snapshots`,{name:e},{}),compareSnapshots:(e,t)=>R(`/workspace/snapshots/compare`,{before_id:e,after_id:t},{}),restoreSnapshot:e=>R(`/workspace/snapshots/${encodeURIComponent(e)}/restore`,{},{}),exportSnapshot:e=>R(`/workspace/snapshots/${encodeURIComponent(e)}/export`,{},{}),timeMachine:()=>L(`/workspace/time-machine`,{events:[]},{limit:100}),realtimeFeed:()=>L(`/realtime/feed`,{events:[]},{limit:80}),presence:()=>L(`/realtime/presence`,{presence:[]}),networkIdentity:()=>L(`/network/identity`,{}),networkPeers:()=>L(`/network/peers`,{peers:[]}),pairPeer:e=>R(`/network/peers`,e,{}),unpairPeer:e=>Dn(`/network/peers/${encodeURIComponent(e)}`,{}),pushPeer:(e,t)=>R(`/network/push/${encodeURIComponent(e)}`,{workspace_id:t},{}),sysinfo:()=>L(`/local/sysinfo`,{}),computerMemory:()=>L(`/workspace/computer-memory`,{}),setComputerMemory:e=>R(`/workspace/computer-memory`,{enabled:e,consent:{approved:e}},{}),adminSummary:()=>L(`/admin/summary`,{}),adminStats:()=>L(`/admin/stats`,{}),adminUsers:()=>L(`/admin/users`,[]),adminAudit:e=>L(`/admin/audit`,{recent_events:[],filters:{}},e),adminRoles:()=>L(`/admin/roles`,{roles:[]}),adminPolicies:()=>L(`/admin/policies`,{policies:[]}),adminLogRetention:()=>L(`/admin/log-retention`,{}),adminProductHardening:()=>L(`/admin/product-hardening`,{}),adminSecurity:()=>L(`/admin/security/overview`,{}),adminSecurityEvents:(e=50)=>L(`/admin/security/events`,{events:[]},{limit:e}),vpcStatus:()=>L(`/vpc/status`,{}),toolPermissions:()=>L(`/tools/permissions`,{permissions:[]})};function jn(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=jn(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function Mn(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=jn(e))&&(r&&(r+=` `),r+=t);return r}var Nn=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,Pn=Mn,Fn=(e,t)=>n=>{if(t?.variants==null)return Pn(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=Nn(t)||Nn(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return Pn(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)},In=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},Ln=(e,t)=>({classGroupId:e,validator:t}),Rn=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),zn=`-`,Bn=[],Vn=`arbitrary..`,Hn=e=>{let t=Gn(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return Wn(e);let n=e.split(zn);return Un(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?In(i,t):t:i||Bn}return n[e]||Bn}}},Un=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=Un(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(zn):e.slice(t).join(zn),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},Wn=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?Vn+r:void 0})(),Gn=e=>{let{theme:t,classGroups:n}=e;return Kn(n,t)},Kn=(e,t)=>{let n=Rn();for(let r in e){let i=e[r];qn(i,n,r,t)}return n},qn=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];Jn(i,t,n,r)}},Jn=(e,t,n,r)=>{if(typeof e==`string`){Yn(e,t,n);return}if(typeof e==`function`){Xn(e,t,n,r);return}Zn(e,t,n,r)},Yn=(e,t,n)=>{let r=e===``?t:Qn(t,e);r.classGroupId=n},Xn=(e,t,n,r)=>{if($n(e)){qn(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(Ln(n,e))},Zn=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];qn(o,Qn(t,a),n,r)}},Qn=(e,t)=>{let n=e,r=t.split(zn),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=Rn(),n.nextPart.set(t,i)),n=i}return n},$n=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,er=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},tr=`!`,nr=`:`,rr=[],ir=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),ar=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===nr){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(tr)?(c=s.slice(0,-1),l=!0):s.startsWith(tr)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return ir(t,l,c,u)};if(t){let e=t+nr,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):ir(rr,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},or=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},sr=e=>({cache:er(e.cacheSize),parseClassName:ar(e),sortModifiers:or(e),postfixLookupClassGroupIds:cr(e),...Hn(e)}),cr=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e<n.length;e++)t[n[e]]=!0;return t},lr=/\s+/,ur=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(lr),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:m}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let h=!!m,g;if(h){g=r(p.substring(0,m));let e=g&&o[g]?r(p):void 0;e&&e!==g&&(g=e,h=!1)}else g=r(p);if(!g){if(!h){l=t+(l.length>0?` `+l:l);continue}if(g=r(p),!g){l=t+(l.length>0?` `+l:l);continue}h=!1}let _=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),v=f?_+tr:_,y=v+g;if(s.indexOf(y)>-1)continue;s.push(y);let b=i(g,h);for(let e=0;e<b.length;++e){let t=b[e];s.push(v+t)}l=t+(l.length>0?` `+l:l)}return l},dr=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=fr(n))&&(i&&(i+=` `),i+=r);return i},fr=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=fr(e[r]))&&(n&&(n+=` `),n+=t);return n},pr=(e,...t)=>{let n,r,i,a,o=o=>(n=sr(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=ur(e,n);return i(e,a),a};return a=o,(...e)=>a(dr(...e))},mr=[],hr=e=>{let t=t=>t[e]||mr;return t.isThemeGetter=!0,t},gr=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,_r=/^\((?:(\w[\w-]*):)?(.+)\)$/i,vr=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,yr=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,br=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,xr=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Sr=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Cr=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,wr=e=>vr.test(e),B=e=>!!e&&!Number.isNaN(Number(e)),Tr=e=>!!e&&Number.isInteger(Number(e)),Er=e=>e.endsWith(`%`)&&B(e.slice(0,-1)),Dr=e=>yr.test(e),Or=()=>!0,kr=e=>br.test(e)&&!xr.test(e),Ar=()=>!1,jr=e=>Sr.test(e),Mr=e=>Cr.test(e),Nr=e=>!V(e)&&!H(e),Pr=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),Fr=e=>Xr(e,ei,Ar),V=e=>gr.test(e),Ir=e=>Xr(e,ti,kr),Lr=e=>Xr(e,ni,B),Rr=e=>Xr(e,ii,Or),zr=e=>Xr(e,ri,Ar),Br=e=>Xr(e,Qr,Ar),Vr=e=>Xr(e,$r,Mr),Hr=e=>Xr(e,ai,jr),H=e=>_r.test(e),Ur=e=>Zr(e,ti),Wr=e=>Zr(e,ri),Gr=e=>Zr(e,Qr),Kr=e=>Zr(e,ei),qr=e=>Zr(e,$r),Jr=e=>Zr(e,ai,!0),Yr=e=>Zr(e,ii,!0),Xr=(e,t,n)=>{let r=gr.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Zr=(e,t,n=!1)=>{let r=_r.exec(e);return r?r[1]?t(r[1]):n:!1},Qr=e=>e===`position`||e===`percentage`,$r=e=>e===`image`||e===`url`,ei=e=>e===`length`||e===`size`||e===`bg-size`,ti=e=>e===`length`,ni=e=>e===`number`,ri=e=>e===`family-name`,ii=e=>e===`number`||e===`weight`,ai=e=>e===`shadow`,oi=pr(()=>{let e=hr(`color`),t=hr(`font`),n=hr(`text`),r=hr(`font-weight`),i=hr(`tracking`),a=hr(`leading`),o=hr(`breakpoint`),s=hr(`container`),c=hr(`spacing`),l=hr(`radius`),u=hr(`shadow`),d=hr(`inset-shadow`),f=hr(`text-shadow`),p=hr(`drop-shadow`),m=hr(`blur`),h=hr(`perspective`),g=hr(`aspect`),_=hr(`ease`),v=hr(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),H,V],ee=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],S=()=>[`auto`,`contain`,`none`],C=()=>[H,V,c],w=()=>[wr,`full`,`auto`,...C()],te=()=>[Tr,`none`,`subgrid`,H,V],ne=()=>[`auto`,{span:[`full`,Tr,H,V]},Tr,H,V],T=()=>[Tr,`auto`,H,V],re=()=>[`auto`,`min`,`max`,`fr`,H,V],ie=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],ae=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],E=()=>[`auto`,...C()],D=()=>[wr,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...C()],O=()=>[wr,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...C()],oe=()=>[wr,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...C()],k=()=>[e,H,V],A=()=>[...b(),Gr,Br,{position:[H,V]}],se=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],ce=()=>[`auto`,`cover`,`contain`,Kr,Fr,{size:[H,V]}],le=()=>[Er,Ur,Ir],j=()=>[``,`none`,`full`,l,H,V],M=()=>[``,B,Ur,Ir],N=()=>[`solid`,`dashed`,`dotted`,`double`],ue=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],de=()=>[B,Er,Gr,Br],fe=()=>[``,`none`,m,H,V],pe=()=>[`none`,B,H,V],me=()=>[`none`,B,H,V],he=()=>[B,H,V],ge=()=>[wr,`full`,...C()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[Dr],breakpoint:[Dr],color:[Or],container:[Dr],"drop-shadow":[Dr],ease:[`in`,`out`,`in-out`],font:[Nr],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[Dr],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[Dr],shadow:[Dr],spacing:[`px`,B],text:[Dr],"text-shadow":[Dr],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,wr,V,H,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,H,V]}],"container-named":[Pr],columns:[{columns:[B,V,H,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:ee()}],"overflow-x":[{"overflow-x":ee()}],"overflow-y":[{"overflow-y":ee()}],overscroll:[{overscroll:S()}],"overscroll-x":[{"overscroll-x":S()}],"overscroll-y":[{"overscroll-y":S()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:w()}],"inset-x":[{"inset-x":w()}],"inset-y":[{"inset-y":w()}],start:[{"inset-s":w(),start:w()}],end:[{"inset-e":w(),end:w()}],"inset-bs":[{"inset-bs":w()}],"inset-be":[{"inset-be":w()}],top:[{top:w()}],right:[{right:w()}],bottom:[{bottom:w()}],left:[{left:w()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[Tr,`auto`,H,V]}],basis:[{basis:[wr,`full`,`auto`,s,...C()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[B,wr,`auto`,`initial`,`none`,V]}],grow:[{grow:[``,B,H,V]}],shrink:[{shrink:[``,B,H,V]}],order:[{order:[Tr,`first`,`last`,`none`,H,V]}],"grid-cols":[{"grid-cols":te()}],"col-start-end":[{col:ne()}],"col-start":[{"col-start":T()}],"col-end":[{"col-end":T()}],"grid-rows":[{"grid-rows":te()}],"row-start-end":[{row:ne()}],"row-start":[{"row-start":T()}],"row-end":[{"row-end":T()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":re()}],"auto-rows":[{"auto-rows":re()}],gap:[{gap:C()}],"gap-x":[{"gap-x":C()}],"gap-y":[{"gap-y":C()}],"justify-content":[{justify:[...ie(),`normal`]}],"justify-items":[{"justify-items":[...ae(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...ae()]}],"align-content":[{content:[`normal`,...ie()]}],"align-items":[{items:[...ae(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...ae(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":ie()}],"place-items":[{"place-items":[...ae(),`baseline`]}],"place-self":[{"place-self":[`auto`,...ae()]}],p:[{p:C()}],px:[{px:C()}],py:[{py:C()}],ps:[{ps:C()}],pe:[{pe:C()}],pbs:[{pbs:C()}],pbe:[{pbe:C()}],pt:[{pt:C()}],pr:[{pr:C()}],pb:[{pb:C()}],pl:[{pl:C()}],m:[{m:E()}],mx:[{mx:E()}],my:[{my:E()}],ms:[{ms:E()}],me:[{me:E()}],mbs:[{mbs:E()}],mbe:[{mbe:E()}],mt:[{mt:E()}],mr:[{mr:E()}],mb:[{mb:E()}],ml:[{ml:E()}],"space-x":[{"space-x":C()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":C()}],"space-y-reverse":[`space-y-reverse`],size:[{size:D()}],"inline-size":[{inline:[`auto`,...O()]}],"min-inline-size":[{"min-inline":[`auto`,...O()]}],"max-inline-size":[{"max-inline":[`none`,...O()]}],"block-size":[{block:[`auto`,...oe()]}],"min-block-size":[{"min-block":[`auto`,...oe()]}],"max-block-size":[{"max-block":[`none`,...oe()]}],w:[{w:[s,`screen`,...D()]}],"min-w":[{"min-w":[s,`screen`,`none`,...D()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...D()]}],h:[{h:[`screen`,`lh`,...D()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...D()]}],"max-h":[{"max-h":[`screen`,`lh`,...D()]}],"font-size":[{text:[`base`,n,Ur,Ir]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,Yr,Rr]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,Er,V]}],"font-family":[{font:[Wr,zr,t]}],"font-features":[{"font-features":[V]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,H,V]}],"line-clamp":[{"line-clamp":[B,`none`,H,Lr]}],leading:[{leading:[a,...C()]}],"list-image":[{"list-image":[`none`,H,V]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,H,V]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:k()}],"text-color":[{text:k()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...N(),`wavy`]}],"text-decoration-thickness":[{decoration:[B,`from-font`,`auto`,H,Ir]}],"text-decoration-color":[{decoration:k()}],"underline-offset":[{"underline-offset":[B,`auto`,H,V]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:C()}],"tab-size":[{tab:[Tr,H,V]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,H,V]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,H,V]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:A()}],"bg-repeat":[{bg:se()}],"bg-size":[{bg:ce()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},Tr,H,V],radial:[``,H,V],conic:[Tr,H,V]},qr,Vr]}],"bg-color":[{bg:k()}],"gradient-from-pos":[{from:le()}],"gradient-via-pos":[{via:le()}],"gradient-to-pos":[{to:le()}],"gradient-from":[{from:k()}],"gradient-via":[{via:k()}],"gradient-to":[{to:k()}],rounded:[{rounded:j()}],"rounded-s":[{"rounded-s":j()}],"rounded-e":[{"rounded-e":j()}],"rounded-t":[{"rounded-t":j()}],"rounded-r":[{"rounded-r":j()}],"rounded-b":[{"rounded-b":j()}],"rounded-l":[{"rounded-l":j()}],"rounded-ss":[{"rounded-ss":j()}],"rounded-se":[{"rounded-se":j()}],"rounded-ee":[{"rounded-ee":j()}],"rounded-es":[{"rounded-es":j()}],"rounded-tl":[{"rounded-tl":j()}],"rounded-tr":[{"rounded-tr":j()}],"rounded-br":[{"rounded-br":j()}],"rounded-bl":[{"rounded-bl":j()}],"border-w":[{border:M()}],"border-w-x":[{"border-x":M()}],"border-w-y":[{"border-y":M()}],"border-w-s":[{"border-s":M()}],"border-w-e":[{"border-e":M()}],"border-w-bs":[{"border-bs":M()}],"border-w-be":[{"border-be":M()}],"border-w-t":[{"border-t":M()}],"border-w-r":[{"border-r":M()}],"border-w-b":[{"border-b":M()}],"border-w-l":[{"border-l":M()}],"divide-x":[{"divide-x":M()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":M()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...N(),`hidden`,`none`]}],"divide-style":[{divide:[...N(),`hidden`,`none`]}],"border-color":[{border:k()}],"border-color-x":[{"border-x":k()}],"border-color-y":[{"border-y":k()}],"border-color-s":[{"border-s":k()}],"border-color-e":[{"border-e":k()}],"border-color-bs":[{"border-bs":k()}],"border-color-be":[{"border-be":k()}],"border-color-t":[{"border-t":k()}],"border-color-r":[{"border-r":k()}],"border-color-b":[{"border-b":k()}],"border-color-l":[{"border-l":k()}],"divide-color":[{divide:k()}],"outline-style":[{outline:[...N(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[B,H,V]}],"outline-w":[{outline:[``,B,Ur,Ir]}],"outline-color":[{outline:k()}],shadow:[{shadow:[``,`none`,u,Jr,Hr]}],"shadow-color":[{shadow:k()}],"inset-shadow":[{"inset-shadow":[`none`,d,Jr,Hr]}],"inset-shadow-color":[{"inset-shadow":k()}],"ring-w":[{ring:M()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:k()}],"ring-offset-w":[{"ring-offset":[B,Ir]}],"ring-offset-color":[{"ring-offset":k()}],"inset-ring-w":[{"inset-ring":M()}],"inset-ring-color":[{"inset-ring":k()}],"text-shadow":[{"text-shadow":[`none`,f,Jr,Hr]}],"text-shadow-color":[{"text-shadow":k()}],opacity:[{opacity:[B,H,V]}],"mix-blend":[{"mix-blend":[...ue(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":ue()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[B]}],"mask-image-linear-from-pos":[{"mask-linear-from":de()}],"mask-image-linear-to-pos":[{"mask-linear-to":de()}],"mask-image-linear-from-color":[{"mask-linear-from":k()}],"mask-image-linear-to-color":[{"mask-linear-to":k()}],"mask-image-t-from-pos":[{"mask-t-from":de()}],"mask-image-t-to-pos":[{"mask-t-to":de()}],"mask-image-t-from-color":[{"mask-t-from":k()}],"mask-image-t-to-color":[{"mask-t-to":k()}],"mask-image-r-from-pos":[{"mask-r-from":de()}],"mask-image-r-to-pos":[{"mask-r-to":de()}],"mask-image-r-from-color":[{"mask-r-from":k()}],"mask-image-r-to-color":[{"mask-r-to":k()}],"mask-image-b-from-pos":[{"mask-b-from":de()}],"mask-image-b-to-pos":[{"mask-b-to":de()}],"mask-image-b-from-color":[{"mask-b-from":k()}],"mask-image-b-to-color":[{"mask-b-to":k()}],"mask-image-l-from-pos":[{"mask-l-from":de()}],"mask-image-l-to-pos":[{"mask-l-to":de()}],"mask-image-l-from-color":[{"mask-l-from":k()}],"mask-image-l-to-color":[{"mask-l-to":k()}],"mask-image-x-from-pos":[{"mask-x-from":de()}],"mask-image-x-to-pos":[{"mask-x-to":de()}],"mask-image-x-from-color":[{"mask-x-from":k()}],"mask-image-x-to-color":[{"mask-x-to":k()}],"mask-image-y-from-pos":[{"mask-y-from":de()}],"mask-image-y-to-pos":[{"mask-y-to":de()}],"mask-image-y-from-color":[{"mask-y-from":k()}],"mask-image-y-to-color":[{"mask-y-to":k()}],"mask-image-radial":[{"mask-radial":[H,V]}],"mask-image-radial-from-pos":[{"mask-radial-from":de()}],"mask-image-radial-to-pos":[{"mask-radial-to":de()}],"mask-image-radial-from-color":[{"mask-radial-from":k()}],"mask-image-radial-to-color":[{"mask-radial-to":k()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[B]}],"mask-image-conic-from-pos":[{"mask-conic-from":de()}],"mask-image-conic-to-pos":[{"mask-conic-to":de()}],"mask-image-conic-from-color":[{"mask-conic-from":k()}],"mask-image-conic-to-color":[{"mask-conic-to":k()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:A()}],"mask-repeat":[{mask:se()}],"mask-size":[{mask:ce()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,H,V]}],filter:[{filter:[``,`none`,H,V]}],blur:[{blur:fe()}],brightness:[{brightness:[B,H,V]}],contrast:[{contrast:[B,H,V]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Jr,Hr]}],"drop-shadow-color":[{"drop-shadow":k()}],grayscale:[{grayscale:[``,B,H,V]}],"hue-rotate":[{"hue-rotate":[B,H,V]}],invert:[{invert:[``,B,H,V]}],saturate:[{saturate:[B,H,V]}],sepia:[{sepia:[``,B,H,V]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,H,V]}],"backdrop-blur":[{"backdrop-blur":fe()}],"backdrop-brightness":[{"backdrop-brightness":[B,H,V]}],"backdrop-contrast":[{"backdrop-contrast":[B,H,V]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,B,H,V]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[B,H,V]}],"backdrop-invert":[{"backdrop-invert":[``,B,H,V]}],"backdrop-opacity":[{"backdrop-opacity":[B,H,V]}],"backdrop-saturate":[{"backdrop-saturate":[B,H,V]}],"backdrop-sepia":[{"backdrop-sepia":[``,B,H,V]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":C()}],"border-spacing-x":[{"border-spacing-x":C()}],"border-spacing-y":[{"border-spacing-y":C()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,H,V]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[B,`initial`,H,V]}],ease:[{ease:[`linear`,`initial`,_,H,V]}],delay:[{delay:[B,H,V]}],animate:[{animate:[`none`,v,H,V]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,H,V]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:pe()}],"rotate-x":[{"rotate-x":pe()}],"rotate-y":[{"rotate-y":pe()}],"rotate-z":[{"rotate-z":pe()}],scale:[{scale:me()}],"scale-x":[{"scale-x":me()}],"scale-y":[{"scale-y":me()}],"scale-z":[{"scale-z":me()}],"scale-3d":[`scale-3d`],skew:[{skew:he()}],"skew-x":[{"skew-x":he()}],"skew-y":[{"skew-y":he()}],transform:[{transform:[H,V,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:ge()}],"translate-x":[{"translate-x":ge()}],"translate-y":[{"translate-y":ge()}],"translate-z":[{"translate-z":ge()}],"translate-none":[`translate-none`],zoom:[{zoom:[Tr,H,V]}],accent:[{accent:k()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:k()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,H,V]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":k()}],"scrollbar-track-color":[{"scrollbar-track":k()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"scroll-m":[{"scroll-m":C()}],"scroll-mx":[{"scroll-mx":C()}],"scroll-my":[{"scroll-my":C()}],"scroll-ms":[{"scroll-ms":C()}],"scroll-me":[{"scroll-me":C()}],"scroll-mbs":[{"scroll-mbs":C()}],"scroll-mbe":[{"scroll-mbe":C()}],"scroll-mt":[{"scroll-mt":C()}],"scroll-mr":[{"scroll-mr":C()}],"scroll-mb":[{"scroll-mb":C()}],"scroll-ml":[{"scroll-ml":C()}],"scroll-p":[{"scroll-p":C()}],"scroll-px":[{"scroll-px":C()}],"scroll-py":[{"scroll-py":C()}],"scroll-ps":[{"scroll-ps":C()}],"scroll-pe":[{"scroll-pe":C()}],"scroll-pbs":[{"scroll-pbs":C()}],"scroll-pbe":[{"scroll-pbe":C()}],"scroll-pt":[{"scroll-pt":C()}],"scroll-pr":[{"scroll-pr":C()}],"scroll-pb":[{"scroll-pb":C()}],"scroll-pl":[{"scroll-pl":C()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,H,V]}],fill:[{fill:[`none`,...k()]}],"stroke-w":[{stroke:[B,Ur,Ir,Lr]}],stroke:[{stroke:[`none`,...k()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function si(...e){return oi(Mn(e))}function ci(e){return Array.isArray(e)?e:[]}var li=Fn(`inline-flex h-10 max-w-full items-center justify-center gap-2 rounded-md px-3.5 text-sm font-semibold leading-none transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-45`,{variants:{variant:{default:`bg-primary text-primary-foreground shadow-[0_10px_30px_hsl(var(--primary)/0.16)] hover:bg-primary/92`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/82`,ghost:`text-foreground hover:bg-muted`,outline:`border border-border bg-card/70 hover:bg-muted/88`,destructive:`bg-destructive text-destructive-foreground hover:bg-destructive/90`},size:{sm:`h-8 px-2.5 text-xs`,md:`h-10 px-3.5`,icon:`h-10 w-10 px-0`}},defaultVariants:{variant:`default`,size:`md`}}),ui=P.forwardRef(({className:e,variant:t,size:n,...r},i)=>(0,F.jsx)(`button`,{ref:i,className:si(li({variant:t,size:n,className:e})),...r}));ui.displayName=`Button`;function di({state:e=`idle`,intensity:t=.6,onPulse:n,size:r=`large`,label:i,className:a,showLabel:o=!0,depth:s=0,onInteract:c}){let[l,u]=P.useState(!1),d=P.useRef(null);P.useEffect(()=>{if(n){let e=()=>f();return window.addEventListener(`brain:recall`,e),()=>window.removeEventListener(`brain:recall`,e)}},[n]);function f(){u(!0),d.current&&(d.current.classList.add(`pulse`),window.setTimeout(()=>{d.current&&d.current.classList.remove(`pulse`),u(!1)},1350)),n?.()}P.useEffect(()=>{if((e===`recalling`||t>.82)&&!l){let e=window.setTimeout(()=>f(),180);return()=>clearTimeout(e)}},[e,t]);let p=e,m=r===`large`,h=r===`trace`,g=Math.max(.35,Math.min(1,t)),_=Math.max(0,Math.min(5,s||0)),v=e!==`thinking`;return(0,F.jsxs)(`div`,{className:si(`brain-presence select-none`,m&&`large`,h&&`trace`,a,_>0&&`is-exploring`),"aria-label":`Your living Brain`,role:`group`,"data-depth":_,children:[(0,F.jsxs)(`button`,{type:`button`,ref:d,className:si(`brain-organism`,`size-${r}`,`depth-${_}`),"data-state":p,"aria-label":_<5?`Travel deeper into your Brain`:`Rest inside the Knowledge Graph`,"aria-disabled":!v,style:{transform:`scale(${.96+(g-.5)*.09+_*.015})`},onClick:()=>{v&&(f(),c?.())},title:_<5?`Travel deeper into your Brain`:`The core of your knowledge`,children:[(0,F.jsx)(`div`,{className:`brain-core`,style:{transform:`scale(${1+_*.045})`},children:(0,F.jsxs)(`svg`,{className:`brain-anatomy`,viewBox:`0 0 220 174`,"aria-hidden":!0,children:[(0,F.jsx)(`path`,{className:`brain-lobe brain-lobe-left`,d:`M102 30c-13-20-44-19-55 1-18 1-29 16-28 33-13 8-18 25-11 39-9 16-1 36 17 42 5 19 27 26 43 15 13 10 33 8 43-5 5-7 8-16 8-27V52c0-8-6-17-17-22Z`}),(0,F.jsx)(`path`,{className:`brain-lobe brain-lobe-right`,d:`M118 30c13-20 44-19 55 1 18 1 29 16 28 33 13 8 18 25 11 39 9 16 1 36-17 42-5 19-27 26-43 15-13 10-33 8-43-5-5-7-8-16-8-27V52c0-8 6-17 17-22Z`}),(0,F.jsx)(`path`,{className:`brain-bridge`,d:`M103 48c9-8 24-8 33 0 7 6 9 16 5 25-5 11-16 15-31 12-15 3-26-1-31-12-4-9-2-19 5-25 5-4 12-6 19 0Z`}),(0,F.jsx)(`path`,{className:`brain-stem`,d:`M92 137c10 9 26 9 36 0 1 14 7 25 20 33H76c12-8 17-19 16-33Z`}),(0,F.jsx)(`path`,{className:`brain-fold fold-a`,d:`M48 50c18-11 38-8 47 8`}),(0,F.jsx)(`path`,{className:`brain-fold fold-b`,d:`M34 82c22-8 45-5 58 8`}),(0,F.jsx)(`path`,{className:`brain-fold fold-c`,d:`M43 119c18 5 35 2 49-11`}),(0,F.jsx)(`path`,{className:`brain-fold fold-d`,d:`M172 50c-18-11-38-8-47 8`}),(0,F.jsx)(`path`,{className:`brain-fold fold-e`,d:`M186 82c-22-8-45-5-58 8`}),(0,F.jsx)(`path`,{className:`brain-fold fold-f`,d:`M177 119c-18 5-35 2-49-11`}),(0,F.jsx)(`path`,{className:`brain-fold fold-mid`,d:`M110 38c-5 30-5 70 0 112`})]})}),(0,F.jsx)(`div`,{className:`brain-aura`,style:{animationDuration:e===`thinking`?`1.65s`:e===`recalling`?`2.4s`:`6.8s`,transform:`scale(${1+_*.12})`,opacity:.65+_*.05}}),(0,F.jsx)(`div`,{className:`thought-activity`,"aria-hidden":!0,children:Array.from({length:Math.min(12,5+_*2)}).map((e,n)=>(0,F.jsx)(`div`,{className:si(`thought-particle`,_>=3&&`resolving`),style:{left:`${18+(n*13+_*4)%64}%`,top:`${22+n%5*14}%`,animationDelay:`-${n*.55+t*1.1-_*.2}s`,animationDuration:`${2.8+(1-g)*1.6-_*.15}s`}},n))}),Array.from({length:1+Math.floor(_/1.5)}).map((e,t)=>(0,F.jsx)(`div`,{className:`memory-ripple`,"aria-hidden":!0,style:{inset:`${18+t*6}%`,animationDelay:`${180+t*220}ms`,opacity:.55+_*.06}},t)),_>=4&&(0,F.jsx)(`svg`,{className:`brain-inner-structure`,viewBox:`0 0 100 100`,"aria-hidden":!0,children:(0,F.jsxs)(`g`,{stroke:`hsl(var(--brain-core) / 0.35)`,strokeWidth:`0.6`,fill:`none`,children:[(0,F.jsx)(`circle`,{cx:`50`,cy:`50`,r:`18`}),(0,F.jsx)(`circle`,{cx:`50`,cy:`50`,r:`28`}),(0,F.jsx)(`path`,{d:`M32 50 Q50 32 68 50`}),(0,F.jsx)(`path`,{d:`M32 50 Q50 68 68 50`})]})})]}),o&&!h&&(0,F.jsxs)(`div`,{className:`brain-presence-label`,"data-state":e,children:[(0,F.jsx)(`span`,{className:`dot`}),i||(_>0?`Depth ${_}`:fi(e))]})]})}function fi(e){switch(e){case`listening`:return`Listening`;case`thinking`:return`Thinking with you`;case`recalling`:return`Remembering`;case`synthesizing`:return`Making sense`;case`planning`:return`Planning`;case`acting`:return`Acting`;case`resting`:return`With you`;default:return`Here`}}function pi(){typeof window<`u`&&window.dispatchEvent(new CustomEvent(`brain:recall`))}var mi=P.forwardRef(({className:e,...t},n)=>(0,F.jsx)(`input`,{ref:n,className:si(`h-10 w-full rounded-md border border-input bg-background/70 px-3 text-sm outline-none transition placeholder:text-muted-foreground focus:border-ring focus:ring-2 focus:ring-ring/35 disabled:cursor-not-allowed disabled:opacity-50`,e),...t}));mi.displayName=`Input`;var hi={ko:`한국어`,en:`English`},gi={ko:{"language.label":`언어`,"language.ko":`한국어`,"language.en":`English`,"brain.level":`단계`,"brain.depth.1":`Living Brain`,"brain.depth.2":`Memory Layer`,"brain.depth.3":`Knowledge Layer`,"brain.depth.4":`Relationship Layer`,"brain.depth.5":`Knowledge Graph`,"brain.view.memories":`기억 보기`,"brain.view.topics":`주제 보기`,"brain.view.relationships":`관계 보기`,"brain.view.graph":`그래프로 보기`,"brain.surface":`돌아가기`,"brain.title":`Lattice Brain`,"brain.local":`로컬 우선`,"brain.portable":`이동 가능`,"brain.private":`개인 소유`,"brain.admin":`관리자 콘솔`,"brain.empty.kicker":`내 오래가는 기억`,"brain.empty.title":`잊으면 안 되는 일부터 말해 주세요.`,"brain.empty.body":`문서, 대화, 프로젝트, 결정이 Brain에 쌓이고 나중에 주제와 관계로 다시 보입니다.`,"brain.prompt.remember":`이 결정을 기억해줘: `,"brain.prompt.know":`내가 이미 알고 있는 것은? `,"brain.prompt.plan":`이 프로젝트 맥락을 계획으로 바꿔줘: `,"brain.placeholder":`Brain에게 말하기...`,"brain.image":`이미지`,"brain.unavailable":`지금은 답할 수 없음`,"brain.imageAttached":`이미지 첨부됨`,"brain.send":`보내기`,"brain.saved":`기억에 저장됨 · 연결된 주제 {topics}개 · 관련 기억 {memories}개`,"brain.recalled":`기억을 다시 꺼냈습니다: {title}`,"brain.overview.kicker":`Brain 한눈에 보기`,"brain.overview.title":`기억과 주제를 바로 확인하세요.`,"brain.overview.graph":`전체 그래프`,"brain.overview.recent":`최근 기억`,"brain.overview.recentEmpty":`아직 최근 기억이 없습니다.`,"brain.overview.older":`이전 기억`,"brain.overview.olderEmpty":`대화가 쌓이면 과거 기억이 보입니다.`,"brain.overview.topics":`주요 주제`,"brain.overview.topicsEmpty":`주제가 형성되는 중입니다.`,"brain.graph.empty":`아직 맞는 지식이 없습니다.`,"brain.graph.summaryFallback":`이 개념은 가장 깊은 지식 계층의 일부입니다.`,"brain.graph.focused":`대화와 문서에서 함께 나온 내용이 선으로 이어집니다.`,"brain.graph.emptyFocus":`대화, 문서, 프로젝트를 쌓으면 Brain 그래프가 자랍니다.`,"care.title":`내 Brain 돌보기`,"care.subtitle":`내 컴퓨터에 두고, 필요하면 옮길 수 있습니다.`,"care.private":`개인 보관`,"care.export":`내보내기`,"care.export.detail":`다른 곳으로 가져가기`,"care.backup":`백업`,"care.backup.detail":`복사본 저장`,"care.archive":`보관 파일`,"care.archive.detail":`암호화된 Brain`,"care.path.placeholder":`확인하거나 미리 볼 보관 파일 경로`,"care.path.label":`Brain 보관 파일 경로`,"care.passphrase.placeholder":`보관 파일 비밀번호`,"care.passphrase.label":`Brain 보관 파일 비밀번호`,"care.inspect":`확인`,"care.restorePreview":`복원 미리보기`,"care.note":`복원 미리보기는 Brain을 바꾸지 않고 보관 파일만 확인합니다. 실제 복원은 설정에서 확정합니다.`,"care.working":`진행 중`,"admin.back":`Brain`,"admin.kicker":`분리된 관리자 작업공간`,"admin.title":`Admin Console`,"admin.body":`사용자, 로그, 보안, Brain 상태는 일반 사용자 화면과 분리됩니다.`,"flow.shell":`내 로컬 Brain 만들기`,"flow.login.title":`내 Brain을 시작합니다.`,"flow.login.body":`모델은 바뀔 수 있지만, 내 문서와 대화, 결정, 기억은 사라지면 안 됩니다. Lattice는 이 지식을 내가 소유하는 개인 Brain으로 모읍니다.`,"flow.name":`이름`,"flow.email":`이메일`,"flow.password":`비밀번호`,"flow.password.placeholder":`로컬 Brain 비밀번호`,"flow.login.busy":`Brain 여는 중...`,"flow.login.submit":`내 Brain 시작하기`,"flow.login.note":`기존 Brain과 다른 이메일이면 새로 만들지 않고 먼저 확인합니다.`,"flow.login.missing":`이름과 이메일, 비밀번호를 입력하면 기존 Brain을 안전하게 확인합니다.`,"flow.login.otherEmail":`이 컴퓨터의 기존 Brain과 다른 이메일입니다. 오타인지 확인해 주세요.`,"flow.login.wrongPassword":`기존 Brain 이메일은 맞지만 비밀번호가 다릅니다. 비밀번호를 다시 확인해 주세요.`,"flow.login.unavailable":`로컬 프로필을 열 수 없습니다. 이메일과 비밀번호를 확인해 주세요.`,"flow.promise.memory.k":`오래 남는 지식`,"flow.promise.memory.v":`내 일이 장기 기억이 됩니다.`,"flow.promise.model.k":`교체 가능한 모델`,"flow.promise.model.v":`모델은 목소리이고, 자산은 Brain입니다.`,"flow.promise.ownership.k":`사용자 소유`,"flow.promise.ownership.v":`백업, 복원, 이동이 가능합니다.`,"flow.analysis.title":`이 컴퓨터를 확인합니다.`,"flow.analysis.body":`Brain이 클라우드에 의존하지 않고 이 컴퓨터에서 편하게 돌아갈 수 있는지 확인합니다.`,"flow.analysis.finding":`가장 편한 설정을 찾는 중...`,"flow.analysis.ready":`추천 모델을 바로 시작할 수 있게 준비했습니다.`,"flow.analysis.wait":`잠시만 기다리면 자동으로 정리됩니다.`,"flow.analysis.error":`Lattice가 이 컴퓨터를 끝까지 확인하지 못했습니다. 그래도 안전한 기본값으로 계속할 수 있습니다.`,"flow.analysis.continue":`추천 모델 보기`,"flow.recommend.title":`추천 모델로 시작하세요.`,"flow.recommend.body":`모델은 Brain의 현재 목소리입니다. 나중에 바꿔도 기억과 지식은 그대로 남습니다.`,"flow.recommend.primary":`추천대로 시작하기`,"flow.recommend.unsupported":`이 컴퓨터에서 추가 확인이 필요합니다`,"flow.recommend.back":`뒤로`,"flow.recommend.hint":`잘 모르겠다면 추천대로 시작하면 됩니다.`,"flow.install.title":`모델을 설치하고 시작합니다.`,"flow.install.body":`이 모델이 Brain의 로컬 목소리가 됩니다. 다운로드, 확인, 로드는 사용자가 누른 뒤에만 진행됩니다.`,"flow.install.wait":`Brain이 사용할 모델을 기다리고 있습니다.`,"flow.install.prepare":`Brain 준비 중입니다.`,"flow.install.done":`Brain이 준비되었습니다.`,"flow.install.note":`큰 모델은 다운로드에 몇 분 이상 걸릴 수 있습니다. 진행률은 모델 런타임이 알려주는 만큼 표시하고, 멈춘 것처럼 보여도 현재 단계가 유지됩니다.`,"flow.install.retry":`다른 모델을 고르거나 다시 시도할 수 있습니다.`,"flow.install.back":`다른 모델 고르기`,"flow.install.start":`다운로드하고 시작하기`,"flow.install.busy":`모델 준비 중...`,"flow.install.enter":`Brain으로 들어가기`,"flow.install.local":`모든 작업은 이 컴퓨터에서 진행됩니다.`},en:{"language.label":`Language`,"language.ko":`한국어`,"language.en":`English`,"brain.level":`Level`,"brain.depth.1":`Living Brain`,"brain.depth.2":`Memory Layer`,"brain.depth.3":`Knowledge Layer`,"brain.depth.4":`Relationship Layer`,"brain.depth.5":`Knowledge Graph`,"brain.view.memories":`Memories`,"brain.view.topics":`Topics`,"brain.view.relationships":`Relationships`,"brain.view.graph":`Graph`,"brain.surface":`Back`,"brain.title":`Lattice Brain`,"brain.local":`Local-first`,"brain.portable":`Portable`,"brain.private":`Private`,"brain.admin":`Admin Console`,"brain.empty.kicker":`Durable memory`,"brain.empty.title":`Start with what should not be forgotten.`,"brain.empty.body":`Documents, conversations, projects, and decisions accumulate in your Brain, then reappear as topics and relationships.`,"brain.prompt.remember":`Remember this decision: `,"brain.prompt.know":`What do I already know about `,"brain.prompt.plan":`Turn this project context into a plan: `,"brain.placeholder":`Talk to your Brain...`,"brain.image":`Image`,"brain.unavailable":`Unavailable`,"brain.imageAttached":`Image attached`,"brain.send":`Send`,"brain.saved":`Saved to memory · {topics} linked topics · {memories} related memories`,"brain.recalled":`Recalled this memory: {title}`,"brain.overview.kicker":`Brain at a glance`,"brain.overview.title":`See memories and topics immediately.`,"brain.overview.graph":`Full graph`,"brain.overview.recent":`Recent memories`,"brain.overview.recentEmpty":`No recent memories yet.`,"brain.overview.older":`Earlier memories`,"brain.overview.olderEmpty":`Earlier memories appear as conversations accumulate.`,"brain.overview.topics":`Main topics`,"brain.overview.topicsEmpty":`Topics are still forming.`,"brain.graph.empty":`No matching knowledge yet`,"brain.graph.summaryFallback":`This concept is part of the deepest knowledge layer.`,"brain.graph.focused":`Ideas that appeared together in conversations and documents are connected by lines.`,"brain.graph.emptyFocus":`Your Brain graph grows as you add conversations, documents, and projects.`,"care.title":`Care for my Brain`,"care.subtitle":`Own it locally. Keep it portable.`,"care.private":`Private`,"care.export":`Export`,"care.export.detail":`Take it with you`,"care.backup":`Backup`,"care.backup.detail":`Save a copy`,"care.archive":`Archive`,"care.archive.detail":`Encrypted Brain`,"care.path.placeholder":`Paste an archive path to inspect or preview`,"care.path.label":`Brain archive path`,"care.passphrase.placeholder":`Archive passphrase`,"care.passphrase.label":`Brain archive passphrase`,"care.inspect":`Inspect`,"care.restorePreview":`Restore preview`,"care.note":`Restore preview checks an archive without changing your Brain. Confirmed restore stays in Settings.`,"care.working":`Working`,"admin.back":`Brain`,"admin.kicker":`Separate admin workspace`,"admin.title":`Admin Console`,"admin.body":`Users, logs, security, and Brain health stay out of the normal user experience.`,"flow.shell":`Create your local Brain`,"flow.login.title":`Start your Brain.`,"flow.login.body":`Models can change, but your documents, conversations, decisions, and memories should stay yours. Lattice gathers them into a personal Brain you control.`,"flow.name":`Name`,"flow.email":`Email`,"flow.password":`Password`,"flow.password.placeholder":`Local Brain password`,"flow.login.busy":`Opening Brain...`,"flow.login.submit":`Start my Brain`,"flow.login.note":`If the email differs from this computer's Brain, Lattice checks before creating anything new.`,"flow.login.missing":`Enter your name, email, and password so Lattice can safely check your Brain.`,"flow.login.otherEmail":`This email differs from the Brain on this computer. Please check for a typo.`,"flow.login.wrongPassword":`The email matches this Brain, but the password is different. Please check it again.`,"flow.login.unavailable":`Could not open the local profile. Check your email and password.`,"flow.promise.memory.k":`Durable knowledge`,"flow.promise.memory.v":`Your work becomes long-term memory.`,"flow.promise.model.k":`Replaceable models`,"flow.promise.model.v":`The model is the voice; the Brain is the asset.`,"flow.promise.ownership.k":`User owned`,"flow.promise.ownership.v":`Back up, restore, and move it.`,"flow.analysis.title":`Checking this computer.`,"flow.analysis.body":`Lattice checks whether your Brain can run comfortably on this computer without depending on the cloud.`,"flow.analysis.finding":`Finding the easiest setup...`,"flow.analysis.ready":`Your recommended model is ready to start.`,"flow.analysis.wait":`This will be summarized automatically in a moment.`,"flow.analysis.error":`Lattice could not finish checking this computer. You can still continue with a safe default.`,"flow.analysis.continue":`View recommended models`,"flow.recommend.title":`Start with the recommended model.`,"flow.recommend.body":`The model is your Brain's current voice. You can change it later without losing memory or knowledge.`,"flow.recommend.primary":`Start with recommendation`,"flow.recommend.unsupported":`This computer needs one more check`,"flow.recommend.back":`Back`,"flow.recommend.hint":`If unsure, start with the recommendation.`,"flow.install.title":`Install the model and start.`,"flow.install.body":`This model becomes your Brain's local voice. Download, validation, and loading begin only after you choose to start.`,"flow.install.wait":`Waiting for the model your Brain will use.`,"flow.install.prepare":`Preparing your Brain.`,"flow.install.done":`Your Brain is ready.`,"flow.install.note":`Large models can take several minutes to download. Progress is shown when the model runtime reports it; a steady stage still means work is continuing.`,"flow.install.retry":`Choose another model or try again.`,"flow.install.back":`Choose another model`,"flow.install.start":`Download and start`,"flow.install.busy":`Preparing model...`,"flow.install.enter":`Enter Brain`,"flow.install.local":`Everything runs on this computer.`}};function U(e,t,n){let r=gi[e]?.[t]||gi.ko[t]||t;if(n)for(let[e,t]of Object.entries(n))r=r.replaceAll(`{${e}}`,String(t));return r}var _i=`lattice.productFlow.complete`,vi=`lattice.productFlow.user`;function yi(){try{return localStorage.getItem(_i)===`true`}catch{}return!1}function bi(){try{let e=localStorage.getItem(vi);return e?JSON.parse(e):null}catch{}return null}function xi({onComplete:e}){let t=ln(e=>e.language),[n,r]=P.useState(`login`),[i,a]=P.useState(null),[o,s]=P.useState(null),[c,l]=P.useState(null),u=P.useMemo(()=>ki(i),[i]);return P.useEffect(()=>{if(n!==`analysis`||i)return;let e=!1;async function r(){s(null);let[n,r,i,o]=await Promise.all([z.setupScan(),z.modelRecommendations(`local_mlx`),z.models(),z.sysinfo()]);e||(a({setup:n.ok?n.data:null,recommendations:r.ok?r.data:null,models:i.ok?i.data:null,sysinfo:o.ok?o.data:null}),!n.ok&&!r.ok&&!i.ok&&s(U(t,`flow.analysis.error`)))}return r(),()=>{e=!0}},[i,t,n]),(0,F.jsx)(`div`,{className:`ritual-shell`,"aria-label":U(t,`flow.shell`),children:(0,F.jsxs)(`div`,{className:`ritual-container`,children:[(0,F.jsx)(Si,{}),(0,F.jsx)(`div`,{className:`ritual-brain`,children:(0,F.jsx)(di,{state:n===`login`?`idle`:n===`analysis`?`listening`:n===`recommend`?`recalling`:`thinking`,intensity:n===`install`?.92:.7,size:`large`,showLabel:!1})}),n===`login`&&(0,F.jsx)(Ci,{onSuccess:()=>r(`analysis`)}),n===`analysis`&&(0,F.jsx)(Ti,{analysis:i,error:o,onContinue:()=>r(`recommend`)}),n===`recommend`&&(0,F.jsx)(Ei,{recommendations:u,onBack:()=>r(`analysis`),onSelect:e=>{l(e),r(`install`)}}),n===`install`&&(0,F.jsx)(Di,{model:c||u[0]||Ai(),onBack:()=>r(`recommend`),onComplete:()=>{try{localStorage.setItem(_i,`true`)}catch{}e()}})]})})}function Si(){let e=ln(e=>e.language),t=ln(e=>e.setLanguage);return(0,F.jsx)(`div`,{className:`language-switcher ritual-language`,"aria-label":U(e,`language.label`),children:[`ko`,`en`].map(n=>(0,F.jsx)(`button`,{type:`button`,className:e===n?`is-active`:``,onClick:()=>t(n),"aria-pressed":e===n,children:hi[n]},n))})}function Ci({onSuccess:e}){let t=ln(e=>e.language),[n,r]=P.useState(()=>bi()?.email||`you@local`),[i,a]=P.useState(``),[o,s]=P.useState(()=>bi()?.name||`You`),[c,l]=P.useState(!1),[u,d]=P.useState(null);async function f(r){r.preventDefault();let a=n.trim(),s=i.trim(),c=o.trim()||a.split(`@`)[0]||`You`;if(!a||!s){d(U(t,`flow.login.missing`));return}l(!0),d(null);let u=bi(),f=await z.login(a,s);if(!f.ok){if((await z.profile()).ok&&(!u?.email||u.email===a)){try{localStorage.setItem(vi,JSON.stringify({email:a,name:c}))}catch{}l(!1),e();return}if(u?.email&&u.email!==a){l(!1),d(U(t,`flow.login.otherEmail`));return}if(u?.email===a){l(!1),d(U(t,`flow.login.wrongPassword`));return}(await z.register({email:a,password:s,name:c,nickname:c})).ok&&(f=await z.login(a,s))}if(!f.ok){l(!1),d(U(t,`flow.login.unavailable`));return}try{localStorage.setItem(vi,JSON.stringify({email:a,name:c}))}catch{}l(!1),e()}return(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:`ritual-title`,children:U(t,`flow.login.title`)}),(0,F.jsx)(`div`,{className:`ritual-subtitle`,children:U(t,`flow.login.body`)}),(0,F.jsx)(wi,{}),(0,F.jsxs)(`form`,{onSubmit:f,className:`ritual-card`,style:{maxWidth:420,margin:`0 auto`},children:[(0,F.jsxs)(`div`,{style:{display:`grid`,gap:`0.85rem`},children:[(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{style:{fontSize:`0.75rem`,textTransform:`uppercase`,letterSpacing:`1px`,color:`hsl(var(--fg-muted))`,marginBottom:4},children:U(t,`flow.name`)}),(0,F.jsx)(mi,{value:o,onChange:e=>s(e.target.value),placeholder:`You`})]}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{style:{fontSize:`0.75rem`,textTransform:`uppercase`,letterSpacing:`1px`,color:`hsl(var(--fg-muted))`,marginBottom:4},children:U(t,`flow.email`)}),(0,F.jsx)(mi,{value:n,onChange:e=>r(e.target.value),type:`email`,placeholder:`you@local`})]}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{style:{fontSize:`0.75rem`,textTransform:`uppercase`,letterSpacing:`1px`,color:`hsl(var(--fg-muted))`,marginBottom:4},children:U(t,`flow.password`)}),(0,F.jsx)(mi,{value:i,onChange:e=>a(e.target.value),type:`password`,placeholder:U(t,`flow.password.placeholder`)})]})]}),u&&(0,F.jsx)(`div`,{style:{marginTop:`0.85rem`,padding:`0.6rem 0.85rem`,background:`hsl(var(--destructive)/0.12)`,border:`1px solid hsl(var(--destructive)/0.4)`,borderRadius:10,fontSize:`0.9rem`},children:u}),(0,F.jsx)(ui,{type:`submit`,disabled:c||!n.trim()||!i.trim(),style:{width:`100%`,marginTop:`1rem`},children:c?U(t,`flow.login.busy`):U(t,`flow.login.submit`)}),(0,F.jsx)(`div`,{style:{fontSize:`0.75rem`,color:`hsl(var(--fg-muted))`,marginTop:`0.6rem`},children:U(t,`flow.login.note`)})]})]})}function wi(){let e=ln(e=>e.language);return(0,F.jsxs)(`div`,{className:`ritual-promise`,"aria-label":`Lattice AI product promise`,children:[(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`span`,{children:U(e,`flow.promise.memory.k`)}),(0,F.jsx)(`strong`,{children:U(e,`flow.promise.memory.v`)})]}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`span`,{children:U(e,`flow.promise.model.k`)}),(0,F.jsx)(`strong`,{children:U(e,`flow.promise.model.v`)})]}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`span`,{children:U(e,`flow.promise.ownership.k`)}),(0,F.jsx)(`strong`,{children:U(e,`flow.promise.ownership.v`)})]})]})}function Ti({analysis:e,error:t,onContinue:n}){let r=ln(e=>e.language),i=Oi(e);return(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:`ritual-title`,children:U(r,`flow.analysis.title`)}),(0,F.jsx)(`div`,{className:`ritual-subtitle`,children:U(r,`flow.analysis.body`)}),(0,F.jsx)(`div`,{className:`ritual-fact-grid`,children:i.map((e,t)=>(0,F.jsxs)(`div`,{className:`ritual-fact`,children:[(0,F.jsx)(`div`,{className:`ritual-fact-label`,children:e.label}),(0,F.jsx)(`div`,{className:`ritual-fact-value`,children:e.value}),(0,F.jsx)(`div`,{style:{fontSize:`0.8rem`,color:`hsl(var(--fg-muted))`,marginTop:3},children:e.detail})]},t))}),(0,F.jsx)(`div`,{className:`ritual-card`,style:{marginTop:`1rem`},children:(0,F.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`0.6rem`},children:[(0,F.jsx)(It,{style:{color:`hsl(var(--brain-core))`}}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{style:{fontWeight:620},children:e?Mi(e,r):U(r,`flow.analysis.finding`)}),(0,F.jsx)(`div`,{style:{fontSize:`0.9rem`,color:`hsl(var(--fg-muted))`},children:e?U(r,`flow.analysis.ready`):U(r,`flow.analysis.wait`)})]})]})}),t&&(0,F.jsx)(`div`,{className:`ritual-card`,style:{borderColor:`hsl(var(--destructive)/0.4)`,background:`hsl(var(--destructive)/0.06)`},children:t}),(0,F.jsx)(`div`,{style:{marginTop:`1.25rem`},children:(0,F.jsx)(ui,{onClick:n,disabled:!e&&!t,style:{minWidth:260},children:U(r,`flow.analysis.continue`)})})]})}function Ei({recommendations:e,onBack:t,onSelect:n}){let r=ln(e=>e.language),i=e.length?e:[Ai()];return(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:`ritual-title`,children:U(r,`flow.recommend.title`)}),(0,F.jsx)(`div`,{className:`ritual-subtitle`,children:U(r,`flow.recommend.body`)}),(0,F.jsxs)(`div`,{style:{maxWidth:560,margin:`0 auto`},children:[i[0]?.supported?(0,F.jsx)(ui,{onClick:()=>n(i[0]),style:{width:`100%`,marginBottom:`0.85rem`},children:U(r,`flow.recommend.primary`)}):null,i.slice(0,3).map((e,t)=>(0,F.jsxs)(`button`,{className:`ritual-model-card`,onClick:()=>e.supported&&n(e),disabled:!e.supported,style:{width:`100%`},children:[(0,F.jsx)(`div`,{className:`role`,children:ji(e.role,t,r)}),(0,F.jsx)(`div`,{className:`name`,children:e.shortName}),(0,F.jsxs)(`div`,{className:`reason`,children:[e.reason,` · `,e.size||`ready`]}),!e.supported&&(0,F.jsx)(`div`,{style:{color:`hsl(var(--destructive))`,marginTop:6,fontSize:`0.85rem`},children:U(r,`flow.recommend.unsupported`)})]},`${e.role}-${e.id}`))]}),(0,F.jsxs)(`div`,{style:{marginTop:`1.1rem`,display:`flex`,justifyContent:`center`,gap:`1rem`,alignItems:`center`},children:[(0,F.jsx)(ui,{variant:`ghost`,onClick:t,children:U(r,`flow.recommend.back`)}),(0,F.jsx)(`div`,{style:{fontSize:`0.82rem`,color:`hsl(var(--fg-muted))`},children:U(r,`flow.recommend.hint`)})]})]})}function Di({model:e,onBack:t,onComplete:n}){let r=ln(e=>e.language),[i,a]=P.useState(!1),[o,s]=P.useState(`idle`),[c,l]=P.useState(0),[u,d]=P.useState(U(r,`flow.install.wait`)),[f,p]=P.useState(null);async function m(){a(!0),p(null),s(`install`),l(8),d(U(r,`flow.install.prepare`));let t=await z.streamModelPrepare({model:e.loadId,engine:e.engine||`local_mlx`,allow_download:!0},{onProgress:e=>{let t=Fi(String(e.stage||``));s(t),l(Number(e.percent||Ii(t))),d(Li(e,t,r))},onDone:()=>{s(`done`),l(100),d(U(r,`flow.install.done`))},onError:e=>{s(`error`),p(Bi(e))}});a(!1),t.ok?(s(`done`),l(100),d(U(r,`flow.install.done`)),window.setTimeout(n,700)):(s(`error`),p(Bi(t.data)))}let h=o===`download`?`thinking`:o===`validate`?`recalling`:o===`load`?`synthesizing`:o===`done`?`idle`:`listening`;return(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:`ritual-title`,children:U(r,`flow.install.title`)}),(0,F.jsxs)(`div`,{className:`ritual-subtitle`,children:[(0,F.jsx)(`strong`,{children:e.shortName}),` — `,e.reason,`.`,(0,F.jsx)(`br`,{}),U(r,`flow.install.body`)]}),(0,F.jsx)(`div`,{style:{margin:`0.6rem auto 1rem`},children:(0,F.jsx)(di,{state:h,intensity:o===`download`||o===`load`?.96:.82,size:`normal`})}),(0,F.jsxs)(`div`,{className:`ritual-progress`,children:[(0,F.jsx)(`div`,{className:`ritual-stage-list`,children:[`install`,`download`,`validate`,`load`].map(e=>(0,F.jsxs)(`div`,{className:`ritual-stage ${zi(o,e)}`,children:[(0,F.jsx)(Tt,{style:{width:15,height:15}}),(0,F.jsx)(`span`,{children:Ri(e,r)})]},e))}),(0,F.jsx)(`div`,{className:`ritual-bar`,children:(0,F.jsx)(`span`,{style:{width:`${Math.max(4,Math.min(100,c))}%`}})})]}),(0,F.jsx)(`div`,{className:`ritual-status`,children:u}),(0,F.jsx)(`div`,{className:`ritual-card`,style:{margin:`0.8rem auto 0`,maxWidth:540,fontSize:`0.86rem`,color:`hsl(var(--fg-muted))`},children:U(r,`flow.install.note`)}),f&&(0,F.jsxs)(`div`,{className:`ritual-card`,style:{borderColor:`hsl(var(--destructive)/0.45)`,background:`hsl(var(--destructive)/0.07)`,marginBottom:`1rem`},children:[f,(0,F.jsx)(`div`,{style:{marginTop:`0.5rem`,fontSize:`0.85rem`},children:U(r,`flow.install.retry`)})]}),(0,F.jsxs)(`div`,{style:{display:`flex`,gap:`0.75rem`,justifyContent:`center`,marginTop:`1rem`},children:[(0,F.jsx)(ui,{variant:`ghost`,onClick:t,disabled:i,children:U(r,`flow.install.back`)}),o===`done`?(0,F.jsx)(ui,{onClick:n,children:U(r,`flow.install.enter`)}):(0,F.jsx)(ui,{onClick:m,disabled:i||!e.supported,children:i?U(r,`flow.install.busy`):U(r,`flow.install.start`)})]}),(0,F.jsx)(`div`,{style:{fontSize:`0.72rem`,color:`hsl(var(--fg-muted))`,marginTop:`0.9rem`},children:U(r,`flow.install.local`)})]})}function Oi(e){if(!e)return[{label:`Computer`,value:`Checking`,detail:`Operating system and chip`},{label:`Memory`,value:`Checking`,detail:`Available room for local thinking`},{label:`Graphics`,value:`Checking`,detail:`Local acceleration support`},{label:`Local Support`,value:`Checking`,detail:`Installed model helpers`},{label:`Models`,value:`Checking`,detail:`Installed local Brains`}];let t=Hi(e.setup?.environment),n=Hi(e.recommendations?.profile),r=Hi(e.recommendations?.recommendations),i=Hi(e.models),a=Hi(e.sysinfo),o={...t,...n},s=Number(r.ram_gb||Number(o.ram_mb||0)/1024||0),c=!!(r.apple_silicon||String(o.arch||``).includes(`arm`)),l=ci(i.loaded),u=Hi(o.gpu),d=[...ci(t.installed_runtimes),...ci(o.installed_runtimes),...ci(r.installed_runtimes)];return[{label:`Computer`,value:c?`Apple Silicon Mac`:Pi(o.os),detail:`Ready for local AI workspace use`},{label:`Memory`,value:s?`${Math.round(s)} GB`:`Detected`,detail:`Enough context for the recommended model`},{label:`Graphics`,value:u.vendor||a.gpu_mem_gb?`Local acceleration ready`:`Standard local mode`,detail:`Lattice will choose the best available path`},{label:`Local Support`,value:d.length?`Ready`:`Will be prepared`,detail:d.length?`Installed model helpers detected`:`Lattice will add what is needed`},{label:`Models`,value:l.length?`${l.length} already installed`:`None installed yet`,detail:l.length?`One can be loaded immediately`:`Lattice will guide the first install`}]}function ki(e){let t=Hi(e?.models),n=[...ci(t.recommended),...ci(t.catalog)],r=Hi(e?.recommendations?.recommendations),i=ci(r.models),a=Hi(r.top_pick),o=new Map;for(let e of[...i,...n]){let t=String(e.id||e.model_id||e.recommended_load_id||``);t&&o.set(t,{...o.get(t)||{},...e})}a.id&&!o.has(String(a.id))&&o.set(String(a.id),a);let s=Array.from(o.values()).map(W).filter(e=>e.id),c=s.filter(e=>e.supported),l=c.length?c:s,u=(e=>l.find(t=>t.id===String(e)))(a.id)||(e=>l.find(t=>e.test(`${t.name} ${t.id}`)))(/gemma.*12|12b/i)||l[0],d=l.find(e=>e.id!==u?.id&&/qwen|8b|7b/i.test(`${e.name} ${e.id}`))||l.find(e=>e.id!==u?.id),f=l.find(e=>e.id!==u?.id&&e.id!==d?.id&&/26b|32b|70b|advanced/i.test(`${e.name} ${e.id}`))||l.find(e=>e.id!==u?.id&&e.id!==d?.id);return[u?{...u,role:`best`,reason:`Best Experience`}:null,d?{...d,role:`faster`,reason:`Faster`}:null,f?{...f,role:`advanced`,reason:`Advanced`}:null].filter(Boolean)}function W(e){let t=Hi(e.runtime_compatibility),n=String(e.id||e.model_id||e.recommended_load_id||``),r=String(e.recommended_load_id||e.load_id||n),i=String(e.display_name||e.name||n||`Recommended Brain`),a=e.load_status!==`unsupported`&&e.load_status!==`runtime_update_needed`&&e.status!==`not_recommended`&&t.supported!==!1;return{id:n,loadId:r,engine:String(e.recommended_engine||e.engine||`local_mlx`),name:i,shortName:Ni(i||n),family:Ni(String(e.family||i||`Local Brain`)),size:String(e.size||``),role:`best`,reason:String(e.reason||`Recommended`),supported:a,downloadRequired:!!e.download_required}}function Ai(){return{id:`mlx-community/Qwen3-VL-8B-Instruct-4bit`,loadId:`mlx-community/Qwen3-VL-8B-Instruct-4bit`,engine:`local_mlx`,name:`Qwen3-VL 8B`,shortName:`Qwen 3`,family:`Qwen 3`,size:`ready`,role:`best`,reason:`Best Experience`,supported:!0,downloadRequired:!1}}function ji(e,t,n){return e===`best`?n===`ko`?`추천`:`Best Experience`:e===`faster`?n===`ko`?`빠른 선택`:`Faster`:e===`advanced`?n===`ko`?`고급 선택`:`Advanced`:`Choice ${t+1}`}function Mi(e,t){let n=Hi(Hi(e.recommendations?.recommendations).top_pick);if(n.name||n.id){let e=Ni(String(n.name||n.id));return t===`ko`?`${e}이 이 컴퓨터에 가장 잘 맞습니다.`:`${e} looks like the best fit.`}return t===`ko`?`이 컴퓨터에는 개인 로컬 Brain을 추천합니다.`:`A private local Brain is recommended for this computer.`}function Ni(e){return String(e||`Recommended Brain`).replace(/^mlx-community\//i,``).replace(/[-_]?Instruct/gi,``).replace(/[-_]?4bit/gi,``).replace(/Qwen3[-_ ]?VL/gi,`Qwen 3`).replace(/Qwen3/gi,`Qwen 3`).replace(/Gemma[-_ ]?4/gi,`Gemma 4`).replace(/A4B/gi,``).replace(/[-_]+/g,` `).replace(/\s+/g,` `).trim()}function Pi(e){let t=String(e||`Computer`);return/darwin|mac/i.test(t)?`Mac`:/win/i.test(t)?`Windows PC`:/linux/i.test(t)?`Linux computer`:`Computer`}function Fi(e){return/download|pull|weights/i.test(e)?`download`:/smoke|validate|verify|test/i.test(e)?`validate`:/load|ready/i.test(e)?`load`:/done|complete/i.test(e)?`done`:`install`}function Ii(e){return e===`install`?20:e===`download`?55:e===`validate`?82:e===`load`?94:e===`done`?100:8}function Li(e,t,n){let r={install:U(n,`flow.install.prepare`),download:n===`ko`?`모델 파일을 받는 중입니다.`:`Getting the model files.`,validate:n===`ko`?`Brain이 응답할 수 있는지 확인 중입니다.`:`Checking that the Brain can answer.`,load:n===`ko`?`Brain을 불러오는 중입니다.`:`Loading the Brain.`,done:U(n,`flow.install.done`),idle:U(n,`flow.install.wait`),error:n===`ko`?`확인이 필요한 일이 있습니다.`:`Something needs attention.`}[t];return Vi(String(e.user_message||e.message||r))}function Ri(e,t){return t===`ko`?e===`install`?`준비`:e===`download`?`다운로드`:e===`validate`?`확인`:`로드`:e===`install`?`Install`:e===`download`?`Download`:e===`validate`?`Validate`:`Load`}function zi(e,t){let n=[`idle`,`install`,`download`,`validate`,`load`,`done`],r=n.indexOf(e),i=n.indexOf(t);return e===`error`?`is-error`:e===`done`||r>i?`is-done`:e===t?`is-active`:``}function Bi(e){let t=Hi(e),n=ci(t.recovery_guidance).map(Vi).filter(Boolean);return[Vi(String(t.user_message||t.reason||t.error||`The selected model could not be loaded.`)),...n.slice(0,2)].join(` `)}function Vi(e){return String(e||``).replace(/gemma4_unified/gi,`this model format`).replace(/mlx[-_ ]?vlm|mlx[-_ ]?lm|local_mlx|\bmlx\b|\bgguf\b|\bollama\b|huggingface|hugging face/gi,`local model support`).replace(/runtime/gi,`model support`).replace(/No module named ['\"][^'\"]+['\"]/gi,`A local support component is missing`).replace(/\s+/g,` `).trim()}function Hi(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}var Ui=[{level:1,label:`Living Brain`,state:`idle`},{level:2,label:`Memory Layer`,state:`recalling`},{level:3,label:`Knowledge Layer`,state:`synthesizing`},{level:4,label:`Relationship Layer`,state:`planning`},{level:5,label:`Knowledge Graph`,state:`synthesizing`}];function Wi(){let e=ln(e=>e.theme),t=ln(e=>e.language),[n,r]=P.useState(yi),i=Gi(),{state:a,intensity:o,setBrain:s}=qi();return P.useEffect(()=>{document.documentElement.dataset.theme=e,document.documentElement.lang=t===`ko`?`ko`:`en`},[e,t]),P.useEffect(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===`k`&&(e.preventDefault(),document.querySelector(`.brain-composer textarea`)?.focus())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]),n?(0,F.jsxs)(`div`,{className:`brain-space`,children:[(0,F.jsx)(`div`,{className:`brain-field`}),i.startsWith(`/admin`)?(0,F.jsx)(Xi,{onBack:()=>Ki(`/brain`)}):(0,F.jsx)(Ji,{brainState:a,intensity:o,onBrainChange:s})]}):(0,F.jsx)(xi,{onComplete:()=>r(!0)})}function Gi(){let e=P.useCallback(()=>{let e=window.location.hash.replace(/^#/,``);return e.startsWith(`/`)?e:`/brain`},[]),[t,n]=P.useState(e);return P.useEffect(()=>{let t=()=>n(e());return window.addEventListener(`hashchange`,t),()=>window.removeEventListener(`hashchange`,t)},[e]),t}function Ki(e){window.location.hash=e}function qi(){let[e,t]=P.useState(`idle`),[n,r]=P.useState(.58);return{state:e,intensity:n,setBrain:P.useCallback((e,n)=>{t(e),n!==void 0&&r(Na(n,.38,1))},[])}}function Ji({brainState:e,intensity:t,onBrainChange:n}){let r=Ye(),i=ln(e=>e.language),[a,o]=P.useState([]),[s,c]=P.useState(``),[l,u]=P.useState(null),[d,f]=P.useState(!1),[p,m]=P.useState(null),[h,g]=P.useState(1),[_,v]=P.useState(``),[y,b]=P.useState(null),[x,ee]=P.useState(null),S=P.useRef(null),C=P.useRef(null),w=I({queryKey:[`memoryManager`],queryFn:z.memoryManager}),te=I({queryKey:[`chatHistory`],queryFn:z.chatHistory}),ne=I({queryKey:[`graph`],queryFn:z.graph}),T=I({queryKey:[`models`],queryFn:z.models}),re=P.useMemo(()=>fa(w.data?.data,te.data?.data),[w.data,te.data]),ie=P.useMemo(()=>pa(ne.data?.data),[ne.data]),ae=P.useMemo(()=>ie.nodes.slice(0,10),[ie.nodes]),E=P.useMemo(()=>ie.edges.slice(0,10),[ie.edges]),D=P.useMemo(()=>ma(T.data?.data),[T.data]),O=Ui[h-1],oe=P.useMemo(()=>[U(i,`brain.prompt.remember`),U(i,`brain.prompt.know`),U(i,`brain.prompt.plan`)],[i]);P.useEffect(()=>{d?n(`thinking`,.94):s.trim().length>4?n(`listening`,.76):n(O.state,h===1?.58:.66+h*.06)},[d,s,O.state,h,n]),P.useEffect(()=>{let e=S.current;e&&(e.scrollTop=e.scrollHeight)},[a]),P.useEffect(()=>()=>{C.current!==null&&window.clearTimeout(C.current)},[]);async function k(){let e=s.trim();if(!e||d)return;let t=p||`brain-${Date.now()}`;p||m(t),o(t=>[...t,{role:`user`,content:e},{role:`assistant`,content:``}]),c(``),u(null),f(!0),ee(null),n(`thinking`,.96);try{let r=await z.streamChat({message:e,conversation_id:t,image_data:l||void 0},{onChunk:(e,t)=>{o(e=>{let n=[...e];return n[n.length-1]={role:`assistant`,content:t},n})},onTrace:e=>{e&&(n(`recalling`,.9),pi(),C.current!==null&&window.clearTimeout(C.current),C.current=window.setTimeout(()=>n(`thinking`,.9),900))}});r.error?o(e=>{let t=[...e];return t[t.length-1]={role:`assistant`,content:`${U(i,`brain.unavailable`)}: ${r.error}`},t}):ee(U(i,`brain.saved`,{topics:ae.length,memories:re.length}))}finally{f(!1),r.invalidateQueries({queryKey:[`chatHistory`]}),r.invalidateQueries({queryKey:[`memoryManager`]}),r.invalidateQueries({queryKey:[`graph`]})}}function A(){g(e=>{let t=Math.min(5,e+1),r=Ui[t-1];return n(r.state,.66+t*.06),t>=2&&pi(),t})}function se(e){g(e);let t=Ui[e-1];n(t.state,e===1?.58:.66+e*.06),e>=2&&pi()}function ce(){g(1),b(null),v(``),n(`idle`,.58)}function le(e){pi(),g(e=>Math.max(e,2)),o(t=>[...t,{role:`assistant`,content:U(i,`brain.recalled`,{title:e.title})}])}return(0,F.jsxs)(`main`,{className:`brain-home`,"aria-label":`Lattice Brain`,children:[(0,F.jsx)(`section`,{className:`brain-presence`,"aria-label":`Brain exploration`,children:(0,F.jsxs)(`div`,{className:`brain-exploration`,"data-depth":h,children:[(0,F.jsx)(di,{state:e,intensity:t+h*.035,size:`large`,depth:h,showLabel:!1,onInteract:A}),(0,F.jsxs)(`div`,{className:`brain-depth-badge`,"aria-live":`polite`,children:[(0,F.jsxs)(`span`,{children:[U(i,`brain.level`),` `,h]}),(0,F.jsx)(`strong`,{children:U(i,`brain.depth.${h}`)})]}),(0,F.jsxs)(`div`,{className:`brain-depth-actions`,"aria-label":`Brain quick views`,children:[(0,F.jsx)(`button`,{type:`button`,className:h===2?`is-active`:``,onClick:()=>se(2),children:U(i,`brain.view.memories`)}),(0,F.jsx)(`button`,{type:`button`,className:h===3?`is-active`:``,onClick:()=>se(3),children:U(i,`brain.view.topics`)}),(0,F.jsx)(`button`,{type:`button`,className:h===4?`is-active`:``,onClick:()=>se(4),children:U(i,`brain.view.relationships`)}),(0,F.jsx)(`button`,{type:`button`,className:h===5?`is-active`:``,onClick:()=>se(5),children:U(i,`brain.view.graph`)})]}),(0,F.jsx)(`div`,{className:`brain-field-layer`,"aria-hidden":h<2,children:(0,F.jsx)(aa,{depth:h,memories:re,concepts:ae,relationships:E,graphModel:ie,graphSearch:_,selectedGraphId:y,onGraphSearch:v,onSelectGraphNode:b,onRecallMemory:le})}),h>1?(0,F.jsx)(`button`,{className:`brain-surface-control`,type:`button`,onClick:ce,children:U(i,`brain.surface`)}):null]})}),(0,F.jsxs)(`section`,{className:`brain-conversation`,"aria-label":`Conversation`,children:[(0,F.jsxs)(`div`,{className:`brain-conversation-header`,children:[(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`h1`,{children:U(i,`brain.title`)}),(0,F.jsx)(`span`,{children:U(i,`brain.depth.${h}`)})]}),(0,F.jsx)(Yi,{compact:!0}),(0,F.jsxs)(`div`,{className:`brain-ownership-strip`,"aria-label":`Brain ownership guarantees`,children:[(0,F.jsx)(`span`,{children:U(i,`brain.local`)}),(0,F.jsx)(`span`,{children:U(i,`brain.portable`)}),(0,F.jsx)(`span`,{children:U(i,`brain.private`)})]}),(0,F.jsx)(`div`,{children:D}),(0,F.jsxs)(`button`,{className:`brain-admin-link`,type:`button`,onClick:()=>Ki(`/admin`),children:[(0,F.jsx)(Ft,{className:`h-3.5 w-3.5`}),U(i,`brain.admin`)]})]}),(0,F.jsxs)(`div`,{ref:S,className:`brain-stream`,children:[(0,F.jsx)(oa,{memories:re,concepts:ae,onOpenDepth:se}),a.length===0?(0,F.jsxs)(`div`,{className:`mind-empty`,children:[(0,F.jsx)(`div`,{className:`mind-empty-kicker`,children:U(i,`brain.empty.kicker`)}),(0,F.jsx)(`div`,{className:`mind-empty-title`,children:U(i,`brain.empty.title`)}),(0,F.jsx)(`p`,{children:U(i,`brain.empty.body`)}),(0,F.jsx)(`div`,{className:`mind-empty-prompts`,"aria-label":`Starter prompts`,children:oe.map(e=>(0,F.jsx)(`button`,{type:`button`,onClick:()=>c(e),children:e},e))})]}):a.map((e,t)=>(0,F.jsx)(`div`,{className:`brain-message ${e.role}`,children:(0,F.jsx)(`div`,{className:`brain-message-bubble`,children:e.content})},`${e.role}-${t}`))]}),x?(0,F.jsx)(`div`,{className:`brain-save-feedback`,role:`status`,children:x}):null,(0,F.jsx)(na,{language:i}),(0,F.jsxs)(`div`,{className:`brain-composer`,children:[(0,F.jsx)(`textarea`,{value:s,onChange:e=>c(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),k())},placeholder:U(i,`brain.placeholder`)}),(0,F.jsxs)(`div`,{className:`brain-composer-actions`,children:[(0,F.jsxs)(`label`,{className:`brain-image-input`,children:[(0,F.jsx)(kt,{className:`h-3.5 w-3.5`}),(0,F.jsx)(`span`,{children:U(i,`brain.image`)}),(0,F.jsx)(`input`,{type:`file`,accept:`image/*`,className:`sr-only`,onChange:async e=>{let t=e.target.files?.[0];t&&u(await wa(t))}})]}),l?(0,F.jsx)(`span`,{className:`brain-quiet-success`,children:U(i,`brain.imageAttached`)}):null,(0,F.jsxs)(ui,{onClick:()=>void k(),disabled:!s.trim()||d,className:`rounded-full px-5`,children:[(0,F.jsx)(Nt,{className:`h-4 w-4`}),` `,U(i,`brain.send`)]})]})]})]})]})}function Yi({compact:e=!1}){let t=ln(e=>e.language),n=ln(e=>e.setLanguage);return(0,F.jsx)(`div`,{className:e?`language-switcher compact`:`language-switcher`,"aria-label":U(t,`language.label`),children:[`ko`,`en`].map(e=>(0,F.jsx)(`button`,{type:`button`,className:t===e?`is-active`:``,onClick:()=>n(e),"aria-pressed":t===e,children:hi[e]},e))})}function Xi({onBack:e}){let t=Ye(),n=ln(e=>e.language),[r,i]=P.useState({q:``,actor:``,action:``,severity:``,limit:50}),{summaryQ:a,statsQ:o,usersQ:s,auditQ:c,securityQ:l,securityEventsQ:u,policiesQ:d,rolesQ:f,retentionQ:p,indexQ:m}=Zi(r),h=ut({mutationFn:z.rebuildIndex,onSuccess:()=>void t.invalidateQueries({queryKey:[`indexStatus`]})}),g=ci(s.data?.data),_=ci(c.data?.data?.recent_events),v=ci(u.data?.data?.events),y=ci(d.data?.data?.policies),b=ci(f.data?.data?.roles),x=p.data?.data||{};return(0,F.jsxs)(`main`,{className:`admin-console`,"aria-label":`Lattice Admin`,children:[(0,F.jsxs)(`header`,{className:`admin-console-header`,children:[(0,F.jsxs)(`button`,{className:`admin-back-button`,type:`button`,onClick:e,children:[(0,F.jsx)(Ct,{className:`h-4 w-4`}),U(n,`admin.back`)]}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`span`,{children:U(n,`admin.kicker`)}),(0,F.jsx)(`h1`,{children:U(n,`admin.title`)}),(0,F.jsx)(`p`,{children:U(n,`admin.body`)})]}),(0,F.jsx)(Yi,{compact:!0})]}),(0,F.jsxs)(`section`,{className:`admin-metrics`,"aria-label":`Admin overview`,children:[(0,F.jsx)($i,{icon:(0,F.jsx)(Lt,{className:`h-4 w-4`}),label:`Users`,value:String(g.length),detail:ya(s.data)}),(0,F.jsx)($i,{icon:(0,F.jsx)(xt,{className:`h-4 w-4`}),label:`Recent logs`,value:String(_.length+v.length),detail:ya(c.data)}),(0,F.jsx)($i,{icon:(0,F.jsx)(Ft,{className:`h-4 w-4`}),label:`Security`,value:ba(l.data?.data,`status`)||(l.data?.ok?`Ready`:`Unavailable`),detail:ya(l.data)}),(0,F.jsx)($i,{icon:(0,F.jsx)(Pt,{className:`h-4 w-4`}),label:`Brain index`,value:ba(m.data?.data,`status`)||(m.data?.ok?`Indexed`:`Unknown`),detail:xa(m.data?.data)})]}),(0,F.jsxs)(`section`,{className:`admin-grid`,children:[(0,F.jsx)(ea,{title:`User Directory`,eyebrow:`People`,children:(0,F.jsx)(ta,{items:g.slice(0,8),empty:`No users reported by the admin API.`,render:e=>{let t=e;return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`strong`,{children:Ca(t.name||t.email||t.id,`Local user`)}),(0,F.jsx)(`span`,{children:Ca(t.role||t.status||t.workspace_id,`member`)})]})}})}),(0,F.jsx)(ea,{title:`Role Permissions`,eyebrow:`Access`,children:(0,F.jsx)(ta,{items:b.slice(0,6),empty:`No role matrix reported.`,render:e=>{let t=e;return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)(`strong`,{children:[Ca(t.role,`role`),` · `,Ca(t.members,`0`),` users`]}),(0,F.jsx)(`span`,{children:ci(t.caps).slice(0,4).map(e=>Ca(e,``)).filter(Boolean).join(`, `)||`No caps`})]})}})}),(0,F.jsxs)(ea,{title:`Activity Logs`,eyebrow:`Audit`,children:[(0,F.jsx)(Qi,{filters:r,onChange:i,matched:c.data?.data?.filters}),(0,F.jsx)(ta,{items:_.slice(0,8),empty:`No recent audit events.`,render:e=>va(e)})]}),(0,F.jsx)(ea,{title:`Security Events`,eyebrow:`Protection`,children:(0,F.jsx)(ta,{items:v.slice(0,8),empty:`No security events reported.`,render:e=>va(e)})}),(0,F.jsxs)(ea,{title:`Brain Operations`,eyebrow:`Maintenance`,children:[(0,F.jsxs)(`div`,{className:`admin-operation`,children:[(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`strong`,{children:xa(m.data?.data)}),(0,F.jsx)(`span`,{children:Sa(a.data?.data)||Sa(o.data?.data)||`Local Brain services are separated from user chat.`})]}),(0,F.jsxs)(ui,{variant:`outline`,size:`sm`,disabled:h.isPending,onClick:()=>h.mutate(),children:[(0,F.jsx)(jt,{className:`h-3.5 w-3.5`}),h.isPending?`Rebuilding`:`Rebuild index`]})]}),(0,F.jsxs)(`div`,{className:`admin-policy-strip`,children:[y.slice(0,5).map((e,t)=>{let n=e;return(0,F.jsx)(`span`,{children:Ca(n.label||n.name||n.id,`Policy`)},`${Ca(n.id||n.name,`policy`)}-${t}`)}),y.length?null:(0,F.jsx)(`span`,{children:`Policy API quiet`})]}),(0,F.jsxs)(`div`,{className:`admin-retention`,children:[(0,F.jsxs)(`strong`,{children:[Ca(x.retention_days,`90`),` day retention`]}),(0,F.jsxs)(`span`,{children:[Ca(x.retained_events,`0`),` retained · `,Ca(x.prune_candidates,`0`),` ready for export/prune review`]})]})]})]})]})}function Zi(e){let t=P.useMemo(()=>({q:e.q||void 0,actor:e.actor||void 0,action:e.action||void 0,severity:e.severity||void 0,limit:e.limit}),[e]);return{summaryQ:I({queryKey:[`adminSummary`],queryFn:z.adminSummary}),statsQ:I({queryKey:[`adminStats`],queryFn:z.adminStats}),usersQ:I({queryKey:[`adminUsers`],queryFn:z.adminUsers}),auditQ:I({queryKey:[`adminAudit`,t],queryFn:()=>z.adminAudit(t)}),securityQ:I({queryKey:[`adminSecurity`],queryFn:z.adminSecurity}),securityEventsQ:I({queryKey:[`adminSecurityEvents`],queryFn:()=>z.adminSecurityEvents(50)}),policiesQ:I({queryKey:[`adminPolicies`],queryFn:z.adminPolicies}),rolesQ:I({queryKey:[`adminRoles`],queryFn:z.adminRoles}),retentionQ:I({queryKey:[`adminLogRetention`],queryFn:z.adminLogRetention}),indexQ:I({queryKey:[`indexStatus`],queryFn:z.indexStatus})}}function Qi({filters:e,matched:t,onChange:n}){return(0,F.jsxs)(`div`,{className:`admin-log-filters`,"aria-label":`Audit log filters`,children:[(0,F.jsxs)(`label`,{children:[(0,F.jsx)(Mt,{className:`h-3.5 w-3.5`}),(0,F.jsx)(`input`,{value:e.q,onChange:e=>n(t=>({...t,q:e.target.value})),placeholder:`Search logs`,"aria-label":`Search audit logs`})]}),(0,F.jsxs)(`label`,{children:[(0,F.jsx)(At,{className:`h-3.5 w-3.5`}),(0,F.jsxs)(`select`,{value:e.severity,onChange:e=>n(t=>({...t,severity:e.target.value})),"aria-label":`Filter by severity`,children:[(0,F.jsx)(`option`,{value:``,children:`All severities`}),(0,F.jsx)(`option`,{value:`informational`,children:`Informational`}),(0,F.jsx)(`option`,{value:`notice`,children:`Notice`}),(0,F.jsx)(`option`,{value:`warning`,children:`Warning`}),(0,F.jsx)(`option`,{value:`high`,children:`High`})]})]}),(0,F.jsxs)(`span`,{children:[Ca(t?.matched_events,`0`),` matched`]})]})}function $i({icon:e,label:t,value:n,detail:r}){return(0,F.jsxs)(`div`,{className:`admin-metric`,children:[(0,F.jsx)(`div`,{children:e}),(0,F.jsx)(`span`,{children:t}),(0,F.jsx)(`strong`,{children:n}),(0,F.jsx)(`small`,{children:r})]})}function ea({eyebrow:e,title:t,children:n}){return(0,F.jsxs)(`section`,{className:`admin-panel`,children:[(0,F.jsxs)(`div`,{className:`admin-panel-head`,children:[(0,F.jsx)(`span`,{children:e}),(0,F.jsx)(`h2`,{children:t})]}),n]})}function ta({items:e,empty:t,render:n}){return e.length?(0,F.jsx)(`div`,{className:`admin-list`,children:e.map((e,t)=>(0,F.jsx)(`div`,{className:`admin-list-row`,children:n(e)},t))}):(0,F.jsx)(`div`,{className:`admin-empty`,children:t})}function na({language:e}){let t=Ye(),[n,r]=P.useState(!1),[i,a]=P.useState(``),[o,s]=P.useState(``),[c,l]=P.useState(null),u=I({queryKey:[`portability`],queryFn:z.graphPortability}),d=I({queryKey:[`backupHealth`],queryFn:z.backupHealth}),f=P.useCallback(e=>l(e),[]),p=ra(()=>z.graphExport(),void 0,f),m=ra(()=>z.graphBackup(),()=>{t.invalidateQueries({queryKey:[`backupHealth`]}),t.invalidateQueries({queryKey:[`portability`]})},f),h=ra(()=>z.brainArchive({path:i.trim()||null,passphrase:o}),()=>void t.invalidateQueries({queryKey:[`backupHealth`]}),f),g=ra(()=>z.brainArchiveInspect({path:i.trim(),passphrase:o||null}),void 0,f),_=ra(()=>z.brainArchiveRestore({path:i.trim(),passphrase:o,dry_run:!0,confirm:!1}),void 0,f),v=ha(u.data?.data),y=ga(d.data?.data);return(0,F.jsxs)(`section`,{className:`brain-care-panel ${n?`is-expanded`:`is-collapsed`}`,"aria-label":U(e,`care.title`),children:[(0,F.jsxs)(`button`,{className:`brain-care-summary`,type:`button`,"aria-expanded":n,"aria-controls":`brain-care-details`,onClick:()=>r(e=>!e),children:[(0,F.jsxs)(`span`,{className:`brain-care-summary-main`,children:[(0,F.jsxs)(`span`,{children:[(0,F.jsx)(Ft,{className:`h-3.5 w-3.5`}),` `,U(e,`care.title`)]}),(0,F.jsx)(`strong`,{children:U(e,`care.subtitle`)})]}),(0,F.jsxs)(`div`,{className:`brain-care-proof`,"aria-label":`Ownership model`,children:[(0,F.jsx)(`span`,{children:U(e,`care.private`)}),(0,F.jsx)(`span`,{children:v}),(0,F.jsx)(`span`,{children:y})]}),(0,F.jsx)(wt,{className:`brain-care-toggle h-4 w-4`,"aria-hidden":`true`})]}),n?(0,F.jsxs)(`div`,{id:`brain-care-details`,className:`brain-care-details`,children:[(0,F.jsxs)(`div`,{className:`brain-care-actions`,children:[(0,F.jsx)(ia,{icon:(0,F.jsx)(Dt,{className:`h-3.5 w-3.5`}),label:U(e,`care.export`),detail:U(e,`care.export.detail`),pendingLabel:U(e,`care.working`),pending:p.isPending,onClick:()=>p.mutate()}),(0,F.jsx)(ia,{icon:(0,F.jsx)(Et,{className:`h-3.5 w-3.5`}),label:U(e,`care.backup`),detail:U(e,`care.backup.detail`),pendingLabel:U(e,`care.working`),pending:m.isPending,onClick:()=>m.mutate()}),(0,F.jsx)(ia,{icon:(0,F.jsx)(St,{className:`h-3.5 w-3.5`}),label:U(e,`care.archive`),detail:U(e,`care.archive.detail`),pendingLabel:U(e,`care.working`),pending:h.isPending,disabled:!o.trim(),onClick:()=>h.mutate()})]}),(0,F.jsxs)(`div`,{className:`brain-care-archive`,children:[(0,F.jsx)(`input`,{value:i,onChange:e=>a(e.target.value),placeholder:U(e,`care.path.placeholder`),"aria-label":U(e,`care.path.label`)}),(0,F.jsx)(`input`,{type:`password`,value:o,onChange:e=>s(e.target.value),placeholder:U(e,`care.passphrase.placeholder`),"aria-label":U(e,`care.passphrase.label`)}),(0,F.jsxs)(`div`,{className:`brain-care-archive-actions`,children:[(0,F.jsxs)(ui,{variant:`outline`,size:`sm`,disabled:!i.trim()||g.isPending,onClick:()=>g.mutate(),children:[(0,F.jsx)(Ot,{className:`h-3.5 w-3.5`}),` `,U(e,`care.inspect`)]}),(0,F.jsxs)(ui,{variant:`outline`,size:`sm`,disabled:!i.trim()||!o.trim()||_.isPending,onClick:()=>_.mutate(),children:[(0,F.jsx)(jt,{className:`h-3.5 w-3.5`}),` `,U(e,`care.restorePreview`)]})]})]}),c?(0,F.jsx)(`div`,{className:`brain-care-result ${c.ok?`is-ok`:`is-error`}`,role:`status`,children:_a(c)}):(0,F.jsx)(`p`,{className:`brain-care-note`,children:U(e,`care.note`)})]}):null]})}function ra(e,t,n){return ut({mutationFn:e,onSuccess:e=>{n?.(e),t?.()}})}function ia({icon:e,label:t,detail:n,pendingLabel:r,pending:i,disabled:a,onClick:o}){return(0,F.jsxs)(`button`,{className:`brain-care-button`,type:`button`,disabled:a||i,onClick:o,children:[e,(0,F.jsxs)(`span`,{children:[(0,F.jsx)(`strong`,{children:i?r:t}),(0,F.jsx)(`small`,{children:n})]})]})}function aa({depth:e,memories:t,concepts:n,relationships:r,graphModel:i,graphSearch:a,selectedGraphId:o,onGraphSearch:s,onSelectGraphNode:c,onRecallMemory:l}){return e===1?null:(0,F.jsxs)(F.Fragment,{children:[e>=2?(0,F.jsx)(ca,{memories:t,depth:e,onRecallMemory:l}):null,e>=3&&e<5?(0,F.jsx)(la,{concepts:n,depth:e}):null,e>=4&&e<5?(0,F.jsx)(ua,{concepts:n,relationships:r}):null,e>=5?(0,F.jsx)(da,{model:i,search:a,selectedId:o,onSearch:s,onSelect:c}):null]})}function oa({memories:e,concepts:t,onOpenDepth:n}){let r=ln(e=>e.language),i=e.slice(0,3),a=e.slice(3,6),o=t.slice(0,4);return(0,F.jsxs)(`section`,{className:`brain-overview-panel`,"aria-label":`Brain overview`,children:[(0,F.jsxs)(`div`,{className:`brain-overview-head`,children:[(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`span`,{children:U(r,`brain.overview.kicker`)}),(0,F.jsx)(`strong`,{children:U(r,`brain.overview.title`)})]}),(0,F.jsx)(`button`,{type:`button`,onClick:()=>n(5),children:U(r,`brain.overview.graph`)})]}),(0,F.jsxs)(`div`,{className:`brain-overview-grid`,children:[(0,F.jsx)(sa,{title:U(r,`brain.overview.recent`),empty:U(r,`brain.overview.recentEmpty`),items:i.map(e=>e.title),onOpen:()=>n(2)}),(0,F.jsx)(sa,{title:U(r,`brain.overview.older`),empty:U(r,`brain.overview.olderEmpty`),items:a.map(e=>e.title),onOpen:()=>n(2)}),(0,F.jsx)(sa,{title:U(r,`brain.overview.topics`),empty:U(r,`brain.overview.topicsEmpty`),items:o.map(e=>e.label),onOpen:()=>n(3)})]})]})}function sa({title:e,empty:t,items:n,onOpen:r}){return(0,F.jsxs)(`button`,{type:`button`,className:`brain-overview-column`,onClick:r,children:[(0,F.jsx)(`span`,{children:e}),n.length?n.slice(0,3).map(e=>(0,F.jsx)(`strong`,{children:e},e)):(0,F.jsx)(`em`,{children:t})]})}function ca({memories:e,depth:t,onRecallMemory:n}){let r=e.slice(0,t>=3?8:6);return r.length?(0,F.jsx)(F.Fragment,{children:r.map((e,i)=>{let a=Ea(i,r.length,t>=3?39:31,t>=3?24:18,-112);return(0,F.jsxs)(`button`,{type:`button`,className:`memory-fragment`,style:Da({"--x":`${a.x}%`,"--y":`${a.y}%`,"--delay":`${i*55}ms`}),onClick:()=>n(e),children:[(0,F.jsx)(`span`,{children:e.kind}),(0,F.jsx)(`strong`,{children:e.title})]},e.id)})}):(0,F.jsx)(`div`,{className:`memory-fragment is-empty`,children:`Memory is quiet`})}function la({concepts:e,depth:t}){let n=e.slice(0,t>=4?10:7);return n.length?(0,F.jsx)(F.Fragment,{children:n.map((e,t)=>{let r=Ea(t,n.length,24,15,-70);return(0,F.jsxs)(`button`,{type:`button`,className:`concept-signal`,style:Da({"--x":`${r.x}%`,"--y":`${r.y}%`,"--delay":`${t*45}ms`}),title:e.summary||e.type,children:[(0,F.jsx)(`span`,{children:e.type}),e.label]},e.id)})}):(0,F.jsx)(`div`,{className:`concept-signal is-empty`,children:`Knowledge is forming`})}function ua({concepts:e,relationships:t}){let n=Ta(e.slice(0,10),30,20),r=new Map(n.map(e=>[e.node.id,e])),i=t.map((e,t)=>{let i=r.get(e.source)||n[t%Math.max(n.length,1)],a=r.get(e.target)||n[(t+3)%Math.max(n.length,1)];return i&&a&&i.node.id!==a.node.id?{relationship:e,source:i,target:a}:null}).filter(Boolean).slice(0,8);return i.length?(0,F.jsx)(`svg`,{className:`relationship-weave`,viewBox:`0 0 100 100`,"aria-hidden":!0,children:i.map(({relationship:e,source:t,target:n},r)=>(0,F.jsx)(`line`,{x1:t.x,y1:t.y,x2:n.x,y2:n.y,style:{animationDelay:`${r*80}ms`}},`${e.id}-${r}`))}):null}function da({model:e,search:t,selectedId:n,onSearch:r,onSelect:i}){let a=ln(e=>e.language),o=t.trim().toLowerCase(),s=P.useMemo(()=>e.nodes.filter(e=>o?`${e.label} ${e.type} ${e.summary}`.toLowerCase().includes(o):!0).slice(0,18),[e.nodes,o]),c=P.useMemo(()=>Ta(s,38,24),[s]),l=P.useMemo(()=>new Map(c.map(e=>[e.node.id,e])),[c]),u=P.useMemo(()=>e.edges.filter(e=>l.has(e.source)&&l.has(e.target)).slice(0,36),[e.edges,l]),d=s.find(e=>e.id===n)||s[0]||null;return(0,F.jsxs)(`section`,{className:`mind-core-graph`,"data-testid":`emergent-knowledge-graph`,"aria-label":`Knowledge Graph`,children:[(0,F.jsxs)(`div`,{className:`brain-graph-head`,children:[(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`span`,{children:`Level 5`}),(0,F.jsx)(`strong`,{children:`Knowledge Graph`})]}),(0,F.jsxs)(`label`,{className:`brain-graph-search`,children:[(0,F.jsx)(Mt,{className:`h-3.5 w-3.5`}),(0,F.jsx)(`input`,{value:t,onChange:e=>r(e.target.value),placeholder:`Search`,"aria-label":`Search knowledge graph`})]})]}),s.length?(0,F.jsxs)(`div`,{className:`brain-graph-canvas`,children:[(0,F.jsx)(`svg`,{className:`brain-graph-edges`,viewBox:`0 0 100 100`,"aria-hidden":!0,children:u.map((e,t)=>{let n=l.get(e.source),r=l.get(e.target);return!n||!r?null:(0,F.jsx)(`line`,{x1:n.x,y1:n.y,x2:r.x,y2:r.y,style:{"--weight":String(Na(e.weight,.4,2.8))}},`${e.id}-${t}`)})}),c.map(({node:e,x:t,y:n},r)=>(0,F.jsxs)(`button`,{type:`button`,className:`graph-node ${d?.id===e.id?`is-selected`:``}`,style:Da({"--x":`${t}%`,"--y":`${n}%`,"--delay":`${r*35}ms`}),onClick:()=>i(e.id),children:[(0,F.jsx)(`span`,{children:e.type}),e.label]},e.id))]}):(0,F.jsx)(`div`,{className:`brain-graph-empty`,children:U(a,`brain.graph.empty`)}),(0,F.jsx)(`div`,{className:`brain-graph-focus`,children:d?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`span`,{children:d.type}),(0,F.jsx)(`strong`,{children:d.label}),(0,F.jsx)(`p`,{children:d.summary||U(a,`brain.graph.summaryFallback`)}),(0,F.jsx)(`p`,{children:U(a,`brain.graph.focused`)})]}):(0,F.jsx)(`p`,{children:U(a,`brain.graph.emptyFocus`)})})]})}function fa(e,t){let n=ka(e)?e:{},r=(ci(n.sources).length?ci(n.sources):ci(n.tiers)).map((e,t)=>({id:Aa(e,[`id`,`source`,`label`],`memory-${t}`),title:Aa(e,[`title`,`label`,`source`,`path`,`name`],`Workspace memory`),kind:ja(e,[`type`,`source_type`,`kind`,`health`],`Memory`)})),i=ci(t).map((e,t)=>({id:Aa(e,[`id`,`conversation_id`],`conversation-${t}`),title:Aa(e,[`title`,`summary`,`id`],`Conversation`),kind:`Conversation`}));return Oa([...r,...i]).slice(0,10)}function pa(e){let t=ka(e)?e:{},n=ci(t.nodes),r=ci(t.edges),i=n.flatMap(e=>{let t=Aa(e,[`id`,`node_id`,`title`,`label`]);if(!t)return[];let n=ka(e.metadata)?e.metadata:{},r=ja(e,[`type`,`kind`,`category`],`Concept`);return[{id:t,label:Aa(e,[`title`,`label`,`name`],t.replace(/^[^:]+:/,``)),type:r,summary:Aa(e,[`summary`,`description`,`snippet`])||Aa(n,[`summary`,`description`,`relative_path`,`filename`]),importance:Na(Ma(e,[`importance_norm`,`importance`,`score`])||.5,.08,1)}]}).sort((e,t)=>t.importance-e.importance),a=new Set(i.map(e=>e.id));return{nodes:i,edges:r.flatMap((e,t)=>{let n=Aa(e,[`from`,`source`,`source_id`]),r=Aa(e,[`to`,`target`,`target_id`]);return!n||!r||!a.has(n)||!a.has(r)?[]:[{id:Aa(e,[`id`],`edge-${t}`),source:n,target:r,label:ja(e,[`type`,`label`,`relationship`],`Relates`),weight:Ma(e,[`weight`,`score`,`confidence`])||1}]})}}function ma(e){let t=ka(e)?e:{},n=Aa(t,[`current`,`current_model`,`local_model`]);if(n)return n;let r=ci(t.loaded||t.loaded_models).find(e=>e.id||e.name||e.model_id);return r?Aa(r,[`name`,`id`,`model_id`],`local mind`):`local mind`}function ha(e){return Aa(ka(e)?e:{},[`archive_format`,`format`,`graph_schema_version`,`schema_version`],`.latticebrain`)}function ga(e){let t=ka(e)?e:{},n=t.count||t.backups||t.available;return n!=null&&n!==``?`${n} backups`:`Backups ready`}function _a(e){return e.ok?Aa(ka(e.data)?e.data:{},[`message`,`status`,`path`,`archive_path`,`backup_path`,`export_path`])||`Brain care action completed.`:e.error||`Brain care action could not complete.`}function va(e){let t=Ca(e.action||e.event||e.type||e.name,`Event`),n=Ca(e.actor||e.user||e.user_id||e.workspace_id,`system`),r=Ca(e.timestamp||e.time||e.created_at||e.ts,`recently`);return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`strong`,{children:t}),(0,F.jsxs)(`span`,{children:[n,` · `,r]})]})}function ya(e){return e?e.ok?`Live`:e.error||`Unavailable`:`Loading`}function ba(e,t){return Aa(ka(e)?e:{},[t,`health`,`state`,`overall_status`])}function xa(e){let t=ka(e)?e:{},n=t.documents??t.document_count??t.docs,r=t.chunks??t.chunk_count??t.vectors;return n!==void 0||r!==void 0?`${Ca(n,`0`)} docs · ${Ca(r,`0`)} chunks`:Aa(t,[`message`,`detail`,`status`],`Index status ready`)}function Sa(e){return Aa(ka(e)?e:{},[`summary`,`message`,`status`,`detail`])}function Ca(e,t=``){return typeof e==`string`&&e.trim()?e:typeof e==`number`&&Number.isFinite(e)?String(e):typeof e==`boolean`?e?`true`:`false`:t}function wa(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result||``)),r.onerror=()=>n(r.error),r.readAsDataURL(e)})}function Ta(e,t,n){return e.map((r,i)=>{let a=Ea(i,e.length,t,n,-88);return{node:r,x:a.x,y:a.y}})}function Ea(e,t,n,r,i=-90){let a=(360/Math.max(t,1)*e+i)*Math.PI/180;return{x:50+Math.cos(a)*n,y:50+Math.sin(a)*r}}function Da(e){return e}function Oa(e){let t=new Set;return e.filter(e=>t.has(e.id)?!1:(t.add(e.id),!0))}function ka(e){return!!(e&&typeof e==`object`&&!Array.isArray(e))}function Aa(e,t,n=``){for(let n of t){let t=e[n];if(typeof t==`string`&&t.trim())return t;if(typeof t==`number`&&Number.isFinite(t))return String(t)}return n}function ja(e,t,n=``){return Aa(e,t,n).replace(/[_-]+/g,` `).replace(/\b\w/g,e=>e.toUpperCase())}function Ma(e,t){for(let n of t){let t=Number(e[n]);if(Number.isFinite(t))return t}return 0}function Na(e,t,n){return Math.max(t,Math.min(n,e))}var Pa=new Ge({defaultOptions:{queries:{staleTime:15e3,refetchOnWindowFocus:!1,retry:1}}});Rt.createRoot(document.getElementById(`root`)).render((0,F.jsx)(P.StrictMode,{children:(0,F.jsx)(Xe,{client:Pa,children:(0,F.jsx)(Wi,{})})}));
|
|
16
|
-
//# sourceMappingURL=index-
|
|
16
|
+
//# sourceMappingURL=index-DsnfomFs.js.map
|