.ai-chat-section{margin-top:16px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;display:flex;flex-direction:column;overflow:hidden}.ai-chat-header{padding:12px;background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff;font-weight:600;display:flex;align-items:center;gap:8px}.ai-chat-header h3{margin:0;font-size:15px;font-weight:600}.ai-chat-header-left{flex-grow:1}.ai-usage-counter{font-size:12px;background:#fff3;padding:4px 10px;border-radius:100px;font-weight:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ai-usage-counter.locked{background:#ef4444;color:#fff;animation:ai-shake .5s cubic-bezier(.36,.07,.19,.97) both}.ai-usage-badge.pro{font-size:11px;background:#fbbf24;color:#92400e;padding:2px 8px;border-radius:100px;font-weight:700;text-transform:uppercase;letter-spacing:.025em;box-shadow:0 2px 4px #0000001a}.ai-chat-history{padding:12px;background:#f9fafb;min-height:120px;max-height:180px;overflow-y:auto;font-size:14px;line-height:1.5;color:#374151;display:flex;flex-direction:column}.ai-chat-empty{color:#6b7280;font-style:italic;font-size:14px;text-align:center;height:auto;display:flex;align-items:center;justify-content:center;flex-grow:1;padding:16px}.ai-chat-empty p{margin:0}.ai-chat-message{margin-bottom:16px;display:flex;flex-direction:column;gap:8px}.ai-chat-bubble{max-width:100%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.5;word-wrap:break-word}.user-bubble{align-self:flex-end;background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff;border-bottom-right-radius:4px}.ai-bubble{align-self:flex-start;background:#f3f4f6;color:#1f2937;border-bottom-left-radius:4px;border:1px solid #e5e7eb}.ai-bubble.error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.ai-bubble.summary-card{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-left:4px solid #3b82f6;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.summary-markdown{font-size:13.5px}.summary-markdown strong{color:#1e3a8a}.summary-markdown ul{padding-left:16px!important;margin-top:4px!important}.ai-typing-dots{display:flex;align-items:center;gap:4px;padding:4px 0}.ai-typing-dots span{width:8px;height:8px;background:#9ca3af;border-radius:50%;animation:typing-bounce 1.4s infinite ease-in-out both}.ai-typing-dots span:nth-child(1){animation-delay:-.32s}.ai-typing-dots span:nth-child(2){animation-delay:-.16s}@keyframes typing-bounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.ai-markdown-content{font-size:14px;line-height:1.6}.ai-markdown-content p{margin:0 0 8px}.ai-markdown-content p:last-child{margin-bottom:0}.ai-markdown-content ul,.ai-markdown-content ol{margin:8px 0;padding-left:20px}.ai-markdown-content code{background:#f3f4f6;padding:2px 6px;border-radius:4px;font-size:13px}.ai-markdown-content pre{background:#1f2937;padding:12px;border-radius:8px;overflow-x:auto;margin:8px 0}.ai-markdown-content pre code{background:transparent;padding:0;color:#e5e7eb}.ai-chat-input-area{padding:12px;border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:10px;background:#fff}.ai-chat-input-row{display:flex;gap:6px;flex-wrap:wrap}.ai-chat-input-row input{flex-grow:1;border:1px solid #e5e7eb;border-radius:8px;padding:10px 14px;font-size:14px;outline:none;background:#fff;color:#374151;transition:box-shadow .2s,border-color .2s}.ai-chat-input-row input:focus{border-color:#a855f7;box-shadow:0 0 0 2px #a855f71a}.ai-chat-input-row input::placeholder{color:#9ca3af}.btn-send{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff;border:none;border-radius:10px;cursor:pointer;transition:opacity .2s;flex-shrink:0}.btn-send:hover:not(:disabled){opacity:.9;filter:brightness(1.1)}.btn-send:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.5)}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-distill-chat{padding:8px 12px;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-weight:600;font-size:13px;cursor:pointer;transition:all .2s}.btn-distill-chat:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.btn-distill-chat:disabled{opacity:.5;cursor:not-allowed}.btn-smart-explain{padding:8px 10px;background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:opacity .2s,transform .1s;white-space:nowrap}.btn-smart-explain:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-smart-explain:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-improve-stem,.btn-stem-table,.btn-generate-stem{padding:8px 10px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:opacity .2s,transform .1s;white-space:nowrap}.btn-improve-stem:hover:not(:disabled),.btn-stem-table:hover:not(:disabled),.btn-generate-stem:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-improve-stem:disabled,.btn-stem-table:disabled,.btn-generate-stem:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-stem-table{background:linear-gradient(135deg,#f59e0b,#d97706)}.btn-generate-stem{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.ai-use-explanation{padding:8px 12px;background:#fff;border-top:1px solid #f3f4f6}.btn-use-explanation{background:none;border:1px solid #d1d5db;border-radius:6px;padding:6px 12px;font-size:13px;cursor:pointer;color:#4b5563;transition:all .2s;display:flex;align-items:center;gap:4px}.btn-use-explanation:hover{background:#f3f4f6;color:#111827;border-color:#9ca3af}.ai-chat-input-area.is-locked{background:#fdf2f2}.ai-quota-lock{display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px 0;text-align:center}.ai-quota-lock p{margin:0;font-size:14px;color:#b91c1c;font-weight:600}.btn-upgrade-pro{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:700;font-size:14px;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px #d9770633}.btn-upgrade-pro:hover{transform:translateY(-2px);box-shadow:0 6px 16px #d977064d}@keyframes ai-shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.ai-drift-warning{margin-top:10px;padding:10px 14px;background:#fffbeb;border-left:4px solid #f59e0b;border-top:1px solid #fde68a;border-right:1px solid #fde68a;border-bottom:1px solid #fde68a;border-radius:8px;color:#92400e;font-size:13px;font-weight:500;display:flex;align-items:center;gap:8px}
