@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Noto+Kufi+Arabic:wght@400;500;600;700&display=swap";*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--color-bg-base: #fafafa;--color-surface: #ffffff;--color-surface-hover: #f9fafb;--color-border: #e5e7eb;--color-border-hover: #d1d5db;--color-primary: #111827;--color-primary-hover: #1f2937;--color-user-bubble: #111827;--color-user-text: #ffffff;--color-assistant-bubble: #f3f4f6;--color-assistant-text: #111827;--color-text: #111827;--color-text-muted: #6b7280;--color-success: #10b981;--color-error: #ef4444;--font-family: "Noto Kufi Arabic", "Inter", system-ui, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: .9375rem;--font-size-lg: 1.0625rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -1px rgba(0, 0, 0, .03);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .05), 0 4px 6px -2px rgba(0, 0, 0, .025);--shadow-float: 0 20px 25px -5px rgba(0, 0, 0, .05), 0 10px 10px -5px rgba(0, 0, 0, .02)}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);background-color:var(--color-bg-base);color:var(--color-text);direction:rtl;line-height:1.6;min-height:100vh}#root{display:flex;flex-direction:column;min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#9ca3af}.app{display:flex;flex-direction:column;height:100vh;max-height:100vh;overflow:hidden;position:relative;background-color:var(--color-bg-base)}.header{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:0 2rem;height:68px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;z-index:10}.header__logo{display:flex;align-items:center;gap:.875rem}.header__icon{width:36px;height:36px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.25rem;box-shadow:var(--shadow-sm)}.header__title{font-size:var(--font-size-base);font-weight:600;color:var(--color-text)}.header__subtitle{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:400;margin-top:2px}.header__actions{display:flex;align-items:center}.btn-refresh{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .875rem;background:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius);font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.btn-refresh:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text);border-color:var(--color-border-hover)}.btn-refresh:active:not(:disabled){transform:translateY(1px);box-shadow:none}.btn-refresh:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-refresh__spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--color-border);border-top-color:var(--color-text-muted);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.chat-window{flex:1;overflow-y:auto;padding:2.5rem 2rem;display:flex;flex-direction:column;gap:1.5rem;background:var(--color-bg-base);scroll-behavior:smooth;z-index:1;max-width:900px;margin:0 auto;width:100%}.welcome-message{text-align:center;padding:4rem 2rem;max-width:500px;margin:auto;animation:fadeIn .4s ease-out forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.welcome-message__icon{font-size:2.5rem;margin-bottom:1.25rem;display:inline-block}.welcome-message__title{font-size:var(--font-size-2xl);font-weight:600;color:var(--color-text);margin-bottom:.75rem;letter-spacing:-.01em}.welcome-message__text{font-size:var(--font-size-base);color:var(--color-text-muted);line-height:1.6}.chat-message{display:flex;flex-direction:column;max-width:85%;animation:messageSlideUp .3s ease-out}@keyframes messageSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-message--user{align-self:flex-start}.chat-message--assistant{align-self:flex-end}.chat-message__bubble{padding:.875rem 1.25rem;border-radius:var(--radius-lg);font-size:var(--font-size-base);line-height:1.6;word-wrap:break-word;overflow-wrap:break-word}.chat-message--user .chat-message__bubble{background:var(--color-user-bubble);color:var(--color-user-text);border-bottom-right-radius:4px}.chat-message--assistant .chat-message__bubble{background:var(--color-assistant-bubble);color:var(--color-assistant-text);border-bottom-left-radius:4px}.chat-message__bubble p{margin-bottom:.875rem}.chat-message__bubble p:last-child{margin-bottom:0}.chat-message__bubble ul,.chat-message__bubble ol{padding-right:1.5rem;margin-bottom:.875rem}.chat-message__bubble li{margin-bottom:.375rem}.chat-message__bubble strong{font-weight:600;color:inherit}.chat-message__bubble code{background:#0000000d;color:inherit;padding:.125rem .375rem;border-radius:4px;font-size:.85em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.chat-message--user .chat-message__bubble code{background:#fff3}.chat-message__bubble pre{background:#f8fafc;border:1px solid var(--color-border);color:#334155;padding:1rem;border-radius:var(--radius-sm);overflow-x:auto;margin:1rem 0;direction:ltr;text-align:left}.chat-message--user .chat-message__bubble pre{background:#0003;border-color:transparent;color:#fff}.chat-message__bubble pre code{background:transparent;padding:0;font-size:.85em}.chat-message__bubble h1,.chat-message__bubble h2,.chat-message__bubble h3{margin-top:1.25rem;margin-bottom:.75rem;font-weight:600;color:inherit}.chat-message__bubble h1{font-size:var(--font-size-xl)}.chat-message__bubble h2{font-size:var(--font-size-lg)}.chat-message__bubble h3{font-size:var(--font-size-base)}.chat-message__sources{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.75rem}.source-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:.6875rem;color:var(--color-text-muted);transition:all .2s ease;cursor:default}.source-chip:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover);color:var(--color-text)}.source-chip__icon{font-size:.75rem}.typing-indicator{display:flex;align-items:center;gap:.5rem;padding:1rem 1.25rem;background:var(--color-assistant-bubble);border-radius:var(--radius-lg);border-bottom-left-radius:4px;align-self:flex-end;animation:messageSlideUp .3s ease-out}.typing-indicator__dots{display:flex;gap:4px}.typing-indicator__dot{width:5px;height:5px;background:var(--color-text-muted);border-radius:50%;animation:pulseLight 1.4s infinite ease-in-out}.typing-indicator__dot:nth-child(2){animation-delay:.2s}.typing-indicator__dot:nth-child(3){animation-delay:.4s}@keyframes pulseLight{0%,to{transform:translateY(0);opacity:.4}50%{transform:translateY(-4px);opacity:1}}.chat-input{display:flex;justify-content:center;padding:1rem 2rem 2rem;background:var(--color-bg-base);flex-shrink:0;z-index:10}.chat-input__container{display:flex;align-items:flex-end;gap:.75rem;width:100%;max-width:900px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:1.5rem;padding:.5rem .5rem .5rem 1.25rem;box-shadow:var(--shadow-md);transition:box-shadow .2s ease,border-color .2s ease}.chat-input__container:focus-within{border-color:var(--color-border-hover);box-shadow:var(--shadow-lg)}.chat-input__textarea{flex:1;resize:none;border:none;padding:.625rem 0;font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5;color:var(--color-text);background:transparent;direction:rtl;min-height:24px;max-height:200px;overflow-y:auto}.chat-input__textarea::placeholder{color:var(--color-text-muted);opacity:.7}.chat-input__textarea:focus{outline:none}.btn-send{padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:var(--color-surface);border:none;border-radius:50%;cursor:pointer;transition:all .2s ease;flex-shrink:0;margin-bottom:2px}.btn-send svg{width:18px;height:18px;fill:currentColor;transform:rotate(180deg)}.btn-send:hover:not(:disabled){background:var(--color-primary-hover);transform:scale(1.05)}.btn-send:active:not(:disabled){transform:scale(.95)}.btn-send:disabled{opacity:.4;cursor:not-allowed;background:var(--color-text-muted)}.btn-send:disabled:hover{transform:none}.toast-container{position:fixed;top:84px;left:50%;transform:translate(-50%);z-index:100;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}.toast{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border-radius:var(--radius);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-float);animation:toastSlideIn .3s cubic-bezier(.16,1,.3,1),toastFadeOut .3s ease-in 2.7s forwards;pointer-events:auto;min-width:280px}.toast--success{border-right:3px solid var(--color-success)}.toast--error{border-right:3px solid var(--color-error)}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastFadeOut{to{opacity:0;transform:translateY(-8px)}}@media(max-width:768px){.header{padding:0 1rem;height:60px}.header__title{font-size:var(--font-size-sm)}.header__subtitle,.hide-on-mobile{display:none}.btn-refresh{padding:.4rem .5rem}.chat-window{padding:1rem .5rem;gap:1rem}.welcome-message{padding:2rem 1rem}.welcome-message__icon{font-size:2rem;margin-bottom:.75rem}.welcome-message__title{font-size:var(--font-size-xl)}.welcome-message__text{font-size:var(--font-size-sm)}.chat-input{padding:.5rem .5rem 1rem}.chat-input__container{border-radius:1.25rem;padding-right:1rem}.chat-message{max-width:95%}.chat-message__bubble{font-size:var(--font-size-sm);padding:.75rem 1rem}}
