.alan-mode-switch { display:flex; gap:8px; margin:18px 0; flex-wrap:wrap; }
.alan-mode-switch button { padding:11px 22px; border:1px solid #a5b5ac; border-radius:18px 18px 6px 6px; background:#f4efdf; color:#426170; font:600 15px/1.4 system-ui,sans-serif; cursor:pointer; }
.alan-mode-switch button[aria-pressed="true"] { background:#426978; color:#fff8e7; box-shadow:0 3px 0 #cbbf9d; }
#alan-chat-panel { color:#344e58; font-family:system-ui,"Microsoft YaHei",sans-serif; }
.alan-welcome { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:8px 22px 20px; }
.alan-welcome h2 { font-family:Georgia,"Songti SC",serif; font-size:clamp(23px,3vw,33px); margin:12px 0; }
.alan-welcome p { font-size:13px; line-height:1.9; color:#6c7268; }
.alan-welcome img { width:145px; height:155px; object-fit:contain; filter:drop-shadow(0 5px 4px #80674524); animation:alan-arrive .5s ease-out both; }
.alan-layout { display:grid; grid-template-columns:180px minmax(0,1fr); border:1px solid #c6c6ac; border-radius:16px; overflow:hidden; box-shadow:0 8px 24px #79654710; }
.alan-sessions { background:#e9e8d5; padding:16px 12px; border-right:1px solid #cacbb8; }
.alan-sessions .secondary-button { width:100%; margin:0 0 16px; }
#alan-conversations { display:flex; flex-direction:column; gap:8px; max-height:540px; overflow:auto; }
#alan-conversations button { border:1px solid transparent; border-radius:9px; background:transparent; padding:12px 10px; text-align:left; color:#5a6b67; font:inherit; font-size:12px; cursor:pointer; overflow-wrap:anywhere; }
#alan-conversations button[aria-current="true"] { background:#fffaf0; border-color:#c2c7b0; color:#305b70; box-shadow:0 2px 4px #72643910; }
.alan-dialogue { min-width:0; background:#faf7eb; }
#alan-messages { height:380px; overflow-y:auto; padding:24px; scroll-behavior:smooth; }
.alan-empty { color:#889084; text-align:center; padding:100px 10px; font-size:14px; line-height:2; }
.alan-bubble { margin:0 25px 20px 0; padding:14px 17px; border:1px solid #d8d9c6; border-radius:4px 16px 16px; background:#fffdf7; overflow-wrap:anywhere; }
.alan-bubble.user { margin-left:25px; margin-right:0; background:#e7eee6; border-color:#c7d4c6; border-radius:16px 4px 16px 16px; }
.alan-bubble strong { color:#8a7954; font-size:11px; letter-spacing:.08em; }
.alan-bubble p { margin:8px 0 0; white-space:pre-wrap; font-size:14px; line-height:1.9; }
#alan-form { padding:18px; border-top:1px dashed #c8cab8; background:#f0eddc; }
#alan-form label { font-size:12px; color:#708276; }
#alan-prompt { display:block; width:100%; box-sizing:border-box; margin:8px 0; padding:13px; resize:vertical; border:1px solid #c7c9b4; border-radius:9px; background:#fffdf6; color:#344e58; font:14px/1.8 system-ui,sans-serif; }
.alan-compose-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; }
#alan-status { font-size:12px; line-height:1.7; color:#677965; overflow-wrap:anywhere; }
#alan-send { width:auto; min-width:116px; margin:0; flex-shrink:0; }
#alan-chat-panel :focus-visible,.alan-mode-switch :focus-visible { outline:3px solid #a28543; outline-offset:3px; }
#alan-chat-panel button:disabled { opacity:.55; cursor:wait; }
@keyframes alan-arrive { from { opacity:0; transform:translateY(8px) rotate(-3deg); } to { opacity:1; transform:none; } }
@media(max-width:680px) { .alan-layout { grid-template-columns:minmax(0,1fr); } .alan-sessions { border-right:0; border-bottom:1px solid #cacbb8; padding:10px; } .alan-sessions .secondary-button { width:auto; margin:0 0 8px; } #alan-conversations { flex-direction:row; max-height:75px; } #alan-conversations button { min-width:130px; } .alan-welcome { padding:6px 0 12px; gap:6px; } .alan-welcome img { width:90px; height:118px; } #alan-messages { height:350px; padding:14px; } .alan-compose-actions { align-items:flex-start; } }
@media(prefers-reduced-motion:reduce) { .alan-welcome img { animation:none; } #alan-messages { scroll-behavior:auto; } }
