html{margin:0;padding:0}body{min-width:320px;margin:0}*{box-sizing:border-box;margin:0;padding:0}body{color:#171923;-webkit-text-size-adjust:100%;background:#f6f7fb;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea{font-family:inherit}.app{background:#f7f8fc;width:100vw;height:100dvh;display:flex;overflow:hidden}.sidebar{background:#fff;border-right:1px solid #e7e8ee;flex-direction:column;flex-shrink:0;width:300px;height:100%;padding:24px 20px;display:flex;overflow-y:auto}.brand{align-items:center;gap:12px;margin-bottom:24px;display:flex}.brand-icon{color:#fff;background:#15161a;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.brand h1{color:#171923;font-size:16px;font-weight:700}.brand span{color:#858895;margin-top:1px;font-size:11px;display:block}.section-label{color:#9699a5;letter-spacing:.08em;margin-bottom:10px;font-size:10px;font-weight:700}.upload-box{text-align:center;cursor:pointer;border:1.5px dashed #d5d7df;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:110px;padding:14px;transition:all .2s;display:flex}.upload-box:hover{background:#faf9ff;border-color:#8a7cf8}.upload-box input{display:none}.upload-icon{color:#6557e8;background:#f0efff;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;margin-bottom:6px;font-size:16px;display:flex}.upload-box strong{font-size:12px}.upload-box span{color:#8d909b;text-overflow:ellipsis;white-space:nowrap;max-width:210px;margin-top:3px;font-size:10px;overflow:hidden}.file-card{background:#fafbfc;border:1px solid #e7e8ed;border-radius:10px;align-items:center;gap:10px;margin-top:10px;padding:8px 10px;display:flex}.pdf-icon{color:#df4646;background:#fff0f0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:9px;font-weight:800;display:flex}.file-info{flex:1;min-width:0}.file-info strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.file-info span{color:#9295a0;margin-top:1px;font-size:9px;display:block}.remove-file{color:#999;cursor:pointer;background:0 0;border:none;padding:4px;font-size:16px}.process-button{color:#fff;cursor:pointer;background:#17181c;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;height:40px;margin-top:10px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.process-button:disabled{opacity:.45;cursor:not-allowed}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.upload-status{text-align:center;border-radius:8px;margin-top:8px;padding:7px 10px;font-size:11px}.upload-status.success{color:#23834c;background:#edf9f2}.upload-status.error{color:#d14343;background:#fff0f0}.sidebar-bottom{border-top:1px solid #eeeef2;align-items:center;gap:10px;margin-top:auto;padding-top:14px;display:flex}.status-dot{background:#35b66f;border-radius:50%;flex-shrink:0;width:7px;height:7px;box-shadow:0 0 0 3px #eaf8f0}.sidebar-bottom strong{font-size:11px;display:block}.sidebar-bottom span{color:#9497a2;margin-top:1px;font-size:9px;display:block}.main{flex-direction:column;flex:1;min-width:0;height:100%;display:flex;overflow:hidden}.topbar{background:#fff;border-bottom:1px solid #e7e8ee;flex-shrink:0;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex}.topbar h2{font-size:15px;font-weight:700}.topbar p{color:#858895;margin-top:1px;font-size:10px}.connection{color:#6f7280;border:1px solid #e5e6eb;border-radius:20px;align-items:center;gap:6px;padding:5px 10px;font-size:10px;display:flex}.connection span{background:#35b66f;border-radius:50%;width:6px;height:6px}.chat-container{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.messages{flex:1;padding:24px 20px;overflow-y:auto}.messages::-webkit-scrollbar{width:5px}.messages::-webkit-scrollbar-thumb{background:#d8d9df;border-radius:10px}.welcome{text-align:center;max-width:540px;margin:20px auto;padding:0 10px}.welcome-icon{color:#fff;background:#17181c;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;margin:0 auto 12px;font-size:20px;display:flex}.welcome h3{margin-bottom:6px;font-size:19px}.welcome p{color:#858895;max-width:440px;margin:auto;font-size:12px;line-height:1.4}.suggestions{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:16px;display:flex}.suggestions button{color:#626572;cursor:pointer;background:#fff;border:1px solid #dedfe5;border-radius:8px;padding:7px 10px;font-size:11px;transition:all .2s}.suggestions button:hover{color:#6557e8;background:#faf9ff;border-color:#aaa5ed}.message-row{gap:10px;max-width:760px;margin-bottom:20px;margin-left:auto;margin-right:auto;display:flex}.user-row{justify-content:flex-end}.message-wrapper{min-width:0;max-width:82%}.message-name{color:#858895;margin-bottom:4px;font-size:10px;font-weight:600}.user-row .message-name{text-align:right}.avatar{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:10px;font-weight:700;display:flex}.ai-avatar{color:#fff;background:#17181c}.user-avatar{color:#6557e8;background:#e8e7ff}.message-content{color:#333641;word-break:break-word;background:#fff;border:1px solid #e7e8ee;border-radius:12px;padding:11px 14px;font-size:13px;line-height:1.5}.user-row .message-content{color:#fff;background:#17181c;border:none;border-top-right-radius:4px}.assistant-row .message-content{border-top-left-radius:4px}.message-content p{margin-bottom:5px}.message-content p:last-child{margin-bottom:0}.message-content ul,.message-content ol{margin:5px 0;padding-left:18px}.message-content li{margin:2px 0}.thinking{gap:4px;width:fit-content;padding:11px 14px;display:flex}.thinking span{background:#8d909b;border-radius:50%;width:5px;height:5px;animation:1.2s infinite typing}.thinking span:nth-child(2){animation-delay:.15s}.thinking span:nth-child(3){animation-delay:.3s}@keyframes typing{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.sources{margin-top:6px}.sources-title{color:#858895;align-items:center;gap:4px;margin-bottom:4px;font-size:9px;display:flex}.source-list{flex-wrap:wrap;gap:5px;display:flex}.source-card{background:#f8f8fa;border:1px solid #e5e6eb;border-radius:7px;align-items:center;gap:6px;padding:5px 7px;display:flex}.source-number{color:#656875;background:#fff;border:1px solid #dddde3;border-radius:4px;justify-content:center;align-items:center;width:16px;height:16px;font-size:8px;font-weight:700;display:flex}.source-card strong{font-size:8px;display:block}.source-card span{color:#999ba5;font-size:8px;display:block}.input-area{background:linear-gradient(#f7f8fc00,#f7f8fc 20%);flex-shrink:0;padding:10px 16px 14px}.input-wrapper{background:#fff;border:1px solid #dfe0e7;border-radius:12px;align-items:flex-end;max-width:760px;margin:auto;padding:5px 5px 5px 12px;display:flex;box-shadow:0 4px 15px #1414280d}.input-wrapper:focus-within{border-color:#aaa5ed;box-shadow:0 4px 15px #6557e814}.input-wrapper textarea{resize:none;color:#22242c;background:0 0;border:none;outline:none;flex:1;min-height:34px;max-height:100px;padding:7px 0;font-size:13px}.send-button{color:#fff;cursor:pointer;background:#17181c;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;display:flex}.send-button:disabled{color:#9b9da7;cursor:not-allowed;background:#dedfe5}.input-hint{text-align:center;color:#9a9ca7;max-width:760px;margin:5px auto 0;font-size:8.5px}@media (width<=768px){.app{flex-direction:column;height:100dvh}.sidebar{border-bottom:1px solid #e7e8ee;border-right:none;flex-shrink:0;width:100%;height:auto;max-height:32vh;padding:12px 16px}.brand{margin-bottom:10px}.brand h1{font-size:14px}.sidebar-bottom{display:none}.upload-box{min-height:70px;padding:10px}.upload-icon{display:none}.upload-box strong{font-size:11px}.upload-box span{font-size:9px}.main{flex:1;height:auto;min-height:0}.topbar{height:48px;padding:0 14px}.topbar h2{font-size:13px}.topbar p{display:none}.connection{padding:3px 7px;font-size:9px}.messages{padding:14px 12px}.welcome{margin:10px auto}.welcome h3{font-size:16px}.welcome p{font-size:11px}.suggestions{gap:4px}.suggestions button{padding:5px 8px;font-size:10px}.message-wrapper{max-width:90%}.message-content{padding:9px 12px;font-size:12px}.input-area{padding:8px 12px 10px}.input-hint{display:none}}
