/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--shimmer-angle:20deg}*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}}}@layer theme{:root,:host{--font-sans:"Inter", "Segoe UI", Arial, sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--color-white:#fff;--spacing:.25rem;--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);--font-weight-medium:500;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Inter", "Segoe UI", Arial, sans-serif;--default-mono-font-family:"SFMono-Regular", Consolas, "Liberation Mono", monospace}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,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{.pointer-events-none{pointer-events:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.right-2{right:calc(var(--spacing) * 2)}.isolate{isolation:isolate}.z-50{z-index:50}.order-first{order:-9999}.order-last{order:9999}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.my-1{margin-block:calc(var(--spacing) * 1)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.field-sizing-content{field-sizing:content}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-\[calc\(--spacing\(5\.5\)\)\]{height:calc(calc(var(--spacing) * 5.5))}.h-auto{height:auto}.h-px{height:1px}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[min\(calc\(--spacing\(96\)---spacing\(9\)\)\,calc\(var\(--available-height\)---spacing\(9\)\)\)\]{max-height:min(calc(calc(var(--spacing) * 96) - calc(var(--spacing) * 9)), calc(var(--available-height) - calc(var(--spacing) * 9)))}.min-h-9{min-height:calc(var(--spacing) * 9)}.min-h-16{min-height:calc(var(--spacing) * 16)}.w-\(--anchor-width\){width:var(--anchor-width)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\(--available-width\){max-width:var(--available-width)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-16{min-width:calc(var(--spacing) * 16)}.min-w-\[calc\(var\(--anchor-width\)\+--spacing\(7\)\)\]{min-width:calc(var(--anchor-width) + calc(var(--spacing) * 7))}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-\(--transform-origin\){transform-origin:var(--transform-origin)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-text{cursor:text}.resize-none{resize:none}.scroll-py-1{scroll-padding-block:calc(var(--spacing) * 1)}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-\[calc\(var\(--radius\)-5px\)\]{border-radius:calc(var(--radius) - 5px)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-input{border-color:var(--input)}.bg-background{background-color:var(--background)}.bg-border{background-color:var(--border)}.bg-destructive{background-color:var(--destructive)}.bg-muted{background-color:var(--muted)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-clip-padding{background-clip:padding-box}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:calc(var(--spacing) * 1)}.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-3{padding-top:calc(var(--spacing) * 3)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--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))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-nowrap{white-space:nowrap}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-foreground\/10{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.ring-foreground\/10{--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-out{--tw-exit-scale:0}.group-has-data-\[slot\=combobox-clear\]\/input-group\:hidden:is(:where(.group\/input-group):has([data-slot=combobox-clear]) *){display:none}.group-has-\[\>input\]\/input-group\:pt-2\.5:is(:where(.group\/input-group):has(>input) *){padding-top:calc(var(--spacing) * 2.5)}.group-has-\[\>input\]\/input-group\:pb-2\.5:is(:where(.group\/input-group):has(>input) *){padding-bottom:calc(var(--spacing) * 2.5)}.group-data-empty\/combobox-content\:flex:is(:where(.group\/combobox-content)[data-empty] *){display:flex}.group-data-\[disabled\=true\]\/input-group\:opacity-50:is(:where(.group\/input-group)[data-disabled=true] *){opacity:.5}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.focus-within\:border-ring:focus-within{border-color:var(--ring)}.focus-within\:ring-\[3px\]:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-within\:ring-ring\/50:focus-within{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-within\:ring-ring\/50:focus-within{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-disabled\:pointer-events-none:has(:disabled){pointer-events:none}.has-disabled\:cursor-not-allowed:has(:disabled){cursor:not-allowed}.has-disabled\:opacity-50:has(:disabled){opacity:.5}.has-aria-invalid\:border-destructive:has([aria-invalid=true]){border-color:var(--destructive)}.has-aria-invalid\:ring-\[3px\]:has([aria-invalid=true]){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-aria-invalid\:ring-destructive\/20:has([aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.has-aria-invalid\:ring-destructive\/20:has([aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.has-data-\[slot\=combobox-chip\]\:px-1\.5:has([data-slot=combobox-chip]){padding-inline:calc(var(--spacing) * 1.5)}.has-data-\[slot\=combobox-chip-remove\]\:pr-0:has([data-slot=combobox-chip-remove]){padding-right:calc(var(--spacing) * 0)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:border-ring:has([data-slot=input-group-control]:focus-visible){border-color:var(--ring)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-\[3px\]:has([data-slot=input-group-control]:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:border-destructive:has([data-slot][aria-invalid=true]){border-color:var(--destructive)}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.has-\[\>\[data-align\=block-end\]\]\:h-auto:has(>[data-align=block-end]){height:auto}.has-\[\>\[data-align\=block-end\]\]\:flex-col:has(>[data-align=block-end]){flex-direction:column}.has-\[\>\[data-align\=block-start\]\]\:h-auto:has(>[data-align=block-start]){height:auto}.has-\[\>\[data-align\=block-start\]\]\:flex-col:has(>[data-align=block-start]){flex-direction:column}.has-\[\>button\]\:mr-\[-0\.45rem\]:has(>button){margin-right:-.45rem}.has-\[\>button\]\:ml-\[-0\.45rem\]:has(>button){margin-left:-.45rem}.has-\[\>kbd\]\:mr-\[-0\.35rem\]:has(>kbd){margin-right:-.35rem}.has-\[\>kbd\]\:ml-\[-0\.35rem\]:has(>kbd){margin-left:-.35rem}.has-\[\>svg\]\:p-0:has(>svg){padding:calc(var(--spacing) * 0)}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2:has(>svg){padding-inline:calc(var(--spacing) * 2)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.has-\[\>textarea\]\:h-auto:has(>textarea){height:auto}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-empty\:p-0[data-empty]{padding:calc(var(--spacing) * 0)}.data-highlighted\:bg-accent[data-highlighted]{background-color:var(--accent)}.data-highlighted\:text-accent-foreground[data-highlighted]{color:var(--accent-foreground)}.data-pressed\:bg-transparent[data-pressed]{background-color:#0000}.data-\[chips\=true\]\:min-w-\(--anchor-width\)[data-chips=true]{min-width:var(--anchor-width)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}:is(.\*\:data-\[slot\=input-group\]\:m-1>*)[data-slot=input-group]{margin:calc(var(--spacing) * 1)}:is(.\*\:data-\[slot\=input-group\]\:mb-0>*)[data-slot=input-group]{margin-bottom:calc(var(--spacing) * 0)}:is(.\*\:data-\[slot\=input-group\]\:h-8>*)[data-slot=input-group]{height:calc(var(--spacing) * 8)}:is(.\*\:data-\[slot\=input-group\]\:border-input\/30>*)[data-slot=input-group]{border-color:var(--input)}@supports (color:color-mix(in lab, red, red)){:is(.\*\:data-\[slot\=input-group\]\:border-input\/30>*)[data-slot=input-group]{border-color:color-mix(in oklab, var(--input) 30%, transparent)}}:is(.\*\:data-\[slot\=input-group\]\:bg-input\/30>*)[data-slot=input-group]{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){:is(.\*\:data-\[slot\=input-group\]\:bg-input\/30>*)[data-slot=input-group]{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}:is(.\*\:data-\[slot\=input-group\]\:shadow-none>*)[data-slot=input-group]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (width>=48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (prefers-color-scheme:dark){.dark\:border-input{border-color:var(--input)}.dark\:bg-destructive\/60{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/60{background-color:color-mix(in oklab, var(--destructive) 60%, transparent)}}.dark\:bg-input\/30{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:bg-transparent{background-color:#0000}@media (hover:hover){.dark\:hover\:bg-accent\/50:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-accent\/50:hover{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.dark\:hover\:bg-input\/50:hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}}.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:has-aria-invalid\:border-destructive\/50:has([aria-invalid=true]){border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:has-aria-invalid\:border-destructive\/50:has([aria-invalid=true]){border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\:has-aria-invalid\:ring-destructive\/40:has([aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:has-aria-invalid\:ring-destructive\/40:has([aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}}@media (pointer:coarse){.pointer-coarse\:size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.pointer-coarse\:px-3{padding-inline:calc(var(--spacing) * 3)}.pointer-coarse\:py-2{padding-block:calc(var(--spacing) * 2)}.pointer-coarse\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.data-open\:animate-in:where([data-state=open]),.data-open\:animate-in:where([data-open]:not([data-open=false])){animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-open\:fade-in-0:where([data-state=open]),.data-open\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.data-open\:zoom-in-95:where([data-state=open]),.data-open\:zoom-in-95:where([data-open]:not([data-open=false])){--tw-enter-scale:.95}.data-closed\:animate-out:where([data-state=closed]),.data-closed\:animate-out:where([data-closed]:not([data-closed=false])){animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-closed\:fade-out-0:where([data-state=closed]),.data-closed\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.data-closed\:zoom-out-95:where([data-state=closed]),.data-closed\:zoom-out-95:where([data-closed]:not([data-closed=false])){--tw-exit-scale:.95}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\.border-b\]\:pb-3.border-b{padding-bottom:calc(var(--spacing) * 3)}.\[\.border-t\]\:pt-3.border-t{padding-top:calc(var(--spacing) * 3)}.has-\[\>\[data-align\=block-end\]\]\:\[\&\>input\]\:pt-3:has(>[data-align=block-end])>input{padding-top:calc(var(--spacing) * 3)}.has-\[\>\[data-align\=block-start\]\]\:\[\&\>input\]\:pb-3:has(>[data-align=block-start])>input{padding-bottom:calc(var(--spacing) * 3)}.has-\[\>\[data-align\=inline-end\]\]\:\[\&\>input\]\:pr-2:has(>[data-align=inline-end])>input{padding-right:calc(var(--spacing) * 2)}.has-\[\>\[data-align\=inline-start\]\]\:\[\&\>input\]\:pl-2:has(>[data-align=inline-start])>input{padding-left:calc(var(--spacing) * 2)}.\[\&\>kbd\]\:rounded-\[calc\(var\(--radius\)-5px\)\]>kbd{border-radius:calc(var(--radius) - 5px)}.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5>svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4>svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#fff;--foreground:#292636;--card:#fff;--card-foreground:#292636;--popover:#fff;--popover-foreground:#292636;--primary:#7652d1;--primary-foreground:#fff;--secondary:#f3f0fa;--secondary-foreground:#61419f;--muted:#f5f5fa;--muted-foreground:#757383;--accent:#f1edfa;--accent-foreground:#6645b4;--destructive:#b44350;--border:#e8e7ee;--input:#dcdbe5;--ring:#a18ad7;--radius:.6rem;--sidebar:#fff;--sidebar-foreground:#292636}*{box-sizing:border-box}html,body{min-width:320px;height:100%;margin:0}body{color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;background:#fafafd;font-size:16px}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible{outline-offset:3px;outline:3px solid #b3a0e2}.app-shell{flex-direction:column;height:100dvh;min-height:650px;display:flex}.topbar{border-bottom:1px solid var(--border);background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;min-height:88px;padding:16px 30px;display:flex}.brand{align-items:center;gap:13px;display:flex}.brand-mark{color:#7752c6;background:#f0eafa;border:1px solid #e6dcf5;border-radius:12px;place-items:center;width:43px;height:43px;display:grid}.brand-kicker{color:#81788d;letter-spacing:1px;margin-bottom:4px;font-size:.75rem;font-weight:600}h1{letter-spacing:-.8px;margin:0;font-size:24px;font-weight:650;line-height:1.12}.brand-period{color:var(--primary)}.topbar-right{align-items:center;gap:23px;display:flex}.prototype-label{color:#857d8f;letter-spacing:1.5px;font-size:.75rem}.sample-badge{color:#655974;background:#f7f5fa;border:1px solid #e7e1ed;border-radius:7px;align-items:center;gap:7px;padding:7px 11px;font-size:.8125rem;font-weight:500;display:inline-flex}.workspace{flex:1;grid-template-columns:340px minmax(0,1fr);min-height:0;display:grid}.builder{border-right:1px solid var(--border);scrollbar-width:thin;scrollbar-color:#d7d2e2 transparent;background:#fff;flex-direction:column;display:flex;overflow-y:auto}.builder-form{padding:27px 25px 23px}.section-eyebrow{letter-spacing:1.1px;color:#82778f;align-items:center;gap:8px;margin-bottom:17px;font-size:.75rem;font-weight:600;display:flex}.step-number{color:#8466b8;letter-spacing:.4px;background:#f7f4fc;border:1px solid #e7e0f0;border-radius:4px;padding:2px 4px;font-size:.75rem}.builder-form h2{letter-spacing:-.6px;font-size:22px;font-weight:600;line-height:1.3}.section-description{color:#7c7288;margin:8px 0 25px;font-size:.875rem;line-height:1.65}form label{color:#494453;margin-bottom:9px;font-size:.875rem;font-weight:550;display:block}.required-mark{color:#9c83ce;margin-left:3px}.input-wrap{position:relative}.input-wrap>svg{color:#94879f;position:absolute;top:15px;left:12px}input[data-slot=input]{font-family:var(--font-mono);letter-spacing:-.35px;color:#554a67;background:#fff;border-radius:7px;height:46px;padding:10px 12px;font-size:.875rem;box-shadow:0 1px 2px #27253603}.input-wrap input[data-slot=input]{padding-left:36px;font-size:.8125rem}input[data-slot=input]::placeholder{font-family:var(--font-sans);color:#928799;letter-spacing:0;font-size:.875rem}.label-row{justify-content:space-between;align-items:baseline;margin-top:21px;display:flex}.label-row>span{color:#93829e;font-size:.75rem}.field-hint{color:#8a7d96;margin-top:8px;font-size:.75rem;line-height:1.55}.add-button[data-slot=button]{background:#7652ce;border-radius:7px;justify-content:flex-start;gap:8px;width:100%;height:44px;margin-top:23px;padding:0 14px;font-size:.875rem;font-weight:550;box-shadow:0 3px 5px #6840b515,inset 0 1px #ffffff20}.add-button[data-slot=button]:hover{background:#6643bf}.button-arrow{opacity:.75;margin-left:auto}.sample-presets{margin-top:22px}.sample-presets>span{color:#8d7e9a;letter-spacing:.8px;font-size:.75rem;font-weight:600}.sample-presets>div{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.preset{color:#7e708c;background:#fff;border:1px solid #e7e3ed;border-radius:5px;padding:6px 8px;font-size:.75rem;line-height:1.3;transition:background .15s}.preset:hover,.preset.active{color:#7856b9;background:#f7f3fd;border-color:#ded3ef}.sample-note{color:#8e7e9a;margin-top:10px;font-size:.75rem;line-height:1.5}.form-error{color:#9d3644;overflow-wrap:anywhere;background:#fff1f3;border:1px solid #efced4;border-radius:6px;margin-top:10px;padding:10px;font-size:.875rem;line-height:1.55}.foreign-suggestions{flex-direction:column;gap:7px;margin-top:15px;display:flex}.foreign-suggestions>span{color:#7e748d;font-size:.75rem}.foreign-suggestions button{text-align:left;color:#7856b9;font:.75rem var(--font-mono);overflow-wrap:anywhere}.groups-section{border-top:1px solid var(--border);padding:23px 20px 20px}.list-heading{justify-content:space-between;align-items:center;margin:0 5px 14px;display:flex}.list-heading h2{color:#8a7b98;letter-spacing:1px;font-size:.75rem;font-weight:600}.list-heading>span{font-family:var(--font-mono);color:#88749f;background:#f3f1f7;border-radius:4px;padding:1px 5px;font-size:.75rem}.group-list{flex-direction:column;gap:9px;display:flex}.group-card{background:#fcfbfe;border:1px solid #e8e3ef;border-radius:8px;flex-shrink:0;position:relative;overflow:hidden}.group-card.selected{background:var(--group-light);border-color:var(--group-color)}@supports (color:color-mix(in lab, red, red)){.group-card.selected{border-color:color-mix(in srgb, var(--group-color) 30%, white)}}.group-focus{text-align:left;width:100%;padding:13px 12px 15px}.group-card-heading{letter-spacing:.8px;color:var(--group-color);align-items:center;gap:7px;padding-right:40px;font-size:.75rem;font-weight:600;display:flex}.group-card-heading svg{opacity:.65;margin-left:auto}.group-dot{background:var(--group-color);border-radius:50%;width:6px;height:6px}.group-table{color:#534368;font:.8125rem var(--font-mono);letter-spacing:-.1px;overflow-wrap:anywhere;margin-top:10px;font-weight:500;display:block}.group-meta{color:#837091;align-items:center;gap:8px;margin-top:8px;font-size:.75rem;display:flex}.group-meta>span{color:#b4a4c9}.group-filter{color:#88729c;overflow-wrap:anywhere;margin-top:7px;font-size:.75rem;display:block}.remove-group{color:#a08ab7;border-radius:5px;place-items:center;width:29px;height:29px;display:grid;position:absolute;top:9px;right:9px}.remove-group:hover{color:#9f4357;background:#ffffffa6}.no-groups{color:#92869f;padding:8px 5px;font-size:.875rem;line-height:1.6}.interaction-guide{margin-top:auto;padding:20px 25px 24px}.guide-title{color:#93869f;align-items:center;gap:8px;margin-bottom:15px;display:flex}.guide-title h2{color:#7a6b89;font-size:.875rem;font-weight:550}.interaction-guide>div:not(.guide-title){gap:10px;margin-top:12px;display:flex}.interaction-guide>div:not(.guide-title)>svg{color:#a89ab8;flex-shrink:0;margin-top:3px}.interaction-guide strong{color:#796887;font-size:.8125rem;font-weight:500;display:block}.interaction-guide p>span{color:#95839f;font-size:.75rem;line-height:1.7;display:block}.keyboard-note{color:#9b8aa6;margin:15px 0 0 26px;font-size:.75rem;line-height:1.6}.canvas{isolation:isolate;background-color:#fafafd;background-image:radial-gradient(circle,#dcd9e6 .75px,#0000 .9px);min-height:0;position:relative;overflow:hidden;container-type:inline-size}.canvas-heading{z-index:2;pointer-events:none;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;top:27px;left:31px;right:29px}.canvas-heading h2{letter-spacing:-.15px;color:#696174;font-size:16px;font-weight:550}.canvas-heading p{color:#93839f;margin-top:5px;font-size:.75rem}.canvas-heading p>span{color:#c9c0d3;margin:0 5px}.canvas-actions{pointer-events:auto;flex-shrink:0;align-items:center;gap:8px;display:flex}.canvas-actions [data-slot=button]{color:#81708f;background:#ffffffde;border-color:#e4deec;border-radius:6px;gap:6px;height:35px;padding:0 10px;font-size:.8125rem;box-shadow:0 2px 2px #59426902}.canvas-actions [data-slot=button]:hover{background:#f0eafa}@container (width<=620px){.canvas-actions button span{display:none}.canvas-actions [data-slot=button]{width:34px;padding:0}}@container (width<=380px){.canvas-heading h2{font-size:14px}.canvas-heading{gap:8px}}.graph-svg{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.is-dragging .graph-svg,.is-dragging .table-node{cursor:grabbing}.table-node{cursor:grab;outline:none}.node-disc{transition:stroke-width .15s}.foreign-node .node-focus-ring{opacity:0}.table-node:hover .node-disc,.table-node:focus-visible .node-disc{stroke:var(--node-color);stroke-width:2.5px}.table-node:focus-visible .node-focus-ring,.table-node:hover .node-focus-ring{opacity:1;stroke:var(--node-color);stroke-width:2px}.table-node text,.table-node path,.table-node rect{pointer-events:none}.table-name{fill:#544263;font-family:var(--font-mono);letter-spacing:-.2px;font-size:14px;font-weight:500}.primary-name{fill:#fff;font-size:16px;font-weight:500}.primary-caption{fill:#e7ddfc;letter-spacing:.6px;font-size:12px;font-weight:500}.primary-count{fill:#f1eaff;letter-spacing:.1px;font-size:12px}.foreign-caption{fill:#9986ad;letter-spacing:.5px;font-size:12px}.edge-label{fill:#806e93;font-family:var(--font-mono);letter-spacing:-.2px;font-size:13px;font-weight:400}.group-edges{pointer-events:none}.canvas-legend{color:#9582a5;pointer-events:none;align-items:center;gap:17px;font-size:.75rem;display:flex;position:absolute;top:91px;left:31px}.canvas-legend>span{align-items:center;gap:6px;display:inline-flex}.canvas-legend i{border-radius:50%;width:7px;height:7px;display:inline-block}.legend-primary{background:#8966cd}.legend-foreign{background:#fff;border:1px solid #b2a0ca}.legend-line i{background:#bfb0d2;border-radius:0;width:13px;height:1px}.canvas-bottom{z-index:2;pointer-events:none;justify-content:space-between;align-items:center;gap:20px;display:flex;position:absolute;bottom:24px;left:27px;right:28px}.zoom-controls{pointer-events:auto;background:#fff;border:1px solid #e4deeb;border-radius:8px;flex-shrink:0;align-items:center;padding:3px;display:flex;box-shadow:0 3px 12px #34244706}.zoom-controls button{color:#897995;border-radius:5px;place-items:center;width:32px;height:30px;display:grid}.zoom-controls button:hover{background:#f1ebfa}.zoom-controls button:disabled{opacity:.4}.zoom-controls .zoom-number{width:47px;font-size:.75rem;font-family:var(--font-mono);color:#756381}.zoom-controls>span{background:#e8e1ee;width:1px;height:16px;margin:0 3px}.canvas-hint{color:#9a87a9;background:#fafafddd;align-items:center;gap:6px;font-size:.75rem;display:flex}.canvas-hint span{color:#bdb0c8;margin:0 3px}.relation-tally{color:#927fa1;background:#fafafddd;align-items:center;gap:6px;font-size:.75rem;display:flex}.empty-canvas{text-align:center;width:90%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.empty-canvas>span{color:#9c7ccd;background:#eee7fa;border-radius:22px;place-items:center;width:70px;height:70px;margin:0 auto 20px;display:grid}.empty-canvas h3{color:#675171;letter-spacing:-.6px;font-size:22px;font-weight:500}.empty-canvas p{color:#9886a5;margin:10px 0 22px;font-size:.875rem}.statusbar{color:#92809f;background:#fff;border-top:1px solid #e9e5ef;flex-shrink:0;justify-content:space-between;align-items:center;gap:15px;min-height:33px;padding:6px 22px;font-size:.75rem;display:flex}.statusbar>span{align-items:center;gap:7px;display:inline-flex}.footer-separator{color:#d0c7d8;margin:0 4px}.status-note{color:#a291ae}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=1500px){.workspace{grid-template-columns:355px minmax(0,1fr)}.builder-form{padding-left:30px;padding-right:30px}.groups-section{padding-left:25px;padding-right:25px}.interaction-guide{padding-left:30px;padding-right:30px}}@media (width<=1200px){.prototype-label,.canvas-hint{display:none}.workspace{grid-template-columns:320px minmax(0,1fr)}.builder-form{padding-left:20px;padding-right:20px}.canvas-heading{left:24px;right:22px}.canvas-legend{left:24px}}@media (width<=760px){html,body{height:auto}.app-shell{height:auto;min-height:100dvh}.topbar{min-height:77px;padding:15px 20px}.brand-kicker{letter-spacing:.1px}h1{font-size:21px}.brand-mark{width:38px;height:38px}.sample-badge{padding:6px 8px}.workspace{flex-direction:column;display:flex}.builder{border-right:0;display:block;overflow:visible}.builder-form{padding:22px 22px 19px}.section-eyebrow{margin-bottom:11px}.section-description{max-width:none;margin-bottom:17px}.builder-form form{grid-template-columns:1fr 1fr;column-gap:14px;display:grid}form>label{grid-area:1/1}.input-wrap{grid-area:2/1}.label-row{grid-area:1/2;margin-top:0}#foreign-table{grid-area:2/2}.field-hint{grid-area:3/2}.form-error{grid-column:1/-1}.add-button[data-slot=button]{grid-column:1/-1;margin-top:14px}.sample-presets{align-items:center;gap:11px;margin-top:15px;display:flex}.sample-presets>div{margin:0}.sample-note{margin-top:8px}.groups-section{padding:17px 22px}.group-list{flex-direction:row;padding-bottom:3px;display:flex;overflow-x:auto}.group-card{min-width:270px;max-width:290px}.list-heading{margin:0 0 10px}.interaction-guide{display:none}.canvas{border-top:1px solid var(--border);flex-shrink:0;width:100%;height:610px}.canvas-heading{top:22px;left:22px;right:22px}.canvas-legend{top:83px;left:22px}.canvas-bottom{bottom:20px;left:20px;right:20px}.canvas-actions [data-slot=button]{padding:0 8px}.statusbar{padding:8px 16px}.statusbar>span:last-child{display:none}}@media (width<=450px){.brand{gap:9px}.brand-kicker{display:none}.topbar{gap:8px;padding:14px 16px}.sample-badge svg{display:none}.builder-form form{display:block}.label-row{margin-top:18px}.builder-form{padding:21px 20px}.add-button[data-slot=button]{margin-top:17px}.input-wrap input[data-slot=input]{font-size:.875rem}.sample-presets{flex-wrap:wrap;gap:8px}.canvas-actions button span{display:none}.canvas-actions [data-slot=button]{width:34px}.canvas{height:570px}.canvas-legend{gap:12px}.statusbar{flex-wrap:wrap}.status-note{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.table-search-input[data-slot=input-group]{border:1px solid var(--input);background:#fff;border-radius:7px;width:100%;height:46px;box-shadow:0 1px 2px #27253603}.table-search-input input{min-width:0;font:.875rem var(--font-mono);letter-spacing:-.35px;color:#554a67;padding:10px 12px}.table-search-input input::placeholder{color:#928799;font:.875rem var(--font-sans);letter-spacing:0}.table-search-input button{color:#87739b}.table-search-popup[data-slot=combobox-content]{width:max(350px, var(--anchor-width));background:#fff;border:1px solid #ddd2ec;border-radius:9px;min-width:0;max-width:calc(100vw - 24px);box-shadow:0 12px 30px #4e39651c}.table-search-summary{color:#8b779d;border-bottom:1px solid #eee8f3;padding:10px 12px;font-size:.75rem}.table-search-popup [data-slot=combobox-list]{max-height:265px}.table-search-item[data-slot=combobox-item]{overflow-wrap:anywhere;white-space:normal;font:.875rem/1.5 var(--font-mono);color:#584067;padding:10px 32px 10px 10px}.table-search-item[data-highlighted]{color:#623bae;background:#eee7fa}.csv-source{background:#faf8fd;border:1px solid #ebe3f3;border-radius:8px;margin-top:24px;padding:18px 14px 15px}.csv-source-heading{color:#8a749f;letter-spacing:.8px;align-items:center;gap:7px;font-size:.75rem;font-weight:600;display:flex}.csv-filename{font:.875rem/1.5 var(--font-mono);overflow-wrap:anywhere;color:#68507c;margin-top:11px}.csv-stats{color:#8b759b;margin-top:4px;font-size:.75rem}.csv-source-actions{align-items:center;gap:10px;margin-top:13px;display:flex}.csv-source-actions button{color:#745292;background:#fff;border-color:#dbceea;font-size:.875rem}.csv-download{color:#9377a8;background:#fff;border:1px solid #e6dcef;border-radius:6px;place-items:center;width:34px;height:34px;display:grid}.csv-download:hover{color:#6d438d;background:#f0e8fa}.csv-source .sample-note{line-height:1.65}.foreign-name{font-size:15px}.fk-column-heading{fill:#9680a8;letter-spacing:.8px;font-size:12px}.fk-column-name{fill:#766087;font:14px var(--font-mono)}.edge-label{white-space:pre}@media (width<=760px){.builder-form form{display:block}.table-field .label-row{margin-top:20px}.csv-source{margin-top:21px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{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-duration{syntax:"*";inherits:false}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}
