pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-keyword,.hljs-formula{color:#c678dd}.hljs-section,.hljs-name,.hljs-selector-tag,.hljs-deletion,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string{color:#98c379}.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-type,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-number{color:#d19a66}.hljs-symbol,.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-title.class_,.hljs-class .hljs-title{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}:root{--app-primary: #0064fa;--app-primary-hover: #004fc4;--app-bg: #f5f7fa;--app-bg-gradient: linear-gradient(135deg, #eef2ff 0%, #f8fafc 45%, #eef7ff 100%);--app-panel: #ffffff;--app-panel-2: #fafbfc;--app-border: rgba(0, 0, 0, .08);--app-border-strong: rgba(0, 0, 0, .14);--app-shadow: 0 1px 3px rgba(16, 24, 40, .06), 0 8px 24px rgba(16, 24, 40, .06);--app-text: #1c1f23;--app-text-2: #5f6674;--app-text-3: #8b93a1;--app-bubble-user: linear-gradient(135deg, #0064fa 0%, #2b7fff 100%);--app-bubble-user-text: #ffffff;--app-bubble-ai: #ffffff;--app-bubble-ai-text: #1c1f23;--app-code-bg: #282c34;--app-code-toolbar: #21252b;--app-code-text: #d7dae0;--app-radius: 12px;--app-radius-sm: 8px;--app-input-bg: #f4f5f5;--app-vip: #b8860b;--app-vip-strong: #96690a;--app-vip-gradient: linear-gradient(135deg, #f5d78e 0%, #e0b355 55%, #c9971f 100%);--app-vip-bg: rgba(201, 151, 31, .08);--app-vip-border: rgba(184, 134, 11, .35);--app-vip-text-on: #3d2f05;--app-vip-light: #f5d78e;--app-vip-name: #d32f2f}body[theme-mode=dark]{--app-primary: #3c7eff;--app-primary-hover: #5a92ff;--app-bg: #0f1115;--app-bg-gradient: linear-gradient(135deg, #0b0d12 0%, #12151c 50%, #0d1017 100%);--app-panel: #171a21;--app-panel-2: #1c2029;--app-border: rgba(255, 255, 255, .09);--app-border-strong: rgba(255, 255, 255, .16);--app-shadow: 0 1px 3px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .35);--app-text: #e8eaf0;--app-text-2: #a3abba;--app-text-3: #767e8d;--app-bubble-user: linear-gradient(135deg, #2f6fe4 0%, #3c7eff 100%);--app-bubble-user-text: #ffffff;--app-bubble-ai: #1c2029;--app-bubble-ai-text: #e8eaf0;--app-code-bg: #14171d;--app-code-toolbar: #0f1218;--app-code-text: #d7dae0;--app-input-bg: #33353c;--app-vip: #e8c56a;--app-vip-strong: #f3d98d;--app-vip-gradient: linear-gradient(135deg, #f7e2a8 0%, #e5c169 55%, #cfa03a 100%);--app-vip-bg: rgba(232, 197, 106, .1);--app-vip-border: rgba(232, 197, 106, .42);--app-vip-text-on: #2a2107;--app-vip-light: #f5d78e;--app-vip-name: #ff6b6b}*{box-sizing:border-box}html,body,#app{height:100%;margin:0;padding:0}body{background:var(--app-bg);color:var(--app-text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .25s ease,color .25s ease}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px var(--app-input-bg) inset!important;-webkit-text-fill-color:var(--app-text)!important;caret-color:var(--app-text);transition:background-color 600000s ease-in-out 0s}.semi-button-content{gap:6px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--app-border-strong);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--app-text-3)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--app-bg-gradient);padding:24px;position:relative;overflow:hidden}.auth-page:before,.auth-page:after{content:"";position:absolute;border-radius:50%;filter:blur(90px);opacity:.4;pointer-events:none}.auth-page:before{width:420px;height:420px;background:radial-gradient(circle,rgba(0,100,250,.35),transparent 70%);top:-120px;left:-100px}.auth-page:after{width:380px;height:380px;background:radial-gradient(circle,rgba(120,80,255,.28),transparent 70%);bottom:-140px;right:-80px}.auth-card{position:relative;z-index:1;width:100%;max-width:420px;background:var(--app-panel);border:1px solid var(--app-border);border-radius:18px;box-shadow:var(--app-shadow);padding:36px 32px 28px}.auth-brand{text-align:center;margin-bottom:26px}.auth-brand-logo{width:56px;height:56px;margin:0 auto 14px;border-radius:16px;background:linear-gradient(135deg,#0064fa,#7b5cff);display:flex;align-items:center;justify-content:center;color:#fff;font-size:26px;box-shadow:0 8px 20px #0064fa4d}.auth-brand-title{font-size:21px;font-weight:600;color:var(--app-text);margin:0 0 6px}.auth-brand-subtitle{font-size:13px;color:var(--app-text-3);margin:0}.auth-footer{text-align:center;margin-top:18px;font-size:13px;color:var(--app-text-3)}.captcha-row{display:flex;gap:10px;align-items:flex-start}.captcha-row>:first-child{flex:1}.captcha-image{height:32px;min-width:104px;border-radius:var(--app-radius-sm);border:1px solid var(--app-border);cursor:pointer;object-fit:cover;background:#fff;transition:opacity .2s}.captcha-image:hover{opacity:.8}.chat-layout{height:100vh;display:flex;flex-direction:column;background:var(--app-bg)}.chat-body{flex:1;display:flex;min-height:0}.chat-sider{width:264px;flex-shrink:0;background:var(--app-panel);border-right:1px solid var(--app-border);display:flex;flex-direction:column;min-height:0;transition:width .2s ease}.chat-sider-header{padding:14px 14px 10px}.sider-new-btn{display:block}.chat-sider-list{flex:1;overflow-y:auto;padding:0 8px 12px}.sider-empty{padding:32px 12px;text-align:center;color:var(--app-text-3);font-size:13px;line-height:1.7}.conv-item{display:flex;align-items:center;gap:8px;padding:9px 10px;margin-bottom:3px;border-radius:var(--app-radius-sm);cursor:pointer;color:var(--app-text-2);font-size:13.5px;transition:background-color .16s ease,color .16s ease}.conv-item:hover{background:var(--app-panel-2);color:var(--app-text)}.conv-item.active{background:#0064fa1a;color:var(--app-primary);font-weight:500}.conv-item-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-generating{flex-shrink:0;padding:1px 6px;border-radius:999px;background:#0064fa1f;color:var(--app-text);font-size:11px;line-height:1.7}.conv-item-actions{opacity:0;display:flex;gap:2px;transition:opacity .16s ease}.conv-item:hover .conv-item-actions{opacity:1}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.chat-messages{flex:1;overflow-y:auto;padding:22px 0}.chat-messages-inner{max-width:860px;margin:0 auto;padding:0 22px}.chat-input-area{border-top:1px solid var(--app-border);background:var(--app-panel);padding:14px 22px 16px}.chat-input-inner{max-width:860px;margin:0 auto}.chat-vip-gate{display:flex;align-items:center;gap:12px;max-width:860px;margin:0 auto}.chat-vip-gate-badge{display:inline-flex;align-items:center;justify-content:center;flex:none;height:22px;padding:0 7px;border-radius:4px;background:var(--app-vip-gradient);color:var(--app-vip-text-on);font-size:11px;font-weight:800}.chat-vip-gate-text{min-width:0}.chat-vip-gate-title{font-size:14px;font-weight:600;color:var(--app-text)}.chat-vip-gate-sub{margin-top:2px;font-size:12px;color:var(--app-text-3)}.chat-vip-gate-btn{margin-left:auto;flex:none}.chat-input-hint{display:flex;justify-content:space-between;align-items:center;margin-top:7px;font-size:12px;color:var(--app-text-3)}.msg-row{display:flex;gap:12px;margin-bottom:22px}.msg-row.user{flex-direction:row-reverse}.msg-avatar{flex-shrink:0;width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;color:#fff;-webkit-user-select:none;user-select:none}.msg-avatar.user{background:linear-gradient(135deg,#0064fa,#2b7fff);overflow:hidden}.msg-avatar img{width:100%;height:100%;object-fit:cover}.msg-avatar.ai{background:linear-gradient(135deg,#7b5cff,#b06cff)}.msg-content{min-width:0;max-width:calc(100% - 46px);display:flex;flex-direction:column}.msg-row.user .msg-content{align-items:flex-end}.msg-meta{font-size:12px;color:var(--app-text-3);margin-bottom:5px;display:flex;align-items:center;gap:8px}.msg-bubble{padding:12px 16px;border-radius:var(--app-radius);font-size:14.5px;line-height:1.75;word-break:break-word;overflow-wrap:anywhere}.msg-bubble.user{background:var(--app-bubble-user);color:var(--app-bubble-user-text);border-top-right-radius:4px;white-space:pre-wrap}.msg-image{display:block;max-width:260px;max-height:260px;width:auto;height:auto;object-fit:contain;margin:0 0 8px;border-radius:8px;background:#0000002e;cursor:zoom-in;transition:opacity .16s ease}.msg-image:hover{opacity:.88}.msg-bubble.ai{background:var(--app-bubble-ai);color:var(--app-bubble-ai-text);border:1px solid var(--app-border);border-top-left-radius:4px;box-shadow:var(--app-shadow)}.msg-actions{display:flex;gap:4px;margin-top:6px;opacity:0;transition:opacity .16s ease}.msg-row:hover .msg-actions{opacity:1}.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;text-align:center}.chat-empty-logo{width:74px;height:74px;border-radius:22px;background:linear-gradient(135deg,#0064fa,#7b5cff);display:flex;align-items:center;justify-content:center;font-size:34px;color:#fff;margin-bottom:20px;box-shadow:0 12px 32px #0064fa47}.chat-empty-title{font-size:21px;font-weight:600;color:var(--app-text);margin:0 0 8px}.chat-empty-desc{font-size:14px;color:var(--app-text-3);margin:0 0 26px;max-width:460px;line-height:1.7}.suggest{width:100%;max-width:560px}.suggest-label{font-size:12px;color:var(--app-text-3);margin-bottom:10px}.suggest-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:11px 14px;margin-bottom:8px;border-radius:var(--app-radius-sm);border:1px solid var(--app-border);background:var(--app-panel);cursor:pointer;font-family:inherit;font-size:13px;color:var(--app-text-2);transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.suggest-item:last-child{margin-bottom:0}.suggest-item:hover{border-color:var(--app-primary);color:var(--app-text);transform:translateY(-1px);box-shadow:var(--app-shadow)}.suggest-icon{flex-shrink:0;color:var(--app-primary)}.suggest-key{flex-shrink:0;font-weight:600;color:var(--app-text)}.suggest-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.markdown-body>*:first-child{margin-top:0}.markdown-body>*:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{margin:18px 0 10px;font-weight:600;line-height:1.4}.markdown-body h1{font-size:20px}.markdown-body h2{font-size:18px}.markdown-body h3{font-size:16px}.markdown-body h4{font-size:15px}.markdown-body p{margin:9px 0}.markdown-body ul,.markdown-body ol{margin:9px 0;padding-left:22px}.markdown-body li{margin:4px 0}.markdown-body blockquote{margin:12px 0;padding:8px 14px;border-left:3px solid var(--app-primary);background:#0064fa0f;border-radius:0 var(--app-radius-sm) var(--app-radius-sm) 0;color:var(--app-text-2)}.markdown-body a{color:var(--app-primary);text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body table{width:100%;border-collapse:collapse;margin:12px 0;font-size:13.5px;display:block;overflow-x:auto}.markdown-body th,.markdown-body td{border:1px solid var(--app-border-strong);padding:7px 11px;text-align:left}.markdown-body th{background:var(--app-panel-2);font-weight:600}.markdown-body hr{border:none;border-top:1px solid var(--app-border);margin:18px 0}.markdown-body :not(pre)>code{background:#7d7d7d26;padding:2px 6px;border-radius:4px;font-size:.88em;font-family:JetBrains Mono,Fira Code,Consolas,Monaco,monospace}.markdown-body .code-block-wrapper{margin:12px 0;border-radius:var(--app-radius-sm);overflow:hidden;border:1px solid var(--app-border)}.markdown-body .code-block-toolbar{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--app-code-toolbar);font-size:12px;color:#9aa4b2}.markdown-body .code-block-lang{text-transform:lowercase;letter-spacing:.03em}.markdown-body .code-block-copy{border:none;background:transparent;color:#9aa4b2;cursor:pointer;font-size:12px;padding:2px 8px;border-radius:4px;transition:background-color .16s ease,color .16s ease}.markdown-body .code-block-copy:hover{background:#ffffff1a;color:#e8eaf0}.markdown-body pre{margin:0;padding:14px 16px;background:var(--app-code-bg);overflow-x:auto}.markdown-body pre code{background:transparent;padding:0;color:var(--app-code-text);font-size:13px;line-height:1.65;font-family:JetBrains Mono,Fira Code,Consolas,Monaco,monospace}.streaming-cursor:after{content:"▍";color:var(--app-primary);margin-left:1px;animation:blink 1s steps(2,start) infinite}@keyframes blink{to{visibility:hidden}}.thinking-dots{display:inline-flex;gap:4px;align-items:center;height:20px}.thinking-dots span{width:6px;height:6px;border-radius:50%;background:var(--app-text-3);animation:bounce 1.2s infinite ease-in-out}.thinking-dots span:nth-child(2){animation-delay:.16s}.thinking-dots span:nth-child(3){animation-delay:.32s}@keyframes bounce{0%,70%,to{transform:translateY(0);opacity:.45}35%{transform:translateY(-5px);opacity:1}}.app-header{height:56px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:var(--app-panel);border-bottom:1px solid var(--app-border)}.app-header-brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px;color:var(--app-text)}.app-header-logo{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#0064fa,#7b5cff);display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px}.app-header-actions{display:flex;align-items:center;gap:8px}.page-container{min-height:100vh;background:var(--app-bg)}.page-content{max-width:940px;margin:0 auto;padding:24px 22px 48px}.back-link{margin-left:-10px;margin-bottom:10px;color:var(--app-text-2)}.back-link:hover{color:var(--app-primary)}.page-title{font-size:20px;font-weight:600;color:var(--app-text);margin:0 0 6px}.page-desc{font-size:13.5px;color:var(--app-text-3);margin:0 0 22px;line-height:1.7}.memory-item{border:1px solid var(--app-border);border-radius:var(--app-radius);padding:14px 16px;margin-bottom:10px;background:var(--app-panel);transition:border-color .16s ease,box-shadow .16s ease}.memory-item:hover{border-color:var(--app-border-strong);box-shadow:var(--app-shadow)}.memory-item-head{display:flex;align-items:center;gap:8px;margin-bottom:7px}.memory-key{font-family:JetBrains Mono,Consolas,monospace;font-size:12.5px;color:var(--app-primary);background:#0064fa1a;padding:2px 8px;border-radius:5px}.memory-content{font-size:14px;color:var(--app-text);line-height:1.7}.memory-item-foot{display:flex;justify-content:space-between;align-items:center;margin-top:9px;font-size:12px;color:var(--app-text-3)}@media(max-width:900px){.chat-sider{width:210px}.suggest{max-width:100%}}@media(max-width:680px){.chat-sider{position:fixed;left:0;top:56px;bottom:0;z-index:20;width:260px;box-shadow:var(--app-shadow);transform:translate(-100%);transition:transform .24s ease}.chat-sider.open{transform:translate(0)}.chat-messages-inner,.chat-input-inner{padding-left:14px;padding-right:14px}.auth-card{padding:28px 20px 22px}}.user-with-avatar{display:inline-flex;align-items:center;gap:8px;min-width:0}.vip-name{color:var(--app-vip-name)}.img-fallback{object-fit:contain!important;background-color:var(--app-panel-2)!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa0a6' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='M21 15l-5-5L5 21'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:min(60%,48px)!important}.semi-modal.semi-modal-draggable{transform:translate(var(--modal-drag-x, 0px),var(--modal-drag-y, 0px))}.semi-modal-draggable .semi-modal-header{margin:0 -24px;padding:24px;cursor:move}.admin-page{min-height:300px}.admin-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:14px 16px;background:var(--app-panel);border:1px solid var(--app-border);border-radius:var(--app-radius);margin-bottom:16px}.admin-input{height:32px;padding:0 12px;border:1px solid var(--app-border-strong);border-radius:var(--app-radius-sm);background:var(--app-panel);color:var(--app-text);font-size:13px;font-family:inherit;outline:none;min-width:180px}.admin-input:focus{border-color:var(--app-primary)}.admin-select{height:32px;padding:0 10px;border:1px solid var(--app-border-strong);border-radius:var(--app-radius-sm);background:var(--app-panel);color:var(--app-text);font-size:13px;font-family:inherit;outline:none}.admin-select:focus{border-color:var(--app-primary)}.admin-table-wrap{background:var(--app-panel);border:1px solid var(--app-border);border-radius:var(--app-radius);overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{text-align:left;padding:12px 14px;font-weight:600;color:var(--app-text-2);background:var(--app-panel-2);border-bottom:1px solid var(--app-border);white-space:nowrap}.admin-table td{padding:12px 14px;color:var(--app-text);border-bottom:1px solid var(--app-border);vertical-align:middle}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover td{background:var(--app-panel-2)}.admin-thumb{width:44px;height:44px;border-radius:var(--app-radius-sm);overflow:hidden;background:var(--app-panel-2);display:flex;align-items:center;justify-content:center}.admin-thumb img{width:100%;height:100%;object-fit:cover}.admin-thumb-empty{font-size:11px;color:var(--app-text-3)}.admin-cell-name{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-row-actions{display:flex;align-items:center;gap:2px;flex-wrap:wrap}.admin-panel{background:var(--app-panel);border:1px solid var(--app-border);border-radius:var(--app-radius);padding:20px;margin-bottom:16px}.admin-panel-title{margin:0 0 16px;font-size:15px;font-weight:600;color:var(--app-text)}.admin-field{margin-bottom:16px}.admin-field-label{font-size:13px;color:var(--app-text-2);margin-bottom:6px}.admin-field-label .required{color:#f5222d;margin-right:3px}.admin-field-hint{font-size:12px;color:var(--app-text-3);margin-top:5px}.admin-form-actions{display:flex;gap:10px;align-items:center}.admin-empty{padding:40px 0;text-align:center;color:var(--app-text-3);font-size:13px}
