.chat-container.svelte-23dtxz{border-radius:var(--radius-lg);flex-direction:column;height:calc(100vh - 180px);display:flex;overflow:hidden}.chat-messages.svelte-23dtxz{background:0 0;flex-direction:column;flex-grow:1;gap:24px;padding:32px;display:flex;overflow-y:auto}.message-row.svelte-23dtxz{gap:16px;max-width:80%;display:flex}.message-row.user.svelte-23dtxz{flex-direction:row-reverse;align-self:flex-end}.message-row.assistant.svelte-23dtxz{align-self:flex-start}.avatar-icon.svelte-23dtxz{background:var(--bg-secondary-btn);border:1px solid hsl(var(--border-color));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.25rem;display:flex}.message-bubble-wrapper.svelte-23dtxz{flex-direction:column;gap:8px;display:flex}.message-bubble.svelte-23dtxz{border-radius:var(--radius-lg);padding:16px 20px;font-size:.95rem;line-height:1.6}.message-row.user.svelte-23dtxz .message-bubble:where(.svelte-23dtxz){background:hsl(var(--primary));color:#fff;box-shadow:0 4px 12px hsla(var(--primary), .25);border-top-right-radius:0}.message-row.assistant.svelte-23dtxz .message-bubble:where(.svelte-23dtxz){background:var(--bg-hover-item);border:1px solid hsl(var(--border-color));color:hsl(var(--text-primary));border-top-left-radius:0}.markdown-content.svelte-23dtxz{line-height:1.6}.markdown-content.svelte-23dtxz p{margin-bottom:12px}.markdown-content.svelte-23dtxz p:last-child{margin-bottom:0}.markdown-content.svelte-23dtxz strong{color:hsl(var(--text-primary));font-weight:700}.markdown-content.svelte-23dtxz ul,.markdown-content.svelte-23dtxz ol{margin-bottom:12px;padding-left:20px}.markdown-content.svelte-23dtxz li{margin-bottom:6px}.markdown-content.svelte-23dtxz h1,.markdown-content.svelte-23dtxz h2,.markdown-content.svelte-23dtxz h3{color:hsl(var(--text-primary));margin-top:18px;margin-bottom:10px;font-weight:700}.markdown-content.svelte-23dtxz h1{font-size:1.25rem}.markdown-content.svelte-23dtxz h2{font-size:1.15rem}.markdown-content.svelte-23dtxz h3{font-size:1.05rem}.markdown-content.svelte-23dtxz table{border-collapse:collapse;background:var(--bg-hover-item);border-radius:var(--radius-sm);width:100%;margin:16px 0;font-size:.9rem;overflow:hidden}.markdown-content.svelte-23dtxz th,.markdown-content.svelte-23dtxz td{border:1px solid hsl(var(--border-color));text-align:left;padding:10px 14px}.markdown-content.svelte-23dtxz th{background:#ffffff0d;font-weight:700}.markdown-content.svelte-23dtxz tr:nth-child(2n){background:#ffffff05}.citations-panel.svelte-23dtxz{margin-top:4px}.citations-details.svelte-23dtxz{border:1px solid hsl(var(--border-color));border-radius:var(--radius-sm);background:#ffffff03;overflow:hidden}.citations-summary.svelte-23dtxz{color:hsl(var(--text-secondary));cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;padding:8px 12px;font-size:.8rem;font-weight:600}.citations-summary.svelte-23dtxz:hover{color:hsl(var(--text-primary));background:#ffffff05}.citations-content.svelte-23dtxz{border-top:1px solid hsl(var(--border-color));color:hsl(var(--text-secondary));background:var(--bg-hover-item);flex-direction:column;gap:10px;padding:12px;font-size:.8rem;display:flex}.items-list.svelte-23dtxz{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.item-tag.svelte-23dtxz{background:hsla(var(--primary), .15);border:1px solid hsl(var(--primary) / .4);color:hsl(var(--primary-hover));border-radius:var(--radius-sm);padding:2px 8px;font-weight:600}.chapters-list.svelte-23dtxz ul:where(.svelte-23dtxz){margin-top:6px;padding-left:16px}.chapters-list.svelte-23dtxz li:where(.svelte-23dtxz){margin-bottom:4px}.chap-college.svelte-23dtxz{color:hsl(var(--accent));font-weight:600}.typing-indicator.svelte-23dtxz{align-items:center;gap:5px;height:20px;display:flex}.typing-indicator.svelte-23dtxz span:where(.svelte-23dtxz){background:hsl(var(--text-muted));border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite both svelte-23dtxz-bounce;display:block}.typing-indicator.svelte-23dtxz span:where(.svelte-23dtxz):first-child{animation-delay:-.32s}.typing-indicator.svelte-23dtxz span:where(.svelte-23dtxz):nth-child(2){animation-delay:-.16s}@keyframes svelte-23dtxz-bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.chat-input-form.svelte-23dtxz{border-top:1px solid hsl(var(--border-color));gap:12px;padding:20px 32px;display:flex}.chat-input.svelte-23dtxz{background:#0003;flex-grow:1}.send-btn.svelte-23dtxz{padding:12px 24px}
