:root{--bg: #fff8f6;--panel: #ffffff;--panel2: #fbf0ed;--border: #f1dad4;--text: #2b1b19;--muted: #8c6b65;--accent: #c8102e;--accent-hover: #a50d24;--accent2: #b8860b;--gold: #d4af37;--danger: #b91c1c;--ok: #15803d;--warn: #b45309;--radius: 12px;font-family:PingFang SC,Microsoft YaHei,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:radial-gradient(1200px 600px at 10% -10%,#fde2dd 0%,var(--bg) 55%);color:var(--text)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit;background:var(--panel2);border:1px solid var(--border);border-radius:8px;padding:8px 12px}button{cursor:pointer;background:linear-gradient(180deg,#d4203c,#b0102a);border-color:var(--accent);color:#fff;font-weight:600}button.secondary{background:var(--panel2);border-color:var(--border);color:var(--text);font-weight:500}button:disabled{opacity:.5;cursor:not-allowed}input:focus,select:focus,textarea:focus,button:focus{outline:1px solid var(--accent)}.muted{color:var(--muted);font-size:13px}.error{color:var(--danger);font-size:13px}.success{color:var(--ok);font-size:13px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.spacer{flex:1}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.login-page{height:100%;display:grid;grid-template-columns:1.1fr 1fr}.login-left{position:relative;overflow:hidden;background:linear-gradient(135deg,#7a0a1e,#c8102e 60%,#b8860b)}.login-left img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.login-left .overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,#2b1b198c,#c8102e59)}.login-left .intro{position:absolute;left:48px;bottom:56px;right:48px;color:#fff}.login-left .intro h1{margin:0 0 10px;font-size:34px;letter-spacing:.02em}.login-left .intro p{margin:0;font-size:15px;opacity:.9;line-height:1.7}.login-right{display:grid;place-items:center;padding:24px}.login-card{width:min(380px,100%);background:#fffffffa;border:1px solid var(--border);border-radius:16px;padding:34px 30px;box-shadow:0 18px 50px #2b1b1914}.login-card h2{margin:0 0 6px;font-size:24px}.login-card .sub{margin:0 0 22px;color:var(--muted);font-size:13px}.login-form{display:grid;gap:14px}.login-form label{display:grid;gap:6px;font-size:13px;color:var(--muted)}.login-form input{padding:11px 12px;background:#fff}.login-form button{padding:11px 12px;font-size:15px}@media(max-width:860px){.login-page{grid-template-columns:1fr}.login-left{display:none}}.shell{height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:14px;padding:12px 20px;background:var(--accent);border-bottom:1px solid var(--accent);color:#fff;flex-shrink:0}.topbar .brand{font-weight:800;letter-spacing:.02em;color:#fff}.topbar .brand span{color:#fff}.topbar .user{color:#fff;font-size:13px;opacity:.9}.topbar .muted{color:#fff;opacity:.9}.topbar button.secondary{background:#ffffff24;border-color:#ffffff8c;color:#fff;font-weight:500}.topbar button.secondary:hover{background:#ffffff3d}.content{flex:1;min-height:0;overflow:auto;padding:22px 24px 32px}.content.fill{overflow:hidden;display:flex;flex-direction:column;padding-bottom:16px}.page-title{font-size:22px;font-weight:700;margin:0 0 6px}.page-sub{color:var(--muted);margin:0 0 20px;font-size:13px}.card{background:#ffffffeb;border:1px solid var(--border);border-radius:var(--radius);padding:16px}.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.agent-card{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;display:flex;flex-direction:column;gap:10px}.agent-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px #2b1b1917;border-color:#f3b9b0}.agent-card .icon{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,#fbd5d0,#f7e3b8);color:var(--accent);font-weight:800;font-size:18px}.agent-card h3{margin:0;font-size:16px}.agent-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.6;flex:1}.agent-card .go{color:var(--accent);font-size:13px;font-weight:600}.chat-wrap{display:grid;grid-template-columns:280px 1fr;gap:14px;flex:1;min-height:0;height:100%}.chat-side{background:#ffffffeb;border:1px solid var(--border);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;min-height:0;max-height:100%}.chat-side .side-head{display:grid;gap:8px;margin-bottom:10px;flex-shrink:0}.chat-side .side-head .btn-row{display:flex;gap:8px}.chat-side .side-head button{flex:1}.history{flex:1;min-height:0;overflow-y:auto}.history .h-item{padding:10px;border-radius:8px;cursor:pointer;margin-bottom:6px;border:1px solid transparent}.history .h-item:hover,.history .h-item.active{background:var(--panel2);border-color:var(--border)}.history .h-title{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history .h-time{font-size:11px;color:var(--muted);margin-top:2px}.chat-main{background:#ffffffeb;border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden;min-height:0}.messages{flex:1;min-height:0;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px}.messages::-webkit-scrollbar,.history::-webkit-scrollbar{width:8px}.messages::-webkit-scrollbar-thumb,.history::-webkit-scrollbar-thumb{background:#d9c0ba;border-radius:8px}.bubble{max-width:85%;padding:10px 13px;border-radius:14px;line-height:1.6;font-size:14px;word-break:break-word}.bubble.user{align-self:flex-end;background:var(--accent);color:#fff}.bubble.assistant{align-self:flex-start;background:var(--panel2);border:1px solid var(--border)}.bubble.tool{align-self:stretch;background:#fdf6f4;border:1px dashed #e3ccc6;color:var(--muted);font-size:12px}.bubble .md-content>:first-child{margin-top:0}.bubble .md-content>:last-child{margin-bottom:0}.bubble .md-content p{margin:.45em 0}.bubble .md-content h1,.bubble .md-content h2,.bubble .md-content h3{margin:.8em 0 .4em;font-size:1.05em;font-weight:700}.bubble .md-content ul,.bubble .md-content ol{margin:.4em 0;padding-left:1.3em}.bubble .md-content pre{margin:.5em 0;padding:10px 12px;overflow:auto;background:#fdf6f4;border:1px solid var(--border);border-radius:8px}.bubble .md-content code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;background:#2b1b190f;padding:.1em .35em;border-radius:4px}.bubble .md-content pre code{background:transparent;padding:0}.bubble .md-content blockquote{margin:.5em 0;padding:.35em .8em;border-left:3px solid var(--accent);background:#c8102e12;color:var(--muted)}.bubble .md-content table{border-collapse:collapse;margin:.5em 0;font-size:13px}.bubble .md-content th,.bubble .md-content td{border:1px solid var(--border);padding:4px 8px}.cite{font-size:12px;color:var(--accent2);margin-top:6px}.steps{font-size:12px;color:var(--muted);margin:0 0 8px}.steps-head{display:flex;align-items:center;gap:6px;width:100%;padding:0;border:0;background:transparent;color:var(--muted);font-size:12px;text-align:left;cursor:pointer}.steps-head:hover{color:var(--text)}.steps-caret{width:12px}.steps-count{opacity:.75}.steps-state{margin-left:auto;color:var(--accent2)}.steps-body{margin-top:6px;padding-left:18px;display:grid;gap:4px}.step-item{display:flex;gap:6px;flex-wrap:wrap}.step-name{color:var(--text);font-weight:600}.empty-hint{text-align:center;color:var(--muted);margin-top:60px;font-size:14px}.composer{border-top:1px solid var(--border);padding:12px;display:grid;gap:8px;flex-shrink:0}.composer textarea{min-height:72px;resize:vertical;background:#fff}.composer .row{justify-content:space-between}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#2b1b1973;display:grid;place-items:center;z-index:60;padding:16px}.modal{width:min(700px,96vw);background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:18px;box-shadow:0 24px 60px #2b1b1933}.modal h3{margin:0 0 4px;font-size:17px}.captcha-canvas-wrap{position:relative;margin-top:12px}.captcha-canvas-wrap canvas{display:block;width:100%;height:auto;border-radius:8px;-webkit-user-select:none;user-select:none;touch-action:none}.slider{position:relative;height:44px;margin-top:12px;background:var(--panel2);border:1px solid var(--border);border-radius:22px;-webkit-user-select:none;user-select:none;touch-action:none}.slider .track-label{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--muted);font-size:13px;pointer-events:none}.slider .handle{position:absolute;top:3px;left:0;width:76px;height:36px;border-radius:18px;background:linear-gradient(180deg,#d4203c,#b0102a);color:#fff;display:grid;place-items:center;font-size:15px;cursor:grab;box-shadow:0 4px 10px #c8102e59}.slider .handle:active{cursor:grabbing}.captcha-msg{margin-top:10px;font-size:13px;min-height:18px}.captcha-msg.ok{color:var(--ok)}.captcha-msg.err{color:var(--danger)}.modal .modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}@media(max-width:900px){.chat-wrap{grid-template-columns:1fr}.chat-side{max-height:220px}}.examples{margin-top:10px;display:flex;flex-direction:column;gap:6px}.examples-title{font-size:12px;color:var(--muted)}.example-q{text-align:left;background:var(--panel);border:1px solid var(--border);color:var(--accent);font-weight:500;border-radius:8px;padding:8px 12px;cursor:pointer}.example-q:hover:not(:disabled){border-color:var(--accent);background:#fff0ed}.hidden-file{display:none}.attach-btn{width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:20px;line-height:1}.attach-hint{font-size:12px}.attach-list{display:flex;flex-wrap:wrap;gap:6px}.attach-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:4px 6px 4px 8px;border:1px solid var(--border);border-radius:8px;background:var(--panel2);font-size:12px}.attach-chip.error{border-color:#fecaca;background:#fef2f2}.attach-thumb{width:26px;height:26px;border-radius:5px;object-fit:cover}.attach-name{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-state{color:var(--muted)}.attach-remove{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:14px;line-height:1;padding:0 2px}.attach-remove:hover{color:var(--text)}.bubble-attach{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.bubble-attach-chip{display:inline-block;padding:2px 6px;border-radius:5px;background:#ffffff2e;font-size:12px}.bubble.assistant .bubble-attach-chip{background:var(--panel)}.bubble-attach-img{width:120px;max-width:100%;border-radius:8px;display:block}.file-links{display:flex;flex-direction:column;gap:6px;margin-top:8px}.file-link{display:flex;align-items:center;gap:8px;width:100%;max-width:420px;padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel2);color:var(--text);cursor:pointer;text-align:left;font-size:12px}.file-link:hover{border-color:var(--accent)}.file-badge{flex-shrink:0;padding:2px 5px;border-radius:4px;background:var(--accent);color:#fff;font-size:10px;font-weight:700;letter-spacing:.4px}.file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.file-size{color:var(--muted);white-space:nowrap}.file-action{color:var(--accent2);font-weight:600;white-space:nowrap}
