UNPKG

@flowfuse/flowfuse

Version:

An open source low-code development platform

1 lines • 44.8 kB
{"version":3,"file":"650.b89ddd8976a9056df91f.css","mappings":"AAGI,mCACI,eAEA,+CACI,gBAGJ,oDACI,yBACA,kBACA,qBACA,eCXD,CDYC,cACA,kBAGI,8DACI,cACA,cACA,eAIR,yEACI,yBAGJ,qHAEI,aAGJ,6DACI,WACA,mBAKJ,sKAEI,kBCYA,CDXA,oBCWA,CDVA,UC3CL,CD8CS,0LACI,UC/Cb,CDuDX,kBACI,yBACA,cACA,iBACA,gBACA,sBACA,qBACA,iBACA,kBACA,c;AEjEJ,uBACI,yBACA,kBACA,mBACA,aACA,QACA,mBACA,eACA,2BACA,mBAEA,8BACI,kBDqCQ,CCpCR,yBAEA,yCACI,kBDmCI,CC/BZ,qCACI,aACA,mBACA,iBAGJ,kCACI,UACA,mBACA,kBD2CQ,CCxCZ,6BACI,mCACA,mBACA,gBCjBM,CDkBN,aACA,Q;AEnCA,sCACI,aHKE,CGJF,gBACA,gBDYE,C;AEfN,sCACI,aJKE,CIJF,gBACA,gBFYE,C;AGhBV,8BACI,eAEA,0CACI,gBAGJ,+CACI,yBACA,kBACA,qBACA,eLXD,CKYC,cACA,kBAGI,yDACI,cACA,cACA,eAIR,oEACI,yBAGJ,oEACI,aACA,yBACA,cAGJ,wDACI,WACA,mBAKJ,4JAEI,kBLWA,CKVA,oBLUA,CKTA,UL5CL,CK+CS,gLACI,ULhDb,CKwDX,0CACI,yB;AC1DJ,6CACI,aACA,2BACA,cACA,OAEA,8DACI,OACA,gBACA,qBACA,aACA,U;ACXR,kCACI,aACA,sBACA,MACA,aACA,6BACA,gBACA,cACA,kBACA,iBACA,gBAGJ,iCACI,aACA,8BACA,mBACA,oBAGJ,gCACI,aACA,UAGJ,wBACI,qBACA,qBACA,kBACA,eACA,2BACA,+BAEA,iCACI,WACA,mBAIR,iCACI,sBACA,cACA,qBACA,qBACA,kBAEA,sDACI,yBAIR,2BACI,wBPEY,CODZ,WACA,qBACA,kBACA,qBAEA,gDACI,wBPJQ,COQhB,2BACI,sBACA,cACA,qBACA,aACA,mBACA,UACA,kBACA,qBAEA,mCACI,WACA,aACA,cACA,yBACA,sBAGJ,iCACI,yBAIR,gCACI,OACA,aACA,sBACA,yBACA,oBACA,iCAEA,wCACI,oBP1CQ,CO6CZ,4CACI,OACA,WACA,aACA,sBACA,gBACA,YACA,aACA,kBACA,gBACA,cACA,YACA,oBACA,gBAEA,kDACI,aAGJ,qDACI,mBACA,yBACA,cAGJ,yDACI,cAIR,yCACI,cACA,aACA,8BACA,WAEA,gDACI,aACA,yB;ACxIZ,oCACI,aACA,sBACA,mBACA,WACA,aAGJ,+BACI,aACA,UACA,mBAGJ,8BACI,UACA,WACA,kBACA,wBRmCY,CQlCZ,6DAEA,2CACI,uBAGJ,2CACI,uBAIR,+BACI,YACI,qBACA,WAEJ,IACI,mBACA,WAIR,kCACI,kBACA,aRlCU,CQmCV,kBACA,uCAGJ,4BACI,KACI,UACA,2BAEJ,GACI,UACA,yB;ACvDR,gCACI,eACA,gBACA,cAGJ,8BACI,oBACA,sBAEA,mCACI,qBACA,sBACA,wBToCQ,CSnCR,aTyCQ,CSxCR,kBACA,kB;ACfJ,wCACI,eAEA,2CACI,mBAIR,oDACI,gBACA,yBACA,oBACA,gBACA,mBAEA,wDACI,SACA,aACA,gBACA,kBVjBC,CUkBD,gBACA,gBACA,qBACA,kBAEA,6DACI,6FACA,yBACA,YACA,UACA,gBACA,kBAKZ,4DACI,aACA,mBACA,8BACA,mBACA,kBVtCM,CUuCN,gCACA,gBAGJ,0DACI,6FACA,mBACA,aV1CM,CU2CN,yBAGJ,0DACI,oBACA,mBACA,uBACA,YACA,yBACA,YACA,kBACA,eACA,aVPQ,CUQR,wBAEA,8DACI,aACA,cACA,oBAGJ,gEACI,UVxED,CUyEC,wBVpBI,CUwBZ,0CACI,UACA,YACA,gBAGJ,2CACI,yBAEA,oDACI,6FACA,6BAGJ,4FACI,iB;AC5FR,4CACI,mBACA,gBACA,cACA,mBAGJ,8CACI,cACA,kBACA,kB;ACXR,iCACI,mBACA,qBACA,yBACA,oBAEA,4CACI,2BACA,wBZJM,CYKN,cACA,kCAGJ,+CACI,wBZwCQ,CYvCR,WACA,mCACA,kBACA,eAGJ,gDACI,uBACA,kBACA,gBAEA,+DACI,yBACA,cACA,oBACA,gBACA,eACA,WAGJ,+DACI,yBACA,c;;ACrCZ,gCACI,eACA,gBACA,cACA,oBAIA,8CACI,aACA,sBACA,U;ACXR,gCACI,eACA,gBACA,cACA,oBAGJ,8BACI,mBAEA,0CACI,gBACA,UACA,SACA,aACA,sBACA,WAGJ,yCACI,aACA,uBAGJ,2CACI,cACA,aACA,cACA,aACA,mBACA,uBACA,wBduBQ,CctBR,WACA,kBACA,kBACA,oBACA,mBAGJ,4CACI,OAEA,wDACI,eACA,gBACA,adjCE,CckCF,oBAGJ,yDACI,kBACA,ad1CE,Cc2CF,oBACA,gB;ACrDZ,yBACI,mBAEA,4BACI,iBACA,aACA,mBACA,QACA,afCM,CeCN,qCACI,afHE,CeOV,4BACI,gBACA,oBAEA,+BACI,iB;ACpBZ,+BACI,aACA,uBACA,UACA,eACA,sBACA,yBACA,oBACA,qBACA,ahBGU,CgBFV,wBAEA,qCACI,oBhBsCQ,CgBrCR,wBhBXK,CgBeb,kCACI,cACA,WACA,YACA,mBACA,sBACA,mBAGJ,+BACI,OACA,YACA,aACA,mBACA,UAGJ,+BACI,OACA,YACA,aACA,sBACA,YAGJ,kCACI,cAGJ,+BACI,kBACA,gBACA,sBACA,ahBvCU,CgBwCV,gBACA,uBACA,mBAEA,mDACI,gBACA,uBACA,mBAIR,8BACI,iBACA,ahBzDU,CgB0DV,gBACA,uBACA,mBACA,SAEA,kDACI,gBACA,uBACA,mB;AC1ER,gCACI,eACA,gBACA,cACA,oBAIA,gDACI,aACA,sBACA,U;ACXR,gCACI,aACA,uBACA,UACA,eACA,sBACA,yBACA,oBACA,qBACA,alBGU,CkBFV,wBAEA,sCACI,oBlBsCQ,CkBrCR,wBlBXK,CkBeb,gCACI,cACA,WACA,YACA,mBACA,mBAGJ,gCACI,OACA,aACA,sBACA,WACA,YAGJ,iCACI,kBACA,gBACA,alBzBU,CkB0BV,gBACA,uBACA,mBAEA,qDACI,gBACA,uBACA,mBAIR,+BACI,iBACA,alB3CU,CkB4CV,SACA,gBACA,uBACA,mBAEA,mDACI,gBACA,uBACA,mB;AC5DR,gCACI,eACA,gBACA,cACA,oBAIA,kDACI,aACA,sBACA,U;ACXR,8BACI,mBAEA,iCACI,iBACA,aACA,mBACA,QACA,apBCM,CoBCN,0CACI,apBHE,CoBOV,iCACI,gBACA,oBAEA,oCACI,iB;ACtBZ;EACE,cAAc;EACd,gBAAgB;EAChB;AACF;AACA;EACE;AACF;AACA;;;;;;;;;CASC;AACD;EACE,cAAc;EACd;AACF;AACA;;;;;;;EAOE,gCAAgC;EAChC;AACF;AACA;;;;EAIE,+BAA+B;EAC/B;AACF;AACA;;;;;;;;;;EAUE,iCAAiC;EACjC;AACF;AACA;;;EAGE,+BAA+B;EAC/B;AACF;AACA;;EAEE,iCAAiC;EACjC;AACF;AACA;;;EAGE,gCAAgC;EAChC;AACF;AACA;;;;EAIE,mCAAmC;EACnC;AACF;AACA;EACE,gDAAgD;EAChD;AACF;AACA;EACE,uCAAuC;EACvC,cAAc;EACd;AACF;AACA;EACE,oCAAoC;EACpC;AACF;AACA;EACE,sCAAsC;EACtC,cAAc;EACd;AACF;AACA;EACE,oCAAoC;EACpC,cAAc;EACd;AACF;AACA;EACE,wCAAwC;EACxC,cAAc;EACd;AACF;AACA;EACE,uCAAuC;EACvC,cAAc;EACd;AACF;AACA;;;;;;EAME,sBAAsB;;AAExB,C;ACjHA,4CACI,aACA,sBACA,WAGJ,6CACI,kBACA,gBACA,cAGJ,4CACI,aACA,mBACA,8BACA,YACA,iBACA,atBZU,CsBaV,6FAGJ,6CACI,oBACA,mBACA,uBACA,kBACA,gBACA,iBACA,mBACA,gBACA,atBxBU,CsByBV,wBtB7BU,CsB8BV,uBACA,cACA,YAGJ,+CACI,iBACA,aACA,sBACA,UAGJ,+CACI,yBACA,sBACA,gBAGJ,sDACI,aACA,mBACA,YACA,qBACA,sBACA,eACA,iBACA,iBACA,gBACA,atBtDU,CsBwDV,4DACI,wBtB/DK,CsBkET,qEACI,aACA,cACA,atBjEM,CsBkEN,cACA,8BAEA,6EACI,wBAKZ,qDACI,OAGJ,wDACI,atBhFU,CsBiFV,gBAIA,gDACI,SACA,eACA,wBtB3FM,CsB4FN,sBACA,gBAEA,qDACI,6FACA,mBACA,atB3FE,CsB4FF,qBACA,sBACA,YACA,yBACA,UAKR,0EACI,6BAEA,8EACI,gB;ACpHZ,sCACI,wBvBES,CuBDT,yBACA,kCACA,gBACA,cAGJ,8CACI,aACA,mBACA,oBACA,UACA,sBACA,eACA,iBAEA,oDACI,wBvBfK,CuBkBT,uDACI,WACA,YACA,avBhBM,CuBiBN,cACA,8BAEA,+DACI,wBAKZ,6CACI,eACA,gBACA,avB1BU,CuB2BV,OAGJ,gDACI,eACA,avBnCU,CuBsCd,4CACI,oBACA,6BACA,oBACA,aACA,sBACA,WACA,+CACA,gBACA,+BAEA,wDACI,gD;AC1DR,kCACI,oB;ACDJ,yCACI,kBACA,SACA,SACA,2BACA,UACA,gBACA,kBACA,oC;ACPJ,8BACI,yBACA,oBACA,qBACA,oBAEA,yCACI,cACA,kBACA,SACA,gBAGJ,yCACI,cACA,0BAEA,+CACI,cAIR,0CACI,qBACA,yBACA,WACA,kBACA,gBACA,wBACA,qBACA,yBACA,sBACA,YACA,wB;AClCR,gCACI,yBACA,mBACA,gBACA,mBACA,6BAEA,oDACI,cACA,kBACA,SACA,gBAGJ,sDACI,gBACA,aACA,mBACA,8BAGJ,oDACI,aACA,gBACA,kBACA,iEACA,uBAGJ,qDACI,qBACA,yBACA,WACA,gBACA,qBACA,yBACA,sBACA,eACA,wBACA,sBACA,iBAIA,6DACI,wB3BvBC,C2BwBD,a3B3CC,C2B+CT,sLAGI,iBACA,mB;ACtDR,4BACI,aACA,sBACA,YACA,gBACA,gBACA,kBAGJ,qCACI,OACA,gBACA,aACA,uBACA,aAGA,wDACI,UAGJ,8DACI,yBAGJ,8DACI,wB5BpBM,C4BqBN,kBAEA,oEACI,wB5BvBE,C4B4Bd,8BACI,aACA,sBACA,mBACA,uBACA,YACA,kBACA,aACA,a5BlCU,C4BoCV,gDACI,WACA,YACA,mBACA,a5BGQ,C4BDR,oDACI,WACA,YAIR,iCACI,iBACA,gBACA,a5BhDM,C4BiDN,mBAGJ,gCACI,eACA,SACA,gBAIR,gCACI,WAGJ,uDACI,iB","sources":["webpack://@flowfuse/flowfuse/./frontend/src/components/expert/components/CapabilitiesSelector.vue","webpack://@flowfuse/flowfuse/./frontend/src/ui-components/stylesheets/ff-colors.scss","webpack://@flowfuse/flowfuse/./frontend/src/components/expert/components/chips/DefaultChip.vue","webpack://@flowfuse/flowfuse/./frontend/src/ui-components/stylesheets/ff-utility.scss","webpack://@flowfuse/flowfuse/./frontend/src/components/expert/components/chips/DebugChip.vue","webpack://@flowfuse/flowfuse/./frontend/src/components/expert/components/chips/SelectionChip.vue","webpack://@flowfuse/flowfuse/./frontend/src/components/expert/components/context-selection/ContextSelectorButton.vue","webpack://@flowfuse/flowfuse/./frontend/src/components/expert/components/context-selection/index.vue","webpack://@flowfuse/flowfuse/./frontend/src/components/expert/components/ExpertChatInput.vue","webpack://@flowfuse/flowfuse/./frontend/src/components/expert/components/ExpertLoadingIndicator.vue","webpack://@flowfuse/flowfuse/./frontend/src/components/expert/components/messages/components/AnswerBadge.vue","webpack://@flowfuse/flowfuse/./frontend/src/components/expert/components/messages/components/resources/StreamableContent.vue","webpack://@flowfuse/flowfuse/./frontend/src/components/expert/components/messages/components/GuideHeader.vue","webpack://@flowfuse/flowfuse/./frontend/src/components/expert/components/messages/components/MessageBubble.vue","webpack://@flowfuse/flowfuse/./frontend/src/components/expert/components/messages/components/resources/FlowsList.vue","webpack://@flowfuse/flowfuse/./frontend/src/components/expert/components/messages/components/resources/GuideStepsList.vue","webpack://@flowfuse/flowfuse/./frontend/src/components/expert/components/messages/components/resources/IssuesList.vue","webpack://@flowfuse/flowfuse/./frontend/src/components/expert/components/messages/components/resource-cards/PackageResourceCard.vue","webpack://@flowfuse/flowfuse/./frontend/src/components/expert/components/messages/components/resources/PackagesList.vue","webpack://@flowfuse/flowfuse/./frontend/src/components/expert/components/messages/components/resource-cards/StandardResourceCard.vue","webpack://@flowfuse/flowfuse/./frontend/src/components/expert/components/messages/components/resources/ResourcesList.vue","webpack://@flowfuse/flowfuse/./frontend/src/components/expert/components/messages/components/resources/SuggestionsList.vue","webpack://@flowfuse/flowfuse/./node_modules/highlight.js/styles/github.css","webpack://@flowfuse/flowfuse/./frontend/src/components/expert/components/messages/components/ToolCallItem.vue","webpack://@flowfuse/flowfuse/./frontend/src/components/expert/components/messages/components/ToolCalls.vue","webpack://@flowfuse/flowfuse/./frontend/src/components/expert/components/ExpertMessages.vue","webpack://@flowfuse/flowfuse/./frontend/src/components/expert/components/ExpertModeSwitcher.vue","webpack://@flowfuse/flowfuse/./frontend/src/components/expert/components/InfoBanner.vue","webpack://@flowfuse/flowfuse/./frontend/src/components/expert/components/UpdateBanner.vue","webpack://@flowfuse/flowfuse/./frontend/src/components/expert/Expert.vue"],"sourcesContent":["@use \"@/ui-components/stylesheets/ff-colors.scss\" as *;@use \"@/ui-components/stylesheets/ff-utility.scss\" as *;\n\n.capabilities-selector {\n .ff-listbox {\n min-width: auto;\n\n .ff-options {\n max-width: 320px;\n }\n\n button.ff-button {\n border: 1px solid #c7d2fe; // indigo-300 to match other buttons\n border-radius: 5px;\n padding: 0.25rem 0.50rem;\n background: $ff-white;\n color: #1f2937; // gray-800, explicit dark text\n font-size: 0.875rem;\n\n .icon {\n svg {\n color: inherit;\n width: 1.25rem;\n height: 1.25rem;\n }\n }\n\n &:hover:not(:disabled) {\n background-color: #f9fafb; // gray-50\n }\n\n &:focus,\n &.active {\n outline: none;\n }\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n }\n\n &[data-headlessui-state=\"open\"] {\n button.ff-button,\n button.ff-button:hover {\n background: $ff-indigo-600;\n border-color: $ff-indigo-600;\n color: $ff-white;\n\n .icon {\n svg {\n color: $ff-white;\n }\n }\n }\n }\n }\n}\n\n.tool-count-badge {\n background-color: #e0e7ff; // indigo-100\n color: #4338ca; // indigo-700\n font-size: 0.75rem;\n font-weight: 500;\n padding: 0.125rem 0.5rem;\n border-radius: 9999px;\n min-width: 1.5rem;\n text-align: center;\n flex-shrink: 0;\n}\n","// Raw Color Scheme\n\n$ff-black: black;\n$ff-white: white;\n\n$ff-grey-50: #F9FAFB;\n$ff-grey-100: #F3F4F6;\n$ff-grey-200: #E5E7EB;\n$ff-grey-300: #D1D5DB;\n$ff-grey-400: #9CA3AF;\n$ff-grey-500: #6B7280;\n$ff-grey-600: #4B5563;\n$ff-grey-700: #374151;\n$ff-grey-800: #1F2937;\n$ff-grey-900: #111827;\n\n$ff-red-50: #FFEBEB;\n$ff-red-100: #FFC6C6;\n$ff-red-200: #FF8D8D;\n$ff-red-300: #F16F6F;\n$ff-red-400: #ED4E4E;\n$ff-red-500: #D12B2B;\n$ff-red-500B: #D82525;\n$ff-red-600: #BC3838;\n$ff-red-700: #AB1818;\n$ff-red-800: #8F0001;\n$ff-red-900: #760000;\n\n$ff-teal-50: #E4FBFC;\n$ff-teal-100: #C4F3F5;\n$ff-teal-200: #B2EBEE;\n$ff-teal-300: #8CE2E7;\n$ff-teal-400: #74D4D9;\n$ff-teal-500: #50C3C9;\n$ff-teal-600: #35AAB0;\n$ff-teal-700: #31959A;\n$ff-teal-800: #397B7E;\n$ff-teal-900: #406466;\n\n$ff-blue-50: #EFF6FF;\n$ff-blue-100: #DBEAFE;\n$ff-blue-200: #BFDBFE;\n$ff-blue-300: #93C5FD;\n$ff-blue-400: #60A5FA;\n$ff-blue-500: #3B82F6;\n$ff-blue-600: #2563EB;\n$ff-blue-700: #1D4ED8;\n$ff-blue-800: #1E40AF;\n$ff-blue-900: #1E3A8A;\n\n$ff-indigo-50: #EEF2FF;\n$ff-indigo-100: #E0E7FF;\n$ff-indigo-200: #C7D2FE;\n$ff-indigo-300: #A5B4FC;\n$ff-indigo-400: #818CF8;\n$ff-indigo-500: #6366F1;\n$ff-indigo-600: #4F46E5;\n$ff-indigo-700: #4338CA;\n$ff-indigo-800: #3730A3;\n$ff-indigo-900: #312E81;\n\n$ff-green-50: #ECFDF5;\n$ff-green-100: #D1FAE5;\n$ff-green-200: #A7F3D0;\n$ff-green-300: #6EE7B7;\n$ff-green-400: #34D399;\n$ff-green-500: #10B981;\n$ff-green-600: #059669;\n$ff-green-700: #047857;\n$ff-green-800: #065F46;\n$ff-green-900: #064E3B;\n\n$ff-yellow-10: #FFFCF5;\n$ff-yellow-50: #FFFBEB;\n$ff-yellow-100: #FEF3C7;\n$ff-yellow-200: #FDE68A;\n$ff-yellow-300: #FCD34D;\n$ff-yellow-400: #FBBF24;\n$ff-yellow-500: #F59E0B;\n$ff-yellow-600: #D97706;\n$ff-yellow-700: #B45309;\n$ff-yellow-800: #92400E;\n$ff-yellow-900: #78350F;\n\n// Theme Colors\n\n$ff-color--action: $ff-indigo-800;\n$ff-color--highlight: $ff-indigo-600;\n$ff-color--highlight--light: $ff-grey-100;\n$ff-color--danger: $ff-red-500;\n$ff-color--danger--dark: $ff-red-600;\n$ff-color--disabled: $ff-grey-400;\n$ff-color--border: $ff-grey-200;\n$ff-color--context-menu: $ff-white;\n","@use \"@/ui-components/stylesheets/ff-colors.scss\" as *;@use \"@/ui-components/stylesheets/ff-utility.scss\" as *;\n\n.chip {\n border: 1px solid $ff-grey-200;\n border-radius: 5px;\n background: $ff-grey-50;\n display: flex;\n gap: 5px;\n align-items: center;\n cursor: pointer;\n transition: 0.3s ease-in-out;\n white-space: nowrap;\n\n &.active {\n background: $ff-indigo-100;\n border: 1px solid $ff-indigo-300;\n\n .separator {\n background: $ff-indigo-300;\n }\n }\n\n .icon-wrapper {\n display: flex;\n align-items: center;\n margin-right: 5px;\n }\n\n .separator {\n width: 1px;\n align-self: stretch;\n background: $ff-yellow-100;\n }\n\n .text {\n padding: 0.25rem 0.50rem 0.25rem 0.25rem;\n align-items: center;\n font-size: $ff-funit-sm;\n display: flex;\n gap: 2px;\n }\n}\n","/*\n ff-utility contains functional variables and classes for padding/margin and sizings\n*/\n\n// screen sizes\n$ff-screen-sm: 640px;\n$ff-screen-md: 768px;\n$ff-screen-lg: 1024px;\n$ff-screen-xl: 1280px;\n$ff-screen-2xl: 1536px;\n\n// unit\n$ff-unit-xs: 3px;\n$ff-unit-sm: 6px;\n$ff-unit-md: 9px;\n$ff-unit-lg: 18px;\n$ff-unit-xl: 27px;\n\n// font unit\n$ff-funit-xs: 0.75rem;\n$ff-funit-sm: 0.85rem;\n$ff-funit-md: 1rem;\n$ff-funit-lg: 1.5rem;\n$ff-funit-xl: 2rem;\n\n@mixin truncate {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n","@use \"@/ui-components/stylesheets/ff-colors.scss\" as *;@use \"@/ui-components/stylesheets/ff-utility.scss\" as *;\n\n.flow-selection-button {\n .text {\n .counter {\n color: $ff-grey-500;\n margin-left: 4px;\n font-size: $ff-funit-xs;\n }\n }\n}\n","@use \"@/ui-components/stylesheets/ff-colors.scss\" as *;@use \"@/ui-components/stylesheets/ff-utility.scss\" as *;\n\n.flow-selection-button {\n .text {\n .counter {\n color: $ff-grey-500;\n margin-left: 4px;\n font-size: $ff-funit-xs;\n }\n }\n}\n","@use \"@/ui-components/stylesheets/ff-colors.scss\" as *;@use \"@/ui-components/stylesheets/ff-utility.scss\" as *;\n\n.context-selector {\n .ff-listbox {\n min-width: auto;\n\n .ff-options {\n max-width: 320px;\n }\n\n button.ff-button {\n border: 1px solid #c7d2fe; // indigo-300 to match other buttons\n border-radius: 5px;\n padding: 0.25rem 0.50rem;\n background: $ff-white;\n color: #1f2937; // gray-800, explicit dark text\n font-size: 0.875rem;\n\n .icon {\n svg {\n color: inherit;\n width: 1.25rem;\n height: 1.25rem;\n }\n }\n\n &:hover:not(:disabled) {\n background-color: #f9fafb; // gray-50\n }\n\n &:focus:not(:disabled) {\n outline: none;\n background-color: #e0e7ff; // indigo-100\n color: #4338ca; // indigo-700\n }\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n }\n\n &[data-headlessui-state=\"open\"] {\n button.ff-button,\n button.ff-button:hover {\n background: $ff-indigo-600;\n border-color: $ff-indigo-600;\n color: $ff-white;\n\n .icon {\n svg {\n color: $ff-white;\n }\n }\n }\n }\n }\n}\n\n.context-selector.active .relative button {\n background-color: #e0e7ff; // indigo-100\n}\n","@use \"@/ui-components/stylesheets/ff-colors.scss\" as *;@use \"@/ui-components/stylesheets/ff-utility.scss\" as *;\n\n.context-selector-container {\n display: flex;\n justify-content: flex-start;\n overflow: auto;\n flex: 1;\n\n .chips-container {\n flex: 1;\n overflow-x: auto;\n scrollbar-width: none;\n display: flex;\n gap: 0.5rem;\n }\n}\n","@use \"@/ui-components/stylesheets/ff-colors.scss\" as *;@use \"@/ui-components/stylesheets/ff-utility.scss\" as *;\n\n.ff-expert-input {\n display: flex;\n flex-direction: column;\n gap: 0;\n padding: 1rem; // p-4\n border-top: 1px solid #E5E7EB; // border-gray-200\n background: white;\n flex-shrink: 0; // Prevent input area from shrinking\n position: relative;\n min-height: 180px;\n max-height: 40vh;\n}\n\n.action-buttons {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 0.5rem;\n}\n\n.right-buttons {\n display: flex;\n gap: 0.5rem;\n}\n\nbutton {\n padding: 0.5rem 0.75rem; // py-2 px-3\n border-radius: 9999px; // rounded-full\n font-size: 0.875rem; // text-sm\n cursor: pointer;\n transition: colors 0.2s ease;\n border: 1px solid transparent;\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n}\n\n.btn-start-over {\n background-color: white;\n color: inherit;\n border-color: #C7D2FE; // indigo-300\n padding: 0.25rem 0.50rem;\n border-radius: 5px;\n\n &:hover:not(:disabled) {\n background-color: #F9FAFB; // gray-50\n }\n}\n\n.btn-send {\n background-color: $ff-indigo-600;\n color: white;\n border-color: $ff-indigo-600;\n border-radius: 5px;\n padding: 0.25rem 0.50rem;\n\n &:hover:not(:disabled) {\n background-color: $ff-indigo-700;\n }\n}\n\n.btn-stop {\n background-color: white;\n color: inherit;\n border-color: #C7D2FE; // indigo-300\n display: flex;\n align-items: center;\n gap: 0.5rem;\n border-radius: 5px;\n padding: 0.25rem 0.50rem;\n\n &::before {\n content: '';\n width: 0.75rem; // w-3\n height: 0.75rem; // h-3\n background-color: #1F2937; // gray-800\n border-radius: 0.125rem; // rounded-sm\n }\n\n &:hover {\n background-color: #F9FAFB; // gray-50\n }\n}\n\n.input-wrapper {\n flex: 1;\n display: flex;\n flex-direction: column;\n border: 2px solid #D1D5DB; // border-2 border-gray-300\n border-radius: 0.5rem; // rounded-lg\n transition: border-color 0.2s ease;\n\n &.focused {\n border-color: $ff-indigo-500;\n }\n\n .chat-input {\n flex: 1;\n width: 100%;\n padding: 1rem; // p-4\n box-sizing: border-box;\n overflow-y: auto;\n border: none;\n outline: none;\n font-size: 0.875rem; // text-sm\n line-height: 1.5;\n color: #111827; // text-gray-900\n resize: none;\n font-family: inherit;\n background: white;\n\n &:focus {\n outline: none;\n }\n\n &:disabled {\n cursor: not-allowed;\n background-color: #F9FAFB; // bg-gray-50\n color: #6B7280; // text-gray-500\n }\n\n &::placeholder {\n color: #9CA3AF; // placeholder gray\n }\n }\n\n .actions {\n padding: .5rem;\n display: flex;\n justify-content: space-between;\n gap: 0.75rem;\n\n .right {\n display: flex;\n justify-content: flex-end;\n }\n }\n}\n","@use \"@/ui-components/stylesheets/ff-colors.scss\" as *;@use \"@/ui-components/stylesheets/ff-utility.scss\" as *;\n\n.ff-expert-loading {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 0.75rem;\n padding: 1rem;\n}\n\n.loading-dots {\n display: flex;\n gap: 0.5rem;\n align-items: center;\n}\n\n.loading-dot {\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background-color: $ff-indigo-500;\n animation: bounce-dot 1.4s infinite ease-in-out both;\n\n &:nth-child(1) {\n animation-delay: -0.32s;\n }\n\n &:nth-child(2) {\n animation-delay: -0.16s;\n }\n}\n\n@keyframes bounce-dot {\n 0%, 80%, 100% {\n transform: scale(0.7);\n opacity: 0.5;\n }\n 40% {\n transform: scale(1);\n opacity: 1;\n }\n}\n\n.loading-message {\n font-size: 0.875rem;\n color: $ff-grey-600;\n font-style: italic;\n animation: fade-in 0.3s ease-in;\n}\n\n@keyframes fade-in {\n from {\n opacity: 0;\n transform: translateY(-4px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n","@use \"@/ui-components/stylesheets/ff-colors.scss\" as *;@use \"@/ui-components/stylesheets/ff-utility.scss\" as *;\n\n.section-title {\n font-size: 1rem;\n font-weight: 500;\n color: #111827;\n}\n\n.guide-badge {\n display: inline-flex;\n align-self: flex-start;\n\n span {\n display: inline-block;\n padding: 0.25rem 0.75rem;\n background-color: $ff-indigo-100;\n color: $ff-indigo-700;\n font-size: 0.875rem;\n border-radius: 5px;\n }\n}\n","@use \"@/ui-components/stylesheets/ff-colors.scss\" as *;@use \"@/ui-components/stylesheets/ff-utility.scss\" as *;\n\n.streamable-content {\n :deep(ul) {\n padding: revert;\n\n li {\n list-style: initial;\n }\n }\n\n :deep(.ff-code-block) {\n margin: 0.75rem 0;\n border: 1px solid $ff-grey-200;\n border-radius: 0.5rem;\n overflow: hidden;\n font-size: 0.8125rem;\n\n pre {\n margin: 0;\n padding: 1rem;\n overflow-x: auto;\n background: $ff-grey-50;\n border-radius: 0;\n white-space: pre;\n overflow-wrap: normal;\n word-break: normal;\n\n code {\n font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;\n background: transparent;\n border: none;\n padding: 0;\n white-space: pre;\n word-break: normal;\n }\n }\n }\n\n :deep(.ff-code-block--header) {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0.3rem 1rem;\n background: $ff-grey-100;\n border-bottom: 1px solid $ff-grey-200;\n min-height: 2rem;\n }\n\n :deep(.ff-code-block--lang) {\n font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;\n font-size: 0.6875rem;\n color: $ff-grey-500;\n text-transform: lowercase;\n }\n\n :deep(.ff-code-block--copy) {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 4px;\n background: transparent;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n color: $ff-color--action;\n transition: all 0.2s ease;\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n pointer-events: none;\n }\n\n &:hover {\n color: $ff-white;\n background-color: $ff-color--highlight;\n }\n }\n\n :deep(code) {\n padding: 0;\n border: none;\n border-radius: 0;\n }\n\n :deep(table) {\n border-collapse: collapse; /* removes double borders */\n\n tr + tr td {\n font-family: ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, \"Liberation Mono\", monospace;\n border-top: 1px solid $ff-grey-200;\n }\n\n td, th {\n padding: 5px 10px;\n }\n }\n}\n","@use \"@/ui-components/stylesheets/ff-colors.scss\" as *;@use \"@/ui-components/stylesheets/ff-utility.scss\" as *;\n\n.guide-header {\n .guide-title {\n font-size: 1.125rem; // text-lg\n font-weight: 600; // font-semibold\n color: #111827; // text-gray-900\n margin: 0 0 0.5rem 0; // mb-2\n }\n\n .guide-summary {\n color: #374151; // text-gray-700\n margin: 0 0 1rem 0; // mb-4\n line-height: 1.625;\n }\n}\n","@use \"@/ui-components/stylesheets/ff-colors.scss\" as *;@use \"@/ui-components/stylesheets/ff-utility.scss\" as *;\n\n.message-bubble {\n padding: 0.5rem 1rem;\n word-wrap: break-word;\n overflow-wrap: break-word;\n border-radius: 0.5rem;\n\n &.ai-message {\n justify-content: flex-start;\n background-color: $ff-grey-100;\n color: #1F2937;\n border-bottom-left-radius: 0.125rem;\n }\n\n &.human-message {\n background-color: $ff-indigo-600;\n color: white;\n border-bottom-right-radius: 0.125rem;\n width: fit-content;\n align-self: end;\n }\n\n &.system-message {\n justify-content: center;\n font-size: 0.875rem;\n line-height: 1.5;\n\n &.system-warning {\n background-color: #FEF3C7;\n color: #92400E;\n border-radius: 0.5rem;\n text-align: left;\n max-width: 100%;\n width: 100%;\n }\n\n &.system-expired {\n background-color: #FEE2E2; // red-100\n color: #991B1B; // red-900\n }\n }\n}\n\n","@use \"@/ui-components/stylesheets/ff-colors.scss\" as *;@use \"@/ui-components/stylesheets/ff-utility.scss\" as *;\n\n.section-title {\n font-size: 1rem; // text-base\n font-weight: 500; // font-medium\n color: #111827; // text-gray-900\n margin: 0 0 0.75rem 0; // mb-3\n}\n\n.guide-flows {\n .resources-grid {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n }\n}\n","@use \"@/ui-components/stylesheets/ff-colors.scss\" as *;@use \"@/ui-components/stylesheets/ff-utility.scss\" as *;\n\n.section-title {\n font-size: 1rem; // text-base\n font-weight: 500; // font-medium\n color: #111827; // text-gray-900\n margin: 0 0 0.75rem 0; // mb-3\n}\n\n.guide-steps {\n margin-bottom: 1rem; // mb-4\n\n .steps-list {\n list-style: none;\n padding: 0;\n margin: 0;\n display: flex;\n flex-direction: column;\n gap: 0.75rem; // space-y-3\n }\n\n .step-item {\n display: flex;\n align-items: flex-start;\n }\n\n .step-number {\n flex-shrink: 0;\n width: 1.5rem; // w-6\n height: 1.5rem; // h-6\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: $ff-indigo-600;\n color: white;\n font-size: 0.875rem; // text-sm\n border-radius: 50%; // rounded-full\n margin-right: 0.75rem; // mr-3\n margin-top: 0.125rem; // mt-0.5\n }\n\n .step-content {\n flex: 1;\n\n .step-title {\n font-size: 1rem;\n font-weight: 500;\n color: $ff-grey-900;\n margin: 0 0 0.25rem 0;\n }\n\n .step-detail {\n font-size: 0.875rem;\n color: $ff-grey-600;\n margin: 0.25rem 0 0 0;\n line-height: 1.5;\n }\n }\n}\n\n","@use \"@/ui-components/stylesheets/ff-colors.scss\" as *;@use \"@/ui-components/stylesheets/ff-utility.scss\" as *;\n\n.issues {\n margin-top: 1.25rem;\n\n h4 {\n font-weight: bold;\n display: flex;\n align-items: center;\n gap: 5px;\n color: $ff-grey-600;\n\n .ff-icon {\n color: $ff-grey-500;\n }\n }\n\n ul {\n list-style: disc;\n padding-left: 1.4rem;\n\n li {\n margin-top: .5rem;\n }\n }\n}\n","@use \"@/ui-components/stylesheets/ff-colors.scss\" as *;@use \"@/ui-components/stylesheets/ff-utility.scss\" as *;\n\n.package-card {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n padding: 0.75rem;\n background-color: white;\n border: 1px solid $ff-grey-200;\n border-radius: 0.5rem;\n text-decoration: none;\n color: $ff-grey-900;\n transition: all 0.2s ease;\n\n &:hover {\n border-color: $ff-indigo-300;\n background-color: $ff-grey-50;\n }\n}\n\n.package-favicon {\n flex-shrink: 0;\n width: 1rem;\n height: 1rem;\n margin-top: 0.125rem;\n vertical-align: middle;\n margin-right: 0.5rem;\n}\n\n.package-info {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n\n.package-text {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 0.125rem;\n}\n\n.package-actions {\n flex-shrink: 0;\n}\n\n.package-name {\n font-size: 0.875rem;\n font-weight: 500;\n font-family: monospace;\n color: $ff-grey-900;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n :deep(.streamable-content) {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n\n.package-url {\n font-size: 0.75rem;\n color: $ff-grey-500;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n margin: 0;\n\n :deep(.streamable-content) {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n","@use \"@/ui-components/stylesheets/ff-colors.scss\" as *;@use \"@/ui-components/stylesheets/ff-utility.scss\" as *;\n\n.section-title {\n font-size: 1rem; // text-base\n font-weight: 500; // font-medium\n color: #111827; // text-gray-900\n margin: 0 0 0.75rem 0; // mb-3\n}\n\n.guide-packages {\n .packages-list {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n }\n}\n","@use \"@/ui-components/stylesheets/ff-colors.scss\" as *;@use \"@/ui-components/stylesheets/ff-utility.scss\" as *;\n\n.resource-card {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n padding: 0.75rem;\n background-color: white;\n border: 1px solid $ff-grey-200;\n border-radius: 0.5rem;\n text-decoration: none;\n color: $ff-grey-900;\n transition: all 0.2s ease;\n\n &:hover {\n border-color: $ff-indigo-300;\n background-color: $ff-grey-50;\n }\n}\n\n.resource-icon {\n flex-shrink: 0;\n width: 1rem;\n height: 1rem;\n margin-top: 0.125rem;\n object-fit: contain;\n}\n\n.resource-info {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n min-width: 0;\n}\n\n.resource-title {\n font-size: 0.875rem;\n font-weight: 500;\n color: $ff-grey-900;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n :deep(.streamable-content) {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n\n.resource-url {\n font-size: 0.75rem;\n color: $ff-grey-500;\n margin: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n :deep(.streamable-content) {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n","@use \"@/ui-components/stylesheets/ff-colors.scss\" as *;@use \"@/ui-components/stylesheets/ff-utility.scss\" as *;\n\n.section-title {\n font-size: 1rem; // text-base\n font-weight: 500; // font-medium\n color: #111827; // text-gray-900\n margin: 0 0 0.75rem 0; // mb-3\n}\n\n.guide-resources {\n .resources-grid {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n }\n}\n","@use \"@/ui-components/stylesheets/ff-colors.scss\" as *;@use \"@/ui-components/stylesheets/ff-utility.scss\" as *;\n\n.suggestions {\n margin-top: 1.25rem;\n\n h4 {\n font-weight: bold;\n display: flex;\n align-items: center;\n gap: 5px;\n color: $ff-grey-600;\n\n .ff-icon {\n color: $ff-grey-500;\n }\n }\n\n ul {\n list-style: disc;\n padding-left: 1.4rem;\n\n li {\n margin-top: .5rem;\n }\n }\n}\n","pre code.hljs {\n display: block;\n overflow-x: auto;\n padding: 1em\n}\ncode.hljs {\n padding: 3px 5px\n}\n/*!\n Theme: GitHub\n Description: Light theme as seen on github.com\n Author: github.com\n Maintainer: @Hirse\n Updated: 2021-05-15\n\n Outdated base version: https://github.com/primer/github-syntax-light\n Current colors taken from GitHub's CSS\n*/\n.hljs {\n color: #24292e;\n background: #ffffff\n}\n.hljs-doctag,\n.hljs-keyword,\n.hljs-meta .hljs-keyword,\n.hljs-template-tag,\n.hljs-template-variable,\n.hljs-type,\n.hljs-variable.language_ {\n /* prettylights-syntax-keyword */\n color: #d73a49\n}\n.hljs-title,\n.hljs-title.class_,\n.hljs-title.class_.inherited__,\n.hljs-title.function_ {\n /* prettylights-syntax-entity */\n color: #6f42c1\n}\n.hljs-attr,\n.hljs-attribute,\n.hljs-literal,\n.hljs-meta,\n.hljs-number,\n.hljs-operator,\n.hljs-variable,\n.hljs-selector-attr,\n.hljs-selector-class,\n.hljs-selector-id {\n /* prettylights-syntax-constant */\n color: #005cc5\n}\n.hljs-regexp,\n.hljs-string,\n.hljs-meta .hljs-string {\n /* prettylights-syntax-string */\n color: #032f62\n}\n.hljs-built_in,\n.hljs-symbol {\n /* prettylights-syntax-variable */\n color: #e36209\n}\n.hljs-comment,\n.hljs-code,\n.hljs-formula {\n /* prettylights-syntax-comment */\n color: #6a737d\n}\n.hljs-name,\n.hljs-quote,\n.hljs-selector-tag,\n.hljs-selector-pseudo {\n /* prettylights-syntax-entity-tag */\n color: #22863a\n}\n.hljs-subst {\n /* prettylights-syntax-storage-modifier-import */\n color: #24292e\n}\n.hljs-section {\n /* prettylights-syntax-markup-heading */\n color: #005cc5;\n font-weight: bold\n}\n.hljs-bullet {\n /* prettylights-syntax-markup-list */\n color: #735c0f\n}\n.hljs-emphasis {\n /* prettylights-syntax-markup-italic */\n color: #24292e;\n font-style: italic\n}\n.hljs-strong {\n /* prettylights-syntax-markup-bold */\n color: #24292e;\n font-weight: bold\n}\n.hljs-addition {\n /* prettylights-syntax-markup-inserted */\n color: #22863a;\n background-color: #f0fff4\n}\n.hljs-deletion {\n /* prettylights-syntax-markup-deleted */\n color: #b31d28;\n background-color: #ffeef0\n}\n.hljs-char.escape_,\n.hljs-link,\n.hljs-params,\n.hljs-property,\n.hljs-punctuation,\n.hljs-tag {\n /* purposely ignored */\n \n}","@use \"@/ui-components/stylesheets/ff-colors.scss\" as *;@use \"@/ui-components/stylesheets/ff-utility.scss\" as *;\n\n@import 'highlight.js/styles/github.css';\n\n.ff-expert-tool-call--item {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n}\n\n.ff-expert-tool-call--title {\n font-size: 0.875rem;\n font-weight: 600;\n color: $ff-grey-800;\n}\n\n.ff-expert-tool-call--name {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.375rem;\n font-size: 0.75rem;\n color: $ff-grey-500;\n font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;\n}\n\n.ff-expert-tool-call--badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 1.25rem;\n height: 1.125rem;\n padding: 0 0.25rem;\n font-size: 0.5625rem;\n font-weight: 700;\n color: $ff-grey-600;\n background-color: $ff-grey-200;\n border-radius: 0.1875rem;\n flex-shrink: 0;\n cursor: help;\n}\n\n.ff-expert-tool-call--details {\n margin-top: 0.5rem;\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.ff-expert-tool-call--section {\n border: 1px solid $ff-grey-200;\n border-radius: 0.375rem;\n overflow: hidden;\n}\n\n.ff-expert-tool-call--section-header {\n display: flex;\n align-items: center;\n gap: 0.375rem;\n padding: 0.5rem 0.75rem;\n background-color: white;\n cursor: pointer;\n user-select: none;\n font-size: 0.75rem;\n font-weight: 500;\n color: $ff-grey-600;\n\n &:hover {\n background-color: $ff-grey-50;\n }\n\n .ff-icon-small {\n width: 0.75rem;\n height: 0.75rem;\n color: $ff-grey-400;\n flex-shrink: 0;\n transition: transform 0.2s ease;\n\n &.rotated {\n transform: rotate(90deg);\n }\n }\n}\n\n.ff-expert-tool-call--section-label {\n flex: 1;\n}\n\n.ff-expert-tool-call--section-duration {\n color: $ff-grey-400;\n font-weight: 400;\n}\n\n.ff-expert-tool-call--code {\n pre {\n margin: 0;\n padding: 0.75rem;\n background-color: $ff-grey-100;\n border-radius: 0.375rem;\n overflow-x: auto;\n\n code {\n font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;\n font-size: 0.8125rem;\n color: $ff-grey-800;\n white-space: pre-wrap;\n word-break: break-word;\n border: none;\n background: transparent;\n padding: 0;\n }\n }\n\n // When inside a section, remove border-radius top and add border\n .ff-expert-tool-call--section & {\n border-top: 1px solid $ff-grey-200;\n\n pre {\n border-radius: 0;\n }\n }\n}\n","@use \"@/ui-components/stylesheets/ff-colors.scss\" as *;@use \"@/ui-components/stylesheets/ff-utility.scss\" as *;\n\n.ff-expert-tool-call {\n background-color: $ff-grey-50;\n border: 1px solid $ff-grey-200;\n border-radius: 0.5rem 0.5rem 0.5rem 0;\n overflow: hidden;\n max-width: 90%;\n}\n\n.ff-expert-tool-call--header {\n display: flex;\n align-items: center;\n padding: 0.75rem 1rem;\n gap: 0.5rem;\n background-color: white;\n cursor: pointer;\n user-select: none;\n\n &:hover {\n background-color: $ff-grey-50;\n }\n\n .ff-icon {\n width: 1rem;\n height: 1rem;\n color: $ff-grey-500;\n flex-shrink: 0;\n transition: transform 0.2s ease;\n\n &.rotated {\n transform: rotate(90deg);\n }\n }\n}\n\n.ff-expert-tool-call--count {\n font-size: 1rem;\n font-weight: 500;\n color: $ff-grey-800;\n flex: 1;\n}\n\n.ff-expert-tool-call--duration {\n font-size: 1rem;\n color: $ff-grey-500;\n}\n\n.ff-expert-tool-call--body {\n --item-height: 3rem;\n border-top: 1px solid $ff-grey-200;\n padding: 0.75rem 1rem;\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n max-height: calc(var(--item-height) * 2 + 1.5rem);\n overflow-y: auto;\n transition: max-height 0.2s ease;\n\n &.is-expanded {\n max-height: calc(var(--item-height) * 15 + 1.5rem);\n }\n}\n","@use \"@/ui-components/stylesheets/ff-colors.scss\" as *;@use \"@/ui-components/stylesheets/ff-utility.scss\" as *;\n\n.message-wrapper {\n margin-bottom: 0.5rem;\n}\n","@use \"@/ui-components/stylesheets/ff-colors.scss\" as *;@use \"@/ui-components/stylesheets/ff-utility.scss\" as *;\n\n.mode-switcher-floating {\n position: absolute;\n top: 1rem;\n left: 50%;\n transform: translateX(-50%);\n z-index: 1;\n background: white;\n border-radius: 8px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n}\n","@use \"@/ui-components/stylesheets/ff-colors.scss\" as *;@use \"@/ui-components/stylesheets/ff-utility.scss\" as *;\n\n\n.info-banner {\n background-color: #eef2ff; // indigo-100\n border-radius: 0.5rem;\n margin-bottom: 1.5rem;\n padding: 0.75rem 1rem;\n\n .info-text {\n color: #4338ca; // indigo-700\n font-size: 0.875rem;\n margin: 0;\n line-height: 1.5;\n }\n\n .info-link {\n color: inherit;\n text-decoration: underline;\n\n &:hover {\n color: #3730a3; // indigo-800\n }\n }\n\n .beta-badge {\n display: inline-block;\n background-color: #818cf8; // indigo-400\n color: white;\n font-size: 0.625rem;\n font-weight: 600;\n padding: 0.125rem 0.375rem;\n border-radius: 0.25rem;\n text-transform: uppercase;\n letter-spacing: 0.025em;\n cursor: help;\n vertical-align: text-top;\n }\n}\n","@use \"@/ui-components/stylesheets/ff-colors.scss\" as *;@use \"@/ui-components/stylesheets/ff-utility.scss\" as *;\n\n.update-banner {\n background-color: #eef2ff; // indigo-100\n margin-bottom: 0rem;\n border-radius: 0;\n padding: 0.5rem 1rem;\n border-top: 1px solid #E5E7EB;\n\n .update-banner-text {\n color: #4338ca; // indigo-700\n font-size: 0.875rem;\n margin: 0;\n line-height: 1.5;\n }\n\n .update-banner-header {\n font-weight: 600;\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n\n .update-banner-body {\n max-height: 0;\n overflow: hidden;\n visibility: hidden;\n transition: max-height 0.6s ease-in-out, visibility 0.6s ease-in-out;\n transition-delay: 250ms; // avoid showing immediately (minimise false expansion on mousing around the chat)\n }\n\n .update-banner-badge {\n display: inline-block;\n background-color: #818cf8; // indigo-400\n color: white;\n font-weight: 600;\n border-radius: 0.25rem;\n text-transform: uppercase;\n letter-spacing: 0.025em;\n cursor: default;\n vertical-align: text-top;\n padding: 0.125rem 0.5rem;\n font-size: 0.75rem;\n }\n\n &.warning {\n .update-banner-badge {\n background-color: $ff-red-700;\n color: $ff-grey-50;\n }\n }\n\n &:hover .update-banner-body,\n &:focus-within .update-banner-body,\n &:active .update-banner-body {\n max-height: 500px;\n visibility: visible;\n }\n}\n","@use \"@/ui-components/stylesheets/ff-colors.scss\" as *;@use \"@/ui-components/stylesheets/ff-utility.scss\" as *;\n\n.ff-expert {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: white;\n overflow: hidden; // Prevent this container from scrolling\n position: relative;\n}\n\n.messages-container {\n flex: 1;\n overflow-y: auto;\n padding: 1rem; // p-4\n scroll-behavior: smooth;\n min-height: 0; // Important for flex child overflow\n\n // Custom scrollbar styling\n &::-webkit-scrollbar {\n width: 8px;\n }\n\n &::-webkit-scrollbar-track {\n background: transparent;\n }\n\n &::-webkit-scrollbar-thumb {\n background-color: $ff-grey-300;\n border-radius: 4px;\n\n &:hover {\n background-color: $ff-grey-400;\n }\n }\n}\n\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n text-align: center;\n padding: 2rem;\n color: $ff-grey-600;\n\n .empty-state-icon {\n width: 4rem;\n height: 4rem;\n margin-bottom: 1rem;\n color: $ff-indigo-400;\n\n svg {\n width: 100%;\n height: 100%;\n }\n }\n\n h3 {\n font-size: 1.5rem;\n font-weight: 600;\n color: $ff-grey-900;\n margin: 0 0 0.5rem 0;\n }\n\n p {\n font-size: 1rem;\n margin: 0;\n max-width: 400px;\n }\n}\n\n.scroll-anchor {\n height: 1px;\n}\n\n.messages-container.has-mode-switcher {\n padding-top: 4rem; // Extra padding to account for floating mode switcher\n}\n"],"names":[],"sourceRoot":""}