:root{font-family:'Microsoft YaHei',Arial,sans-serif;color:#20292d;background:#f6f8f9;letter-spacing:0}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit;letter-spacing:0}button{cursor:pointer;border:1px solid #cbd5d9;background:white;padding:10px 14px;border-radius:6px;color:#27383f}button:disabled{opacity:.5}.app{display:flex;height:100dvh}aside{width:250px;padding:18px;background:#eaf0f1;display:flex;flex-direction:column;gap:10px;border-right:1px solid #dce4e7}header{display:flex;align-items:center;justify-content:space-between;gap:12px}aside header{height:45px}nav{flex:1;overflow:auto}nav button{display:block;width:100%;text-align:left;margin:7px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}main{flex:1;min-width:0;display:flex;flex-direction:column}main>header{padding:15px 24px;border-bottom:1px solid #dce4e7;background:white}small{display:block;color:#64757c;margin-top:4px}select{max-width:210px;padding:8px;border:1px solid #cbd5d9;border-radius:5px}#messages{flex:1;overflow:auto;padding:24px max(20px,calc((100% - 840px)/2))}.empty{margin-top:15vh;text-align:center;color:#65777e}.empty h1{font-size:27px;color:#263c45}.message{margin:0 0 22px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75}.message strong{display:block;font-size:12px;color:#708189;margin-bottom:5px}.message.user{background:#e9f3ef;padding:14px;border-radius:6px;margin-left:30px}.message.assistant{padding:8px 0}footer{max-width:880px;width:100%;margin:auto;padding:12px 20px calc(16px + env(safe-area-inset-bottom));background:#f6f8f9}textarea{width:100%;padding:13px;border:1px solid #c0cdd3;border-radius:6px;resize:vertical;max-height:180px;background:white}textarea:focus{outline:2px solid #5dbea0}.actions{display:flex;justify-content:space-between;margin-top:8px;gap:10px}#send,.login button{background:#087b60;color:white;border-color:#087b60}#voice{touch-action:none;user-select:none}#voice.recording{background:#ba352e;color:white}#status{font-size:13px;color:#94611f;min-height:22px;padding-bottom:4px}.login{min-height:100dvh;display:grid;place-items:center;padding:20px}.login form{width:100%;max-width:380px;padding:28px;border:1px solid #d5dfe3;background:white;border-radius:8px}.login h1{font-size:24px}.login p{color:#667b83}.login label{display:block;margin:18px 0}.login input{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid #cbd5d9;border-radius:5px}.login button{width:100%}@media(max-width:700px){aside{width:105px;padding:10px 6px}aside header strong{font-size:13px}aside header button{padding:5px 8px}aside button{font-size:12px;padding:9px 6px}main>header{padding:12px}select{width:145px;font-size:12px}#messages{padding:18px 12px}footer{padding:8px 10px calc(12px + env(safe-area-inset-bottom))}.empty h1{font-size:21px}.message.user{margin-left:8px}}
@media(max-width:700px){.app main>header{flex-wrap:wrap}.app main>header>div{overflow-wrap:anywhere}.app select{max-width:100%}.app .actions button{padding:10px 8px;font-size:13px}}

.actions{flex-wrap:wrap}.attachment{display:block;overflow-wrap:anywhere;color:#087b60}.pending-file{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:13px}.pending-file span{flex:1;min-width:0;overflow-wrap:anywhere}.pending-file button{padding:5px 8px}#upload-status{font-size:13px;color:#64757c;margin-top:5px}#attachments{max-height:140px;overflow:auto}
