*{box-sizing:border-box}:root{--bg:#fff;--bg-secondary:#fafafa;--bg-tertiary:#f4f4f4;--text:#1f1f1f;--text-secondary:#555;--text-muted:#888;--border:#e5e5e5;--border-strong:#80808066;--bubble-bg:#80808026;--highlight-bg:#8080802e;--hover-bg:#8080801a;--hover-bg-light:#80808014;--button-bg:#1f1f1f;--button-text:#fff;--button-disabled:#ccc;--danger:#d32f2f}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1a1a1a;--bg-secondary:#242424;--bg-tertiary:#2a2a2a;--text:#f0f0f0;--text-secondary:#b0b0b0;--text-muted:#888;--border:#333;--border-strong:#ffffff40;--bubble-bg:#ffffff1f;--highlight-bg:#ffffff26;--hover-bg:#ffffff14;--hover-bg-light:#ffffff0d;--button-bg:#f0f0f0;--button-text:#1a1a1a;--button-disabled:#555;--danger:#ff6b6b}html,body,#root{height:100%;margin:0}body{color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2;animation:.25s ease-out forwards theme-circle-in}:root.theme-collapsing::view-transition-old(root){z-index:2;animation:.25s ease-out forwards theme-circle-out}:root.theme-collapsing::view-transition-new(root){z-index:1;animation:none}@keyframes theme-circle-in{0%{clip-path:circle(0 at var(--vt-x,50%) var(--vt-y,50%))}to{clip-path:circle(var(--vt-r,150vmax) at var(--vt-x,50%) var(--vt-y,50%))}}@keyframes theme-circle-out{0%{clip-path:circle(var(--vt-r,150vmax) at var(--vt-x,50%) var(--vt-y,50%))}to{clip-path:circle(0 at var(--vt-x,50%) var(--vt-y,50%))}}.theme-reveal-overlay{z-index:999;pointer-events:none;--reveal-x:50%;--reveal-y:50%;--reveal-r:0px;will-change:mask;position:fixed;inset:0}.theme-reveal-overlay.reveal-expand{-webkit-mask:radial-gradient(circle at var(--reveal-x) var(--reveal-y), transparent 0, transparent var(--reveal-r), #000 calc(var(--reveal-r) + 1px));-webkit-mask:radial-gradient(circle at var(--reveal-x) var(--reveal-y), transparent 0, transparent var(--reveal-r), #000 calc(var(--reveal-r) + 1px));mask:radial-gradient(circle at var(--reveal-x) var(--reveal-y), transparent 0, transparent var(--reveal-r), #000 calc(var(--reveal-r) + 1px))}.theme-reveal-overlay.reveal-collapse{-webkit-mask:radial-gradient(circle at var(--reveal-x) var(--reveal-y), #000 0, #000 var(--reveal-r), transparent calc(var(--reveal-r) + 1px));-webkit-mask:radial-gradient(circle at var(--reveal-x) var(--reveal-y), #000 0, #000 var(--reveal-r), transparent calc(var(--reveal-r) + 1px));mask:radial-gradient(circle at var(--reveal-x) var(--reveal-y), #000 0, #000 var(--reveal-r), transparent calc(var(--reveal-r) + 1px))}@media (prefers-reduced-motion:reduce){::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}}.app-loading{height:100%;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.app{opacity:0;height:100%;display:flex;overflow:hidden}.app.mounted{opacity:1;transition:opacity .15s}.sidebar{border-right:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;width:260px;margin-left:0;transition:margin-left .25s;overflow:hidden}.sidebar.collapsed{margin-left:-272px}.sidebar-inner{flex-direction:column;gap:12px;width:260px;min-width:260px;height:100%;padding:12px;display:flex}.sidebar-header{align-items:center;gap:8px;display:flex}.new-session-btn{color:var(--text);border:1px solid var(--border-strong);cursor:pointer;background:0 0;border-radius:6px;flex:1 0;justify-content:center;align-items:center;padding:10px 12px;font-size:14px;transition:background .15s;display:flex}.new-session-btn:hover{background:var(--hover-bg)}.sidebar-close{width:36px;height:40px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-close:hover{background:var(--hover-bg);color:var(--text)}.session-list{scrollbar-gutter:stable;flex-direction:column;flex:1;gap:4px;min-height:0;display:flex;overflow-y:auto}.session-item{border-radius:6px;flex-shrink:0;align-items:center;min-height:40px;display:flex;overflow:hidden}.session-item.current{background:var(--highlight-bg)}.session-title{text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;color:var(--text);background:0 0;border:none;flex:1;padding:9px 10px;font-size:14px;overflow:hidden}.session-title:hover{background:var(--hover-bg-light)}.session-delete{width:32px;height:36px;color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;justify-content:center;align-items:center;transition:opacity .15s;display:flex}.session-item:hover .session-delete{opacity:1}.session-delete:hover{color:var(--danger)}.main{background:var(--bg);flex-direction:column;flex:1;min-width:0;height:100%;display:flex;position:relative}.sidebar-open-btn{z-index:40;border:1px solid var(--border-strong);background:var(--bg);width:36px;height:36px;color:var(--text-muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex;position:fixed;top:12px;left:12px;box-shadow:0 2px 6px #0000000f}.sidebar-open-btn:hover{background:var(--hover-bg);color:var(--text)}.theme-toggle{z-index:50;border:1px solid var(--border-strong);background:var(--bg);width:40px;height:40px;color:var(--text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,color .2s,border-color .2s;display:flex;position:fixed;top:50%;right:24px;transform:translateY(-50%);box-shadow:0 2px 8px #00000014}.theme-toggle:hover{background:var(--hover-bg);color:var(--text)}.chat-layout{flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.messages-area{scrollbar-gutter:stable;flex-direction:column;flex:1;min-height:0;padding-top:60px;display:flex;overflow-y:auto}.session-list,.messages-area{scrollbar-width:thin;scrollbar-color:transparent transparent}.session-list:hover,.messages-area:hover{scrollbar-color:var(--border-strong) transparent}.session-list::-webkit-scrollbar{width:6px}.messages-area::-webkit-scrollbar{width:6px}.session-list::-webkit-scrollbar-track{background:0 0}.messages-area::-webkit-scrollbar-track{background:0 0}.session-list::-webkit-scrollbar-thumb{background:0 0;border-radius:3px}.messages-area::-webkit-scrollbar-thumb{background:0 0;border-radius:3px}.session-list:hover::-webkit-scrollbar-thumb{background:var(--border-strong)}.messages-area:hover::-webkit-scrollbar-thumb{background:var(--border-strong)}.message-list{flex-direction:column;flex:1;gap:20px;width:100%;min-width:0;max-width:800px;margin:0 auto;display:flex}.message-list.empty{justify-content:center;align-items:center}.chat-layout.empty .message-list.empty{justify-content:flex-end;padding-bottom:calc(50vh - 20px)}.input-area{background:var(--bg);flex-shrink:0;height:auto;min-height:100px;padding:0;overflow:visible}.chat-layout.animated .input-area{transition:transform .45s cubic-bezier(.25,.46,.45,.94)}.chat-layout.animated .messages-area{transition:padding-top .45s cubic-bezier(.25,.46,.45,.94)}.chat-layout.empty .input-area{transform:translateY(calc(min(50px - 50vh,0px)))}.welcome{text-align:center}.welcome h1{color:var(--text);margin:0;font-size:2.5rem;font-weight:700}.welcome-sub{color:var(--text-muted);font-size:1rem}.chat-layout.empty .messages-area{min-height:0;padding-top:0;overflow:hidden}.message{content-visibility:auto;contain-intrinsic-size:auto 400px;width:100%;display:flex}.message:nth-last-child(2){content-visibility:visible}.message-user{justify-content:flex-end}.message-user-bubble{background:var(--bubble-bg);width:fit-content;min-width:40px;max-width:100%;color:var(--text);text-align:left;overflow-wrap:break-word;border-radius:4px;padding:8px 14px}.message-user-content{flex-direction:column;align-items:flex-end;gap:8px;max-width:80%;display:flex}.message-user-attachments{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.image-preview-overlay{z-index:1000;cursor:zoom-out;opacity:1;will-change:opacity;background:#000000d9;transition:opacity .15s;position:fixed;inset:0}.image-preview-floating{z-index:1001;cursor:zoom-out;transform-origin:0 0;will-change:transform;object-fit:contain;border-radius:8px;position:fixed;box-shadow:0 8px 32px #0006}.message-assistant{justify-content:flex-start}.message-assistant-content{width:100%;max-width:100%;color:var(--text)}.thinking-line{color:var(--text-muted);align-items:center;gap:8px;font-size:.95em;display:inline-flex}.answer-loading{align-items:center;padding:8px 0;display:flex}.spinner{border:2px solid #8080804d;border-top-color:var(--text-muted);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}[data-theme=dark] .spinner{border:2px solid #fff3;border-top-color:var(--text-muted)}@keyframes spin{to{transform:rotate(360deg)}}.markdown-body{text-align:left;contain:content;white-space:normal;font-size:16px;line-height:1.7}.markdown-body h2{color:var(--text);margin:.75em 0 .3em;font-size:22px;font-weight:700;line-height:1.4}.markdown-body h2:not(:first-of-type){border-top:1px solid var(--border);margin-top:1.4em;padding-top:.9em}.markdown-body h3{color:var(--text);margin:.65em 0 .22em;font-size:18px;font-weight:700;line-height:1.4}.markdown-body h2:first-child,.markdown-body h3:first-child,.markdown-body h2+p{margin-top:0}.markdown-body p{margin:0 0 .6em}.markdown-body p:last-child{margin-bottom:0}.markdown-body ul,.markdown-body ol{margin:.5em 0;padding-left:1.5em}.markdown-body li{margin:.25em 0}.markdown-body code{background:var(--bg-tertiary);border-radius:4px;padding:2px 5px;font-family:ui-monospace,Consolas,monospace;font-size:.9em}.markdown-body pre{background:var(--bg-tertiary);border-radius:8px;padding:12px;overflow-x:auto}.markdown-body pre code{background:0 0;padding:0}.reasoning-block{width:100%;margin-bottom:8px}.reasoning-toggle,.references-toggle{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:4px 8px;font-size:13px;display:inline-flex}.reasoning-toggle:hover,.references-toggle:hover{background:var(--hover-bg)}.reasoning-toggle svg,.references-toggle svg{transition:transform .15s}.reasoning-toggle svg.open,.references-toggle svg.open{transform:rotate(180deg)}.reasoning-body{background:var(--bg-secondary);width:100%;color:var(--text-secondary);contain:content;white-space:pre-wrap;border-radius:6px;margin-top:4px;padding:10px 12px;font-size:14px;line-height:1.6}.references{margin-top:10px}.references-list{background:var(--bg-secondary);border-radius:6px;flex-direction:column;gap:12px;margin-top:8px;padding:12px;display:flex}.reference-item{font-size:14px;line-height:1.6}.reference-header{color:var(--text);margin-bottom:4px;font-weight:600}.reference-text{color:var(--text-secondary)}.chat-input-bar{background:0 0;justify-content:center;align-items:center;min-height:170px;padding:10px 0;display:flex}.chat-input-wrap{border:1px solid var(--border-strong);background:var(--bg);border-radius:8px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;width:100%;min-width:0;max-width:830px;margin:0 auto;padding:8px 12px;display:flex}.chat-input-wrap:focus-within{border-color:var(--text-muted)}.chat-input-wrap textarea{resize:none;min-height:53px;max-height:98px;color:var(--text);background:0 0;border:none;outline:none;flex:none;padding:4px 0;font-family:inherit;font-size:15px;line-height:1.5;transition:height .2s}.chat-input-actions{flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;width:100%;padding-top:12px;display:flex}.chat-input-actions-right{align-items:center;gap:8px;display:flex}.deep-think-btn{border:1px solid var(--border-strong);height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:16px;flex-shrink:0;align-items:center;gap:6px;padding:0 12px;font-size:13px;line-height:1;transition:color .2s,background .2s,border-color .2s;display:inline-flex}.deep-think-btn:hover{background:var(--hover-bg);color:var(--text)}.deep-think-btn.active{background:var(--button-bg);border-color:var(--button-bg);color:var(--button-text)}.chat-input-wrap textarea::placeholder{color:var(--text-muted)}.chat-input-wrap textarea{scrollbar-width:thin;scrollbar-color:transparent transparent}.chat-input-wrap textarea:hover{scrollbar-color:var(--border-strong) transparent}.chat-input-wrap textarea::-webkit-scrollbar{width:6px}.chat-input-wrap textarea::-webkit-scrollbar-track{background:0 0}.chat-input-wrap textarea::-webkit-scrollbar-thumb{background:0 0;border-radius:3px}.chat-input-wrap textarea:hover::-webkit-scrollbar-thumb{background:var(--border-strong)}.attach-btn{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.attach-btn:hover{background:var(--hover-bg);color:var(--text)}.attach-btn:disabled{color:var(--button-disabled);cursor:not-allowed}.file-chips{flex-wrap:wrap;gap:8px;width:100%;margin:0 0 8px;display:flex}.file-chip{background:var(--bg-secondary);color:var(--text-secondary);border-radius:6px;align-items:center;gap:6px;padding:4px 28px 4px 8px;font-size:13px;display:flex;position:relative;overflow:hidden}.file-chip.image-chip{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;width:64px;height:64px;padding:0}.file-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.file-thumb{object-fit:cover;border-radius:8px;width:100%;height:100%}.file-remove-btn{color:#fff;cursor:pointer;z-index:1;background:#00000073;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;display:flex;position:absolute;top:2px;right:2px}.file-remove-btn:hover{color:#fff;background:#000000a6}.file-attachments{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.file-attachment-box{border:1px solid var(--border);background:var(--bg-secondary);max-width:100%;color:var(--text-secondary);word-break:break-all;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:inline-flex}.file-attachment-box.image{border-color:var(--accent);background:var(--accent-bg,var(--bg-tertiary))}.file-attachment-box.file{border-color:var(--border-strong);background:var(--bg-tertiary)}.file-attachment-name{word-break:break-all;overflow-wrap:anywhere;line-height:1.4}.image-attachment{background:var(--bg-tertiary);border-radius:8px;min-width:160px;max-width:100%;min-height:160px;max-height:220px;line-height:0;display:inline-flex;position:relative;overflow:hidden}.image-attachment img{object-fit:cover;border-radius:8px;width:100%;max-width:100%;height:100%;max-height:220px;transition:opacity .2s;display:block}.send-btn{background:var(--button-bg);width:32px;height:32px;color:var(--button-text);cursor:pointer;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.send-btn:disabled{background:var(--button-disabled);cursor:not-allowed}@media (width<=1060px){.sidebar{z-index:100;height:100%;position:absolute;box-shadow:2px 0 8px #0003}.sidebar .session-list{display:flex}.main{width:100%}.message-list{padding:0 12px}.message-user-bubble{max-width:90%}}.skeleton-app{height:100%;display:flex;overflow:hidden}.skeleton-sidebar{border-right:1px solid var(--border);background:var(--bg-secondary);flex-direction:column;flex-shrink:0;gap:12px;width:260px;padding:12px;display:flex}.skeleton-sidebar-header{background:var(--bg-tertiary);border-radius:6px;height:40px;animation:1.5s ease-in-out infinite skeleton-pulse}.skeleton-session-list{flex-direction:column;gap:8px;display:flex}.skeleton-session-item{background:var(--bg-tertiary);border-radius:6px;height:36px;animation:1.5s ease-in-out infinite skeleton-pulse}.skeleton-main{background:var(--bg);flex-direction:column;flex:1;display:flex;position:relative}.skeleton-open-btn{background:var(--bg-tertiary);border-radius:6px;width:36px;height:36px;animation:1.5s ease-in-out infinite skeleton-pulse;position:absolute;top:12px;left:12px}.skeleton-theme-btn{background:var(--bg-tertiary);border-radius:50%;width:40px;height:40px;animation:1.5s ease-in-out infinite skeleton-pulse;position:absolute;top:50%;right:24px;transform:translateY(-50%)}.skeleton-welcome{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:24px 16px;display:flex}.skeleton-welcome:before{content:"";background:var(--bg-tertiary);border-radius:6px;width:160px;height:44px;animation:1.5s ease-in-out infinite skeleton-pulse}.skeleton-welcome:after{content:"";background:var(--bg-tertiary);border-radius:4px;width:320px;height:22px;animation:1.5s ease-in-out infinite skeleton-pulse}.skeleton-input{padding:12px 16px 16px}.skeleton-input:after{content:"";background:var(--bg-tertiary);border-radius:8px;max-width:800px;height:52px;margin:0 auto;animation:1.5s ease-in-out infinite skeleton-pulse;display:block}@keyframes skeleton-pulse{0%,to{opacity:.5}50%{opacity:.9}}.welcome-skeleton{flex-direction:column;align-items:center;gap:12px;display:flex}.welcome-skeleton-title{background:var(--bg-tertiary);border-radius:6px;width:160px;height:44px;animation:1.5s ease-in-out infinite skeleton-pulse}.welcome-skeleton-sub{background:var(--bg-tertiary);border-radius:4px;width:320px;height:22px;animation:1.5s ease-in-out infinite skeleton-pulse}.session-skeleton{background:var(--bg-tertiary);opacity:1;border-radius:6px;height:36px;transition:opacity .2s;animation:1.5s ease-in-out infinite skeleton-pulse}.session-list-enter{opacity:0;animation:.2s forwards list-fade-in}@keyframes list-fade-in{to{opacity:1}}.drag-overlay{z-index:1000;-webkit-backdrop-filter:blur(6px);pointer-events:all;background:#00000059;justify-content:center;align-items:center;animation:.2s drag-overlay-fade-in;display:flex;position:fixed;inset:0}@keyframes drag-overlay-fade-in{0%{opacity:0}to{opacity:1}}.drag-overlay-card{background:var(--bg);border:2px dashed var(--border-strong);text-align:center;border-radius:16px;padding:48px 64px;animation:.2s drag-overlay-card-scale;box-shadow:0 12px 40px #0003}@keyframes drag-overlay-card-scale{0%{transform:scale(.95)}to{transform:scale(1)}}.drag-overlay-title{color:var(--text);margin:0 0 8px;font-size:20px;font-weight:600}.drag-overlay-subtitle{color:var(--text-muted);margin:0;font-size:14px}
