:root,html:not(.dark){--background:#ffffff;--foreground:#171717}@media (prefers-color-scheme:dark){html:not(.dark){--background:#ffffff;--foreground:#171717}}.dark,html.dark{--background:#1f2937;--foreground:#ededed}body,html{max-width:100vw;overflow-x:hidden}body{color:var(--foreground);background:var(--background);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;padding:0;margin:0}a{color:inherit;text-decoration:none}@media (prefers-color-scheme:dark){html{color-scheme:dark}}.dark,html.dark{color-scheme:dark}.chat-scrollbar::-webkit-scrollbar{width:6px}.chat-scrollbar::-webkit-scrollbar-track{background:transparent}.chat-scrollbar::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.chat-scrollbar::-webkit-scrollbar-thumb:hover{background:#555}.chat-container{scroll-behavior:smooth}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-10px);opacity:1}}.typing-dot{animation:typing-bounce 1.4s infinite}.typing-dot:first-child{animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spinner{animation:spin 1s linear infinite}@keyframes bounce-char-single{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.thinking-char{display:inline-block}.chat-textarea::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}.chat-textarea{-ms-overflow-style:none!important;scrollbar-width:none!important}.thinking-dots{display:inline-flex;align-items:center;gap:4px;padding-left:2px}.thinking-dot{width:4px;height:4px;border-radius:50%;background-color:currentColor;display:inline-block;animation:bubble-dot 1.4s ease-in-out infinite}.thinking-dot:first-child{animation-delay:0s}.thinking-dot:nth-child(2){animation-delay:.2s}.thinking-dot:nth-child(3){animation-delay:.4s}@keyframes bubble-dot{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-8px);opacity:1}}.thinking-gradient{background:linear-gradient(90deg,rgb(107 114 128),rgb(59 130 246) 25%,rgb(147 51 234) 50%,rgb(59 130 246) 75%,rgb(107 114 128));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradient-shift 2s linear infinite}.dark .thinking-gradient{background:linear-gradient(90deg,rgb(156 163 175),rgb(96 165 250) 25%,rgb(168 85 247) 50%,rgb(96 165 250) 75%,rgb(156 163 175));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}@keyframes gradient-shift{0%{background-position:-100% 50%}to{background-position:200% 50%}}.container{display:flex;flex-direction:column;height:100vh;height:100dvh;width:100vw;width:100dvw;position:fixed;top:0;left:0;margin:0;padding:0;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.container,html:not(.dark) .container{background:#ffffff;color:#171717}@media (prefers-color-scheme:dark){html:not(.dark) .container{background:#ffffff;color:#171717}}.dark .container{background:#1f2937;color:#ededed}.header{background:linear-gradient(90deg,#2563eb,#9333ea);color:white;padding:1rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);margin:0}@media (min-width:640px){.header{padding:1.25rem 1.5rem}}.headerContent{justify-content:space-between}.headerContent,.headerLeft{display:flex;align-items:center}.headerLeft{gap:.75rem}.avatarContainer{width:2.5rem;height:2.5rem;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);flex-shrink:0}@media (min-width:640px){.avatarContainer{width:3rem;height:3rem}}.avatarImage{width:100%;height:100%;object-fit:cover}.headerText{display:flex;flex-direction:column}.headerTitle{margin:0;font-size:1.125rem;font-weight:700;line-height:1.2}@media (min-width:640px){.headerTitle{font-size:1.25rem}}.headerSubtitle{margin:0;font-size:.75rem;opacity:.8;line-height:1.2}@media (min-width:640px){.headerSubtitle{font-size:.875rem}}.darkModeToggle{padding:.5rem;border-radius:.5rem;background:rgba(255,255,255,.2);border:none;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;color:white;flex-shrink:0}.darkModeToggle:hover{background:rgba(255,255,255,.3)}.darkModeToggle:focus{outline:none;box-shadow:0 0 0 2px rgba(255,255,255,.5)}.darkModeIcon{width:1.25rem;height:1.25rem}.chatBox{flex:1 1;min-height:0;padding:1.5rem 1rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.chatBox,html:not(.dark) .chatBox{background:#ffffff}@media (prefers-color-scheme:dark){html:not(.dark) .chatBox{background:#ffffff}}.dark .chatBox{background:#1f2937}.chatBox::-webkit-scrollbar{width:6px}.chatBox::-webkit-scrollbar-track{background:transparent}.chatBox::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.chatBox::-webkit-scrollbar-thumb:hover{background:#555}.message{padding:.75rem 1rem;border-radius:1rem;max-width:85%;word-wrap:break-word;animation:fadeIn .3s ease-in;box-shadow:0 1px 2px rgba(0,0,0,.05)}.userMessage{align-self:flex-end;background:linear-gradient(90deg,#2563eb,#9333ea);color:white;border-radius:1rem 1rem .25rem 1rem;min-width:-moz-fit-content;min-width:fit-content;width:auto;max-width:85%;word-wrap:normal;word-break:normal;flex-shrink:0}.sherlockMessage{align-self:flex-start;border-radius:1rem 1rem 1rem .25rem}.sherlockMessage,html:not(.dark) .sherlockMessage{background:#f3f4f6;color:#1f2937}@media (prefers-color-scheme:dark){html:not(.dark) .sherlockMessage{background:#f3f4f6;color:#1f2937}}.dark .sherlockMessage{background:#374151;color:#e5e7eb}.thinkingMessage{align-self:flex-start;border-radius:1rem 1rem 1rem .25rem}.thinkingMessage,html:not(.dark) .thinkingMessage{background:#f3f4f6;color:#1f2937}@media (prefers-color-scheme:dark){html:not(.dark) .thinkingMessage{background:#f3f4f6;color:#1f2937}}.dark .thinkingMessage{background:#374151;color:#e5e7eb}.inputContainer{padding:.75rem 1rem;background:#ffffff;border-top:1px solid #e5e7eb;width:100%;box-sizing:border-box;position:relative;z-index:10;flex-shrink:0}html:not(.dark) .inputContainer{background:#ffffff;border-top-color:#e5e7eb}@media (prefers-color-scheme:dark){html:not(.dark) .inputContainer{background:#ffffff;border-top-color:#e5e7eb}}.dark .inputContainer{background:#1f2937;border-top-color:#374151}@media (min-width:640px){.inputContainer{padding:1rem 1.5rem}}.inputWrapper{display:flex;align-items:flex-start;gap:.5rem;width:100%}@media (min-width:640px){.inputWrapper{gap:.75rem}}.textareaWrapper{flex:1 1;position:relative;min-width:0}.textarea{width:100%;min-height:2.75rem;padding:.625rem 1rem;background:#f3f4f6;border:1px solid #d1d5db;border-radius:.5rem;color:#1f2937;font-size:.875rem;font-family:inherit;resize:none;outline:none;transition:all .2s ease;line-height:1.5;box-sizing:border-box;overflow-y:auto}@media (min-width:640px){.textarea{min-height:3.25rem;padding:.75rem 1.25rem;font-size:1rem}}html:not(.dark) .textarea{background:#f3f4f6;border-color:#d1d5db;color:#1f2937}@media (prefers-color-scheme:dark){html:not(.dark) .textarea{background:#f3f4f6;border-color:#d1d5db;color:#1f2937}}.dark .textarea{background:#374151;border-color:#4b5563;color:#e5e7eb}.textarea::placeholder{color:#6b7280}html:not(.dark) .textarea::placeholder{color:#6b7280}@media (prefers-color-scheme:dark){html:not(.dark) .textarea::placeholder{color:#6b7280}}.dark .textarea::placeholder{color:#9ca3af}html:not(.dark) .textarea:focus{border-color:#2563eb;background:#ffffff;box-shadow:0 0 0 3px rgba(37,99,235,.1)}@media (prefers-color-scheme:dark){html:not(.dark) .textarea:focus{border-color:#2563eb;background:#ffffff;box-shadow:0 0 0 3px rgba(37,99,235,.1)}}.dark .textarea:focus{background:#4b5563;border-color:#2563eb}html:not(.dark) .textarea:disabled{opacity:.5;cursor:not-allowed;background:#f3f4f6}@media (prefers-color-scheme:dark){html:not(.dark) .textarea:disabled{background:#f3f4f6}}.dark .textarea:disabled{opacity:.5;cursor:not-allowed;background:#374151}.uploadButton{flex-shrink:0;min-width:2.75rem;height:2.75rem;padding:0;background:#f3f4f6;border:1px solid #d1d5db;border-radius:.5rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-sizing:border-box}@media (min-width:640px){.uploadButton{min-width:3.25rem;height:3.25rem}}html:not(.dark) .uploadButton{background:#f3f4f6;border-color:#d1d5db}@media (prefers-color-scheme:dark){html:not(.dark) .uploadButton{background:#f3f4f6;border-color:#d1d5db}}html:not(.dark) .uploadButton:hover:not(.disabled){background:#e5e7eb}@media (prefers-color-scheme:dark){html:not(.dark) .uploadButton:hover:not(.disabled){background:#e5e7eb}}.dark .uploadButton{background:#374151;border-color:#4b5563}.dark .uploadButton:hover:not(.disabled){background:#4b5563}.sendButton.disabled,.textarea.disabled,.uploadButton.disabled{opacity:.5;cursor:not-allowed}.uploadIcon{width:1.25rem;height:1.25rem;color:#6b7280}@media (min-width:640px){.uploadIcon{width:1.5rem;height:1.5rem}}html:not(.dark) .uploadIcon{color:#6b7280}@media (prefers-color-scheme:dark){html:not(.dark) .uploadIcon{color:#6b7280}}.dark .uploadIcon{color:#9ca3af}.sendButton{flex-shrink:0;min-width:2.75rem;height:2.75rem;padding:0;background:linear-gradient(90deg,#2563eb,#9333ea);border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px rgba(0,0,0,.1);box-sizing:border-box}@media (min-width:640px){.sendButton{min-width:3.25rem;height:3.25rem}}.sendButton:hover:not(.disabled){background:linear-gradient(90deg,#1d4ed8,#7e22ce);box-shadow:0 4px 6px rgba(0,0,0,.1);transform:translateY(-1px)}.sendButton:active:not(.disabled){transform:scale(.95)}.sendButton.disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.sendIcon{width:1.25rem;height:1.25rem;color:white}@media (min-width:640px){.sendIcon{width:1.5rem;height:1.5rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.image{max-width:200px;max-height:200px;border-radius:.5rem;border:2px solid rgba(255,255,255,.2);box-shadow:0 4px 6px rgba(0,0,0,.1);object-fit:cover;cursor:pointer;transition:transform .2s ease}.image:hover{transform:scale(1.05)}.imageSelectedIndicator{background:#f3f4f6;border:1px solid #d1d5db;border-radius:.5rem;padding:.5rem .75rem;color:#1f2937;font-size:.875rem;font-weight:500;animation:slideIn .3s ease-out;display:flex;align-items:center;gap:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}html:not(.dark) .imageSelectedIndicator{background:#f3f4f6;border-color:#d1d5db;color:#1f2937}@media (prefers-color-scheme:dark){html:not(.dark) .imageSelectedIndicator{background:#f3f4f6;border-color:#d1d5db;color:#1f2937}}.dark .imageSelectedIndicator{background:#374151;border-color:#4b5563;color:#e5e7eb}@keyframes slideIn{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.imagePreviewContainer{padding:.5rem 1rem;border-top:1px solid #e5e7eb;background:#f9fafb;display:flex;align-items:center;gap:.5rem}html:not(.dark) .imagePreviewContainer{border-top-color:#e5e7eb;background:#f9fafb}@media (prefers-color-scheme:dark){html:not(.dark) .imagePreviewContainer{border-top-color:#e5e7eb;background:#f9fafb}}.dark .imagePreviewContainer{border-top-color:#374151;background:#1f2937}.toaster{border:1px solid #e5e7eb!important;border-radius:.75rem!important;box-shadow:0 4px 6px rgba(0,0,0,.1)!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;font-weight:500!important;font-size:.875rem!important;padding:.75rem 1rem!important;margin:.5rem!important;max-width:400px!important;word-wrap:break-word!important}.toaster,html:not(.dark) .toaster{background:#ffffff!important;color:#1f2937!important}html:not(.dark) .toaster{border-color:#e5e7eb!important}@media (prefers-color-scheme:dark){html:not(.dark) .toaster{background:#ffffff!important;color:#1f2937!important;border-color:#e5e7eb!important}}.dark .toaster{background:#374151!important;color:#e5e7eb!important;border-color:#4b5563!important}.toaster[data-type=success],html:not(.dark) .toaster[data-type=success]{background:#f0fdf4!important;border-color:#86efac!important;color:#166534!important}.dark .toaster[data-type=success]{background:#14532d!important;border-color:#22c55e!important;color:#86efac!important}.toaster[data-type=error],html:not(.dark) .toaster[data-type=error]{background:#fef2f2!important;border-color:#fca5a5!important;color:#991b1b!important}.dark .toaster[data-type=error]{background:#7f1d1d!important;border-color:#ef4444!important;color:#fca5a5!important}.toaster[data-type=loading],html:not(.dark) .toaster[data-type=loading]{background:#fffbeb!important;border-color:#fde047!important;color:#854d0e!important}.dark .toaster[data-type=loading]{background:#78350f!important;border-color:#eab308!important;color:#fde047!important}.toaster[data-type=blank],html:not(.dark) .toaster[data-type=blank]{background:#ffffff!important;border-color:#e5e7eb!important}.dark .toaster[data-type=blank]{background:#374151!important;border-color:#4b5563!important}.toaster:hover{transform:translateY(-2px)!important;box-shadow:0 6px 12px rgba(0,0,0,.15)!important;transition:all .2s ease!important}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastSlideOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-20px) scale(.95)}}.toaster{animation:toastSlideIn .3s ease-out!important}.toaster[data-state=exiting]{animation:toastSlideOut .3s ease-in!important}.toaster [data-icon]{color:inherit!important;font-size:1rem!important}.toaster [data-close-button]{color:#6b7280!important;background:#f3f4f6!important;border:1px solid #e5e7eb!important;border-radius:50%!important;width:24px!important;height:24px!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:all .2s ease!important}html:not(.dark) .toaster [data-close-button]{color:#6b7280!important;background:#f3f4f6!important;border-color:#e5e7eb!important}.dark .toaster [data-close-button]{color:#9ca3af!important;background:#4b5563!important;border-color:#6b7280!important}.toaster [data-close-button]:hover{transform:scale(1.1)!important}.toaster [data-close-button]:hover,html:not(.dark) .toaster [data-close-button]:hover{background:#e5e7eb!important;color:#374151!important}.dark .toaster [data-close-button]:hover{background:#6b7280!important;color:#e5e7eb!important}.toaster [data-progress]{border-radius:2px!important}.toaster [data-progress],html:not(.dark) .toaster [data-progress]{background:#e5e7eb!important}.dark .toaster [data-progress]{background:#4b5563!important}.toaster [data-progress]>div{background:#2563eb!important;border-radius:2px!important}.aiAvatar{flex-shrink:0;width:2.5rem;height:2.5rem;background:linear-gradient(to bottom right,#3b82f6,#9333ea);border-radius:50%;display:flex;align-items:center;justify-content:center;color:white;font-weight:600;font-size:.875rem}.flex1{flex:1 1}.messageRow{gap:.75rem}.messageRow,.messageRowUser{display:flex;align-items:flex-start}.messageRowUser{justify-content:flex-end;gap:0}.messageRowSherlock{display:flex;align-items:flex-start;justify-content:flex-start;gap:.75rem}.messageWrapper{flex:1 1;display:flex;flex-direction:row;align-items:flex-start}.messageWrapperUser{flex:1 1;display:flex;flex-direction:column;align-items:flex-end}.messageWrapperSherlock{flex:1 1;display:flex;flex-direction:row;align-items:flex-start}.messageContentWrapper{display:flex;flex-direction:column;flex:1 1}.messageWrapperUser .messageContentWrapper{align-items:flex-end;flex:0 0 auto;min-width:-moz-fit-content;min-width:fit-content;max-width:100%}.messageWrapperSherlock .messageContentWrapper{align-items:flex-start}.messageActions{gap:.25rem;margin-top:.5rem}.actionButton,.messageActions{display:flex;align-items:center}.actionButton{justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:1px solid rgba(0,0,0,.1);border-radius:4px;cursor:pointer;color:var(--foreground);opacity:.6;transition:all .2s ease;flex-shrink:0}.actionButton:hover{opacity:1;background:rgba(0,0,0,.05);border-color:rgba(0,0,0,.2)}.dark .actionButton{border-color:rgba(255,255,255,.2)}.dark .actionButton:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3)}.actionButton.active{opacity:1;background:rgba(0,0,0,.1);border-color:rgba(0,0,0,.3)}.dark .actionButton.active{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.4)}.actionIcon{width:16px;height:16px;transition:all .3s ease}.checkmarkIcon,.thumbsIcon{transition:opacity .3s ease,transform .3s ease}.checkmarkIcon{animation:checkmarkAppear .3s ease}@keyframes checkmarkAppear{0%{opacity:0;transform:scale(.5)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.messageText{margin:0;font-size:.875rem;white-space:pre-wrap;word-break:break-word}.userMessageText{white-space:normal!important;word-break:keep-all!important;overflow-wrap:normal!important;display:block;width:auto;min-width:0}.messageText h1,.messageText h2,.messageText h3,.messageText h4,.messageText h5,.messageText h6{margin:.75rem 0 .5rem;font-weight:600;line-height:1.4}.messageText h1{font-size:1.25rem}.messageText h2{font-size:1.125rem}.messageText h3{font-size:1rem}.messageText h4,.messageText h5,.messageText h6{font-size:.9375rem}.messageText p{margin:.25rem 0;line-height:1.6}.messageText p:first-child{margin-top:0}.messageText p:last-child{margin-bottom:0}.messageText ol,.messageText ul{margin:.5rem 0;padding-left:1.5rem}.messageText li{margin:.25rem 0;line-height:1.6}.messageText blockquote{margin:.5rem 0;padding-left:1rem;border-left:3px solid #d1d5db;color:#6b7280;font-style:italic}.dark .messageText blockquote{border-left-color:#4b5563;color:#9ca3af}.messageText code{background:rgba(0,0,0,.1);padding:.125rem .375rem;border-radius:.25rem;font-size:.8125rem;font-family:Courier New,Courier,monospace}.dark .messageText code{background:rgba(255,255,255,.1)}.messageText pre{background:rgba(0,0,0,.05);padding:.75rem;border-radius:.5rem;overflow-x:auto;margin:.5rem 0}.dark .messageText pre{background:rgba(255,255,255,.05)}.messageText pre code{background:transparent;padding:0}.messageText a{color:#2563eb;text-decoration:underline}.dark .messageText a{color:#60a5fa}.messageText a:hover{color:#1d4ed8}.dark .messageText a:hover{color:#93c5fd}.messageText strong{font-weight:600}.messageText em{font-style:italic}.messageText hr{border:none;border-top:1px solid #e5e7eb;margin:1rem 0}.dark .messageText hr{border-top-color:#4b5563}.messageText table{border-collapse:collapse;margin:.5rem 0;width:100%}.messageText td,.messageText th{border:1px solid #e5e7eb;padding:.5rem;text-align:left}.dark .messageText td,.dark .messageText th{border-color:#4b5563}.messageText th{background:rgba(0,0,0,.05);font-weight:600}.dark .messageText th{background:rgba(255,255,255,.05)}.thinkingText{margin:0;font-size:.875rem}.thinkingContainer{display:flex;align-items:center;gap:.25rem}.message.thinkingMessageBox{max-width:-moz-fit-content;max-width:fit-content;width:auto}.textareaMaxHeight{max-height:120px}.imagePreviewLabel{font-size:.75rem;color:#6b7280}.imagePreviewList{display:flex;gap:.5rem;flex:1 1;overflow-x:auto}.imagePreviewItem{position:relative;flex-shrink:0}.imagePreviewImage{width:4rem;height:4rem;object-fit:cover;border-radius:.5rem;border:2px solid #d1d5db}.imagePreviewRemoveButton{position:absolute;top:-.25rem;right:-.25rem;background:#ef4444;color:white;border-radius:50%;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;font-size:.75rem;border:none;cursor:pointer;padding:0;transition:background-color .2s}.imagePreviewRemoveButton:hover{background:#dc2626}@media (max-width:768px){.header{font-size:1.25rem;padding:calc(.875rem + env(safe-area-inset-top)) 1rem .875rem}.chatBox{padding:1rem .75rem;min-height:0;flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.message{max-width:90%}.inputContainer{padding:.75rem 1rem;position:-webkit-sticky;position:sticky;bottom:0}@media (display-mode:browser){.inputContainer{padding-bottom:calc(.75rem + env(safe-area-inset-bottom, 0px))}}@media (display-mode:standalone){.inputContainer{padding-bottom:.75rem}}.inputWrapper{gap:.5rem}.textareaWrapper{flex:1 1;min-width:0}.textarea{width:100%}.sendButton,.uploadButton{flex-shrink:0;min-width:2.75rem;height:2.75rem}.toaster{max-width:calc(100vw - 32px)!important;margin:.25rem 1rem!important;font-size:.8125rem!important;padding:.625rem .875rem!important}}