/* ===== AI法律助手对话页面样式 ===== */

.ai-chat-page{display:flex;flex-direction:column;min-height:calc(100svh - 64px);height:calc(100dvh - 64px);max-width:900px;margin:0 auto;padding:0 12px}
.ai-chat-topbar{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:10px}
.ai-chat-tools-link{display:inline-block;padding:6px 14px;background:linear-gradient(135deg,#c8973a,#8b2500);color:#fff;border-radius:999px;font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap}

/* 顶部信息栏 */
.ai-chat-header{padding:16px 0 12px;border-bottom:1px solid #e8dcc8;flex-shrink:0}
.ai-chat-header h1{font-size:22px;color:#6b3a1f;letter-spacing:3px;margin-bottom:6px}
.ai-chat-header .subtitle{font-size:13px;color:#999;letter-spacing:1px}
.ai-chat-quota{display:inline-block;margin-top:8px;padding:4px 14px;background:#fdf9f4;border:1px solid #e8dcc8;border-radius:20px;font-size:12px;color:#8b6914}

/* 对话区域 */
.ai-chat-messages{flex:1;overflow-y:auto;padding:20px 0;display:flex;flex-direction:column;gap:16px}

/* 欢迎卡片 */
.ai-welcome{text-align:center;padding:40px 20px}
.ai-welcome-icon{font-size:48px;margin-bottom:16px}
.ai-welcome h2{font-size:20px;color:#6b3a1f;margin-bottom:8px;letter-spacing:2px}
.ai-welcome p{font-size:14px;color:#999;line-height:1.8;margin-bottom:20px}
.ai-welcome-tips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.ai-welcome-tip{padding:8px 16px;background:#fdf9f4;border:1px solid #e8dcc8;border-radius:20px;font-size:13px;color:#6b3a1f;cursor:pointer;transition:all .2s}
.ai-welcome-tip:hover{background:#f0e6d4;border-color:#c8973a}

/* 消息气泡 */
.ai-msg{display:flex;gap:10px;max-width:85%;animation:msgIn .3s ease}
.ai-msg-user{align-self:flex-end;flex-direction:row-reverse}
.ai-msg-assistant{align-self:flex-start}
.ai-msg-body{display:flex;flex-direction:column;gap:10px;min-width:0}

.ai-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:bold}
.ai-msg-user .ai-avatar{background:linear-gradient(135deg,#8b2500,#c8973a);color:#fff}
.ai-msg-assistant .ai-avatar{background:linear-gradient(135deg,#2a5c3a,#4a9c6a);color:#fff}

.ai-bubble{padding:12px 16px;border-radius:16px;font-size:14px;line-height:1.8;word-break:break-word}
.ai-msg-user .ai-bubble{background:linear-gradient(135deg,#8b2500,#a03000);color:#fff;border-bottom-right-radius:4px}
.ai-msg-assistant .ai-bubble{background:#fff;color:#333;border:1px solid #e8dcc8;border-bottom-left-radius:4px;box-shadow:0 1px 4px rgba(0,0,0,.04)}

/* AI回答中的法条引用链接 */
.ai-bubble a.law-ref{color:#8b2500;text-decoration:underline;font-weight:600}
.ai-bubble a.law-ref:hover{color:#c8973a}

/* 打字动画 */
.ai-typing{display:inline-flex;gap:4px;padding:4px 0}
.ai-typing span{width:6px;height:6px;background:#999;border-radius:50%;animation:typing 1.2s infinite}
.ai-typing span:nth-child(2){animation-delay:.2s}
.ai-typing span:nth-child(3){animation-delay:.4s}
@keyframes typing{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}
@keyframes msgIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* 匹配条文折叠区 */
.ai-sources,.ai-cases{max-width:min(100%,720px);padding-left:6px}
.ai-sources{border-top:1px dashed #e8dcc8;padding-top:8px}
.ai-sources-toggle{font-size:12px;color:#8b6914;cursor:pointer;display:flex;align-items:center;gap:4px}
.ai-sources-toggle:hover{color:#8b2500}
.ai-sources-list{display:none;margin-top:8px}
.ai-sources-list.open{display:block}
.ai-source-item{padding:6px 10px;margin-bottom:4px;background:#fdf9f4;border-radius:8px;font-size:12px;color:#666}
.ai-source-item a{color:#8b2500;font-weight:600}

/* 相关案例折叠区 */
.ai-cases{border-top:1px dashed #e8dcc8;padding-top:8px}
.ai-cases-toggle{font-size:12px;color:#2a5c3a;cursor:pointer;display:flex;align-items:center;gap:4px}
.ai-cases-toggle:hover{color:#1a3c2a}
.ai-cases-list{display:none;margin-top:8px}
.ai-cases-list.open{display:block}
.ai-case-item{padding:8px 10px;margin-bottom:6px;background:#f4faf6;border-radius:8px;font-size:12px;color:#666;border-left:3px solid #4a9c6a}
.ai-case-item a{color:#2a5c3a;font-weight:600;text-decoration:none}
.ai-case-item a:hover{text-decoration:underline}
.ai-case-cause{margin-top:3px;color:#999;font-size:11px}
.ai-case-digest{margin-top:4px;color:#555;font-size:12px;line-height:1.6}

/* 案例匹配度标签 */
.ai-case-match{display:inline-block;padding:1px 7px;border-radius:10px;font-size:11px;font-weight:700;margin-right:6px;vertical-align:middle}
.ai-case-match-high{background:#e6f7ee;color:#1a7a3a;border:1px solid #b5e6c8}
.ai-case-match-mid{background:#fff8e6;color:#b5850a;border:1px solid #f0d87a}
.ai-case-match-low{background:#fef2f0;color:#b04a2a;border:1px solid #f0c0b0}

/* 追问按钮 */
.ai-followups{display:flex;flex-wrap:wrap;gap:8px;max-width:min(100%,720px)}
.ai-followup-btn{padding:6px 14px;background:#fdf9f4;border:1px solid #e8dcc8;border-radius:16px;font-size:13px;color:#6b3a1f;cursor:pointer;transition:all .2s}
.ai-followup-btn:hover{background:#f0e6d4;border-color:#c8973a}

/* 底部输入区 */
.ai-chat-input-area{flex-shrink:0;padding:12px 0 16px;border-top:1px solid #e8dcc8;display:flex;gap:8px;align-items:flex-end}
.ai-chat-input-wrap{flex:1;position:relative}
.ai-chat-input{width:100%;padding:12px 16px;border:1px solid #e8dcc8;border-radius:20px;font-size:14px;outline:none;resize:none;font-family:inherit;line-height:1.5;max-height:120px;transition:border-color .2s}
.ai-chat-input:focus{border-color:#c8973a}
.ai-chat-send{padding:10px 24px;background:linear-gradient(135deg,#8b2500,#c8973a);color:#fff;border:none;border-radius:20px;font-size:14px;cursor:pointer;transition:all .2s;letter-spacing:1px;white-space:nowrap}
.ai-chat-send:hover{opacity:.9;transform:translateY(-1px)}
.ai-chat-send:disabled{opacity:.5;cursor:not-allowed;transform:none}
.ai-chat-newbtn{padding:10px 16px;background:#fff;color:#8b2500;border:1px solid #e8dcc8;border-radius:20px;font-size:13px;cursor:pointer;transition:all .2s;white-space:nowrap}
.ai-chat-newbtn:hover{background:#fdf9f4;border-color:#c8973a}

/* 移动端适配 */
@media(max-width:768px){
  .ai-chat-page{min-height:calc(100svh - 64px);height:calc(100dvh - 64px);padding:0 6px}
  .ai-chat-header{padding:14px 0 10px}
  .ai-chat-header h1{font-size:18px;letter-spacing:2px}
  .ai-chat-header .subtitle{display:block;line-height:1.6}
  .ai-chat-topbar{gap:8px}
  .ai-chat-quota{margin-top:0;padding:5px 12px}
  .ai-chat-tools-link{padding:5px 12px;font-size:12px}
  .ai-chat-messages{padding:14px 0 18px;gap:12px}
  .ai-msg{max-width:100%;gap:6px}
  .ai-msg-assistant{max-width:100%}
  .ai-bubble{padding:10px 12px;font-size:14px;line-height:1.75}
  .ai-avatar{width:28px;height:28px;font-size:13px}
  .ai-sources,.ai-cases{max-width:100%;padding-left:0}
  .ai-followups{max-width:100%;gap:6px}
  .ai-followup-btn{padding:7px 12px;font-size:12px}
  .ai-welcome{padding:28px 6px 18px}
  .ai-welcome h2{font-size:18px;letter-spacing:1px}
  .ai-welcome p{font-size:13px;line-height:1.75}
  .ai-welcome-tips{justify-content:flex-start}
  .ai-welcome-tip{padding:8px 12px;font-size:12px;max-width:100%}
  .ai-chat-input-area{padding:10px 0 calc(12px + env(safe-area-inset-bottom));gap:8px;align-items:stretch;flex-wrap:wrap}
  .ai-chat-newbtn{flex:0 0 auto;min-width:88px;padding:10px 14px}
  .ai-chat-input-wrap{min-width:0;width:100%;order:3}
  .ai-chat-input{padding:12px 14px;border-radius:18px;max-height:108px}
  .ai-chat-send{flex:1;min-height:42px;padding:10px 16px}
}

@media(max-width:480px){
  .ai-chat-page{padding:0 4px}
  .ai-chat-header .subtitle{font-size:12px}
  .ai-msg{max-width:100%;gap:5px}
  .ai-bubble{max-width:100%;padding:10px 10px;font-size:13.5px}
  .ai-avatar{width:26px;height:26px;font-size:12px}
  .ai-welcome-tips{flex-direction:row;align-items:stretch}
  .ai-welcome-tip{width:100%;text-align:center}
  .ai-chat-input-area{display:grid;grid-template-columns:auto 1fr;align-items:end}
  .ai-chat-input-wrap{grid-column:1 / -1}
  .ai-chat-send{width:100%}
}
