@import url("https://fonts.googleapis.com/css2?family=Manjari:wght@400;700&display=swap");*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:#1a1a1a;overflow:hidden}.chat-container,body{background-color:#fff;height:100vh}.chat-container{height:100dvh;display:flex;flex-direction:column;position:relative}.drag-drop-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:hsla(0,0%,100%,.95);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.drag-drop-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}.drag-drop-icon{width:60px;height:60px;border-radius:50%;background-color:#5f3dc4;display:flex;align-items:center;justify-content:center;animation:pulseScale 2s ease-in-out infinite}.drag-drop-icon svg{color:#fff;width:30px;height:30px}.drag-drop-text{font-size:18px;color:#1a1a1a;font-weight:400;margin:0;max-width:400px;line-height:1.5}.welcome-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;animation:fadeIn .5s ease-out}.welcome-content{max-width:700px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}.welcome-avatar{width:100px;height:100px;border-radius:50%;object-fit:cover;box-shadow:0 4px 12px rgba(0,0,0,.1);flex-shrink:0}.welcome-intro{font-family:Manjari,sans-serif;font-size:18px;font-weight:400;color:#1a1a1a;margin:0;line-height:1.4}.welcome-intro strong{font-weight:700}.welcome-question{font-family:Manjari,sans-serif;font-size:32px;font-weight:400;color:#1a1a1a;line-height:1.5;margin:16px 0 24px}.prompt-buttons{display:flex;flex-direction:column;gap:12px;align-items:center;width:100%;max-width:500px}.prompt-button{background-color:#ff7066;border:none;border-radius:24px;padding:14px 32px;font-size:16px;color:#fff;font-weight:500;cursor:pointer;transition:all .2s;width:100%;text-align:center;font-family:inherit;line-height:1.4;box-shadow:0 4px 12px hsla(4,100%,70%,.3)}.prompt-button:hover{background-color:#ff5c51;transform:translateY(-2px);box-shadow:0 6px 16px hsla(4,100%,70%,.4)}.prompt-button:active{transform:translateY(0);box-shadow:0 2px 8px hsla(4,100%,70%,.3)}.show-more-button{background-color:transparent;border:2px solid #ff7066;border-radius:24px;padding:12px 28px;font-size:15px;color:#ff7066;font-weight:500;cursor:pointer;transition:all .2s;width:100%;max-width:300px;text-align:center;font-family:inherit;margin-top:8px}.show-more-button:hover{background-color:#fff5f4;border-color:#ff5c51;color:#ff5c51}.chat-header{background-color:#fff;flex-shrink:0;position:-webkit-sticky;position:sticky;top:0;z-index:10;box-shadow:0 2px 10px rgba(0,0,0,.05);animation:slideDown .3s ease-out}.chat-header.small .header-content{max-width:800px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:12px;height:64px}.back-button{background:none;border:none;padding:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background-color .2s;color:#6b7280}.back-button:hover{background-color:#f3f4f6}.chat-header.small .julie-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;box-shadow:0 2px 8px rgba(0,0,0,.1)}.chat-header.small .header-title{margin:0;font-family:Manjari,sans-serif;font-size:16px;font-weight:400;color:#1a1a1a}.chat-messages{flex:1 1;overflow-y:auto;padding:24px 0;background-color:#fff;overflow-x:hidden;scrollbar-gutter:stable}.chat-messages.with-header{padding-top:0}.message{padding:12px 0;max-width:800px;margin:0 auto;width:100%;animation:messageSlide .3s ease-out}.message-wrapper{padding:0 24px}.message.user .message-wrapper{display:flex;justify-content:flex-end}.message.user .message-bubble{background-color:#ffebe8;padding:12px 16px;border-radius:18px;max-width:70%;margin-left:80px}.assistant-message-container{display:flex;align-items:flex-start;justify-content:flex-start;gap:8px;width:100%}.assistant-message-container .message-content{flex:1 1;max-width:100%;padding:0}.message-content,.message-content-wrapper{line-height:1.6;font-size:15px;color:#1a1a1a}.message-content-wrapper{flex:1 1}.message-content p,.message-content-wrapper p{margin:0 0 16px}.message-content p:last-child,.message-content-wrapper p:last-child{margin-bottom:0}.message-content strong,.message-content-wrapper strong{font-weight:600;color:#111827}.message-content em,.message-content-wrapper em{font-style:italic}.message-content-wrapper h1,.message-content-wrapper h2,.message-content-wrapper h3,.message-content-wrapper h4,.message-content-wrapper h5,.message-content-wrapper h6{font-weight:600;line-height:1.3;margin-top:24px;margin-bottom:12px;color:#111827}.message-content-wrapper h1:first-child,.message-content-wrapper h2:first-child,.message-content-wrapper h3:first-child,.message-content-wrapper h4:first-child,.message-content-wrapper h5:first-child,.message-content-wrapper h6:first-child{margin-top:0}.message-content-wrapper h1{font-size:1.875rem;border-bottom:2px solid #e5e7eb;padding-bottom:8px}.message-content-wrapper h2{font-size:1.5rem;border-bottom:1px solid #e5e7eb;padding-bottom:6px}.message-content-wrapper h3{font-size:1.25rem}.message-content-wrapper h4{font-size:1.125rem}.message-content-wrapper h5{font-size:1rem}.message-content-wrapper h6{font-size:.875rem;color:#6b7280}.message-content-wrapper ol,.message-content-wrapper ul{margin:0 0 16px;padding-left:24px}.message-content-wrapper ol li,.message-content-wrapper ul li{margin-bottom:6px;line-height:1.6}.message-content-wrapper ol li:last-child,.message-content-wrapper ul li:last-child{margin-bottom:0}.message-content-wrapper .inline-code{background-color:#f3f4f6;color:#e01e5a;padding:2px 6px;border-radius:4px;font-family:Courier New,Courier,monospace;font-size:.875em;font-weight:500;white-space:nowrap}.message-content-wrapper .code-block{margin:16px 0;padding:16px;background-color:#1e293b;color:#e2e8f0;border-radius:8px;overflow-x:auto;font-family:Courier New,Courier,monospace;font-size:.875rem;line-height:1.5;box-shadow:0 2px 8px rgba(0,0,0,.1)}.message-content-wrapper .code-block code{display:block;white-space:pre;color:inherit;background:none;padding:0}.message-link{color:#5f3dc4;text-decoration:none;font-weight:500;word-break:break-word;transition:all .2s;border-bottom:1px solid transparent}.message-link:hover{text-decoration:none;border-bottom-color:#5f3dc4;color:#4c2fa3}.message-link:active{color:#3d2482}.message-link:after{content:"↗";display:inline-block;margin-left:3px;font-size:.85em;transition:transform .2s}.message-link:hover:after{transform:translate(1px,-1px)}.message-copy-button{position:relative;background:transparent;border:none;padding:6px;cursor:pointer;color:#8e8e93;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0;align-self:flex-end;margin-top:auto;margin-bottom:2px}.message-copy-button:hover{background:#f0f0f0;color:#1d1d1f}.message-copy-toast{position:absolute;bottom:100%;right:0;background:#1d1d1f;color:#fff;padding:6px 12px;border-radius:6px;font-size:13px;white-space:nowrap;pointer-events:none;margin-bottom:8px;animation:fadeInToast .2s ease-out}.message-attachments{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid hsla(7,71%,63%,.2)}.message-attachment{display:flex;align-items:center;gap:6px;font-size:11px;color:#6b7280}.message-attachment svg{flex-shrink:0;color:#9ca3af}.message-attachment span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.loading-container{display:flex;align-items:center;gap:8px;padding:8px 0}.loading-text{color:#6b7280;font-size:15px;font-style:italic}.loading-indicator{display:flex;gap:4px}.loading-dot{width:8px;height:8px;border-radius:50%;background-color:#00a3ff;animation:loading 1.4s ease-in-out infinite both}.loading-dot:first-child{animation-delay:-.32s}.loading-dot:nth-child(2){animation-delay:-.16s}.error-message{background-color:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px;max-width:-moz-fit-content;max-width:fit-content}.error-text{color:#991b1b;font-size:15px;line-height:1.5}.rate-limit-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease-out;padding:20px}.rate-limit-modal{background-color:#fff;border-radius:16px;padding:32px;max-width:440px;width:100%;box-shadow:0 20px 40px rgba(0,0,0,.15);position:relative;animation:modalSlideIn .3s ease-out;text-align:center}.rate-limit-modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background-color .2s;color:#6b7280}.rate-limit-modal-close:hover{background-color:#f3f4f6;color:#1a1a1a}.rate-limit-modal-icon{width:60px;height:60px;border-radius:50%;background-color:#fee2e2;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.rate-limit-modal-icon svg{width:30px;height:30px;color:#ef4444}.rate-limit-modal-title{font-family:Manjari,sans-serif;font-size:24px;font-weight:700;color:#1a1a1a;text-align:center;margin:0 0 16px;line-height:1.3}.rate-limit-modal-message{font-size:15px;color:#4b5563;text-align:center;line-height:1.6;margin:0 0 28px}.rate-limit-modal-button{background-color:#ff7066;border:none;border-radius:24px;padding:14px 32px;font-size:16px;color:#fff;font-weight:500;cursor:pointer;transition:all .2s;width:auto;text-align:center;font-family:inherit;box-shadow:0 4px 12px hsla(4,100%,70%,.3);text-decoration:none;display:inline-block}.rate-limit-modal-button:hover{background-color:#ff5c51;transform:translateY(-2px);box-shadow:0 6px 16px hsla(4,100%,70%,.4)}.rate-limit-modal-button:active{transform:translateY(0);box-shadow:0 2px 8px hsla(4,100%,70%,.3)}.chat-input-wrapper{background-color:#fff;padding:16px 0 calc(10px + env(safe-area-inset-bottom, 20px))}.chat-input-wrapper.in-conversation{margin-bottom:10px}.chat-input-wrapper:before{content:"";display:block;height:1px;background-color:#e5e5e5;max-width:800px;margin:0 auto 16px}.chat-input-container{max-width:800px;margin:0 auto;padding:0 24px}.input-field-wrapper{position:relative;width:100%;display:flex;align-items:center}.input-field{width:100%;min-height:52px;max-height:200px;padding:14px 52px;border:1px solid #d0d7de;border-radius:8px;font-size:15px;font-family:inherit;resize:none;outline:none;transition:border-color .2s;background-color:#fff;color:#1a1a1a}.input-field:focus{border-color:#ffbdb4}.input-field::placeholder{color:#656d76}.input-button{position:absolute;background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s;z-index:1}.input-button:hover{background-color:#f3f4f6}.input-button:disabled{opacity:.5;cursor:not-allowed}.input-button svg{color:#6b7280}.attach-button{left:8px}.send-button{right:8px}.send-button svg{width:24px;height:24px;color:#e36c5c}.send-button:disabled svg{color:#9ca3af}.action-buttons{position:fixed;bottom:140px;right:24px;display:flex;flex-direction:column;gap:12px;align-items:flex-end}.action-button{width:40px;height:40px;border-radius:50%;background-color:#fff;border:1px solid #d0d7de;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px rgba(0,0,0,.1)}.action-button:hover{background-color:#f3f4f6;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.clear-button:hover{background-color:#fee2e2;border-color:#ef4444}.clear-button:hover svg{color:#ef4444}.file-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;max-width:800px;margin-left:auto;margin-right:auto;padding:0 24px}.file-item{display:flex;align-items:center;gap:8px;padding:8px 14px;background-color:#f0f2f5;border:1px solid #e5e7eb;border-radius:20px;font-size:14px;color:#374151;max-width:300px;transition:all .2s}.file-item:hover{background-color:#e5e7eb;border-color:#d1d5db}.file-item svg{flex-shrink:0;color:#6b7280}.file-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-remove{background:none;border:none;color:#9ca3af;cursor:pointer;padding:0 0 0 4px;margin-left:auto;font-size:18px;line-height:1;font-weight:600;transition:color .2s}.file-remove:hover{color:#ef4444}.file-toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background-color:#1a1a1a;color:#fff;padding:12px 24px;border-radius:8px;font-size:14px;white-space:nowrap;animation:fadeInOut 3s ease-in-out;box-shadow:0 4px 12px rgba(0,0,0,.3);z-index:100}.file-toast.error{background-color:#dc2626}.ai-disclaimer{text-align:center;color:#6b7280;font-size:13px;margin-top:24px;opacity:.8;animation:fadeIn .5s ease-out .3s both;padding:0 24px}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes messageSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseScale{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes fadeInToast{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes loading{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,10px)}20%,80%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-10px)}}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.chat-messages::-webkit-scrollbar{width:8px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background-color:#d1d5db;border-radius:4px}.chat-messages::-webkit-scrollbar-thumb:hover{background-color:#9ca3af}@media (max-width:768px){.chat-header.small .header-content{padding:12px 16px;height:56px}.chat-header.small .julie-avatar{width:36px;height:36px}.chat-header.small .header-title{font-size:15px}.welcome-screen{min-height:calc(100vh - 100px);min-height:calc(100dvh - 100px);padding:16px}.welcome-avatar{width:80px;height:80px}.welcome-intro{font-size:16px}.welcome-question{font-size:24px}.prompt-buttons{gap:8px}.prompt-button{font-size:14px;padding:12px 24px}.show-more-button{font-size:14px;padding:10px 20px}.chat-messages{padding:16px 0}.message{padding:8px 0}.message-wrapper{padding:0 16px}.message.user .message-bubble{margin-left:40px}.message-content-wrapper h1{font-size:1.5rem}.message-content-wrapper h2{font-size:1.25rem}.message-content-wrapper h3{font-size:1.125rem}.message-content-wrapper h4{font-size:1rem}.message-content-wrapper h5{font-size:.9375rem}.message-content-wrapper h6{font-size:.875rem}.chat-input-wrapper{padding:12px 0 calc(12px + env(safe-area-inset-bottom, 0px))}.chat-input-container{padding:0 16px}.input-field{font-size:16px}.action-buttons{bottom:calc(140px + env(safe-area-inset-bottom, 0px));right:16px}.file-list{padding:0 16px}.ai-disclaimer{font-size:12px;padding:0 16px}.drag-drop-icon{width:50px;height:50px}.drag-drop-icon svg{width:24px;height:24px}.drag-drop-text{font-size:16px;padding:0 16px}.rate-limit-modal{padding:24px}.rate-limit-modal-title{font-size:20px}.rate-limit-modal-message{font-size:14px}.rate-limit-modal-button{font-size:15px;padding:12px 24px}}@media (max-height:800px){.welcome-screen{min-height:calc(100vh - 80px);padding:16px 24px}.welcome-content{gap:12px}.welcome-avatar{width:90px;height:90px}.welcome-intro{font-size:16px}.welcome-question{font-size:26px;margin:12px 0 20px}.prompt-buttons{gap:8px}.prompt-button{padding:10px 20px;font-size:14px}}@media (max-height:600px){.welcome-screen{min-height:calc(100vh - 60px);padding:8px 24px}.welcome-avatar{width:70px;height:70px}.welcome-intro{font-size:15px}.welcome-question{font-size:20px;margin:8px 0 16px}.prompt-buttons{gap:6px}.prompt-button{padding:8px 16px;font-size:13px}.ai-disclaimer{margin-top:8px;font-size:11px}}.auth-layout{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f9fafb;padding:20px}.auth-container{background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.3);width:100%;max-width:440px;padding:48px 40px}.auth-logo{text-align:center;margin-bottom:32px}.auth-logo h1{font-size:32px;font-weight:700;color:#1a1a1a;margin:0;font-family:Manjari,sans-serif}.auth-logo p{font-size:14px;color:#6b7280;margin:8px 0 0}.auth-form{gap:20px}.auth-form,.auth-form-group{display:flex;flex-direction:column}.auth-form-group{gap:8px}.auth-form-label{font-size:14px;font-weight:500;color:#374151}.auth-form-input{padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:15px;transition:all .2s;font-family:inherit}.auth-form-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.auth-form-input:disabled{background-color:#f3f4f6;cursor:not-allowed}.auth-submit-button{background-color:#ff7066;color:#fff;padding:14px 24px;border:none;border-radius:24px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:8px}.auth-submit-button:hover:not(:disabled){background-color:#e55a50;transform:translateY(-1px);box-shadow:0 4px 12px hsla(4,100%,70%,.4)}.auth-submit-button:disabled{background-color:#9ca3af;cursor:not-allowed;transform:none}.auth-link{text-align:center;margin-top:24px;font-size:14px;color:#6b7280}.auth-link a{color:#6b7280;text-decoration:none;font-weight:400}.auth-link a strong{font-weight:500}.auth-link a:hover{text-decoration:underline}.auth-link.auth-link-small{margin-top:12px}.auth-error{background-color:#fee2e2;border:1px solid #fecaca;color:#991b1b;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px}.auth-loading{display:inline-block;width:16px;height:16px;border:2px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;margin-right:8px}@media (max-width:480px){.auth-container{padding:32px 24px}.auth-logo h1{font-size:28px}}.chat-back-button{display:flex;align-items:center;gap:8px;cursor:pointer}.chat-back-button span,.chat-back-button svg{color:#737373;transition:color .2s ease}.chat-back-button:hover span,.chat-back-button:hover svg{color:#ff7066}.chat-back-button span{font-size:16px;font-weight:500}