:root{--bg:#f5f6f8;--panel:#fff;--line:#e3e6ea;--text:#1d2229;--muted:#6b7280;--accent:#4b2a8f;--accent2:#6a3fc1;--user:#ebe7f7;--err:#b42318}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--text);background:var(--bg);font:15px/1.5 -apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}a{color:var(--accent)}button,input,select,textarea{font:inherit}.muted{color:var(--muted)}.small{font-size:13px}.mono{word-break:break-all;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px}.center{justify-content:center;align-items:center;height:100%;display:flex}.error{color:var(--err);background:#fdecea;border:1px solid #f5c2bd;border-radius:8px;margin:6px 0;padding:6px 10px;font-size:14px}.error.bar{margin:0 16px}.btn{border:1px solid var(--line);cursor:pointer;color:var(--text);text-align:center;background:#fff;border-radius:10px;padding:8px 14px;text-decoration:none;display:inline-block}.btn:hover{border-color:#c7cbd1}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent2)}.btn-wide{width:100%}.link{color:var(--accent);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:14px;text-decoration:underline}.login-wrap{justify-content:center;align-items:center;min-height:100%;padding:16px;display:flex}.login-card{background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:16px;flex-direction:column;gap:12px;width:100%;max-width:380px;padding:32px 28px;display:flex}.login-logo{border-radius:16px;width:72px;height:72px;margin:0 auto}.login-card h1{margin:0;font-size:20px}.login-form{flex-direction:column;gap:8px;display:flex}.login-form input{border:1px solid var(--line);border-radius:10px;padding:10px 12px}.layout{height:100%;display:flex}.sidebar{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;flex:none;gap:12px;width:280px;padding:14px;display:flex;overflow-y:auto}.side-head{align-items:center;gap:10px;display:flex}.side-logo{width:28px;height:28px}.brand{font-weight:600}.side-section{flex-direction:column;gap:2px;display:flex}.side-section.grow{flex:1}.side-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:6px 0 4px;font-size:12px}.side-item{text-align:left;cursor:pointer;color:var(--text);background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:6px 8px;display:flex}.side-item:hover,.side-item.active{background:#f0edf8}.side-item.assistant:before{content:"✦";color:var(--accent);margin-right:8px}.chat-item a{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;text-decoration:none;overflow:hidden}.chat-item .x{color:var(--muted);cursor:pointer;visibility:hidden;background:0 0;border:none;font-size:16px}.chat-item:hover .x{visibility:visible}.side-foot{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding-top:10px;font-size:14px;display:flex}.user{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;display:flex;overflow:hidden}.user img,.ava{border-radius:50%;flex:none;width:26px;height:26px}.ava{background:var(--accent);color:#fff;text-transform:uppercase;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.main{flex-direction:column;flex:1;min-width:0;display:flex}.top{border-bottom:1px solid var(--line);background:var(--panel);align-items:center;gap:12px;padding:10px 16px;display:flex}.top .title{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:600;overflow:hidden}.tag{color:var(--accent);background:#f0edf8;border-radius:999px;padding:2px 10px;font-size:12px}.model-select{border:1px solid var(--line);background:#fff;border-radius:8px;max-width:220px;padding:5px 8px}.burger{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:8px;padding:4px 8px;display:none}.messages{flex-direction:column;flex:1;gap:14px;padding:20px 16px;display:flex;overflow-y:auto}.welcome{text-align:center;max-width:480px;margin:auto}.welcome img{border-radius:18px;width:80px}.welcome h2{margin:12px 0 6px}.msg{width:100%;max-width:820px;margin:0 auto}.msg.user .user-text{background:var(--user);white-space:pre-wrap;word-break:break-word;border-radius:14px 14px 4px;width:fit-content;max-width:80%;margin-left:auto;padding:10px 14px}.msg.assistant{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 16px}.meta{color:var(--muted);margin-top:6px;font-size:12px}.dots{color:var(--muted);letter-spacing:2px;animation:1s infinite blink}@keyframes blink{50%{opacity:.3}}.reasoning{color:var(--muted);margin-bottom:8px;font-size:13px}.reasoning summary{cursor:pointer}.composer{border-top:1px solid var(--line);background:var(--panel);gap:10px;padding:12px 16px 16px;display:flex}.composer textarea{resize:none;border:1px solid var(--line);border-radius:12px;flex:1;min-height:44px;max-height:200px;padding:10px 12px}.md p{margin:0 0 .6em}.md p:last-child{margin-bottom:0}.md pre{color:#e6e9ef;background:#1e2330;border-radius:10px;padding:12px;font-size:13px;overflow-x:auto}.md code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px}.md :not(pre)>code{background:#f0f1f3;border-radius:5px;padding:1px 5px}.md table{border-collapse:collapse;margin:8px 0}.md th,.md td{border:1px solid var(--line);padding:4px 8px}.md blockquote{border-left:3px solid var(--line);color:var(--muted);margin:8px 0;padding-left:12px}.admin{max-width:1200px;margin:0 auto;padding:0 16px 40px}.admin .top{background:0 0;border:none;padding:14px 0}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.tabs a{color:var(--text);border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;text-decoration:none}.tabs a.active{background:var(--accent);color:#fff;border-color:var(--accent)}section{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 18px}section h2{margin:0 0 10px;font-size:18px}section h3{margin:16px 0 6px;font-size:15px}.tbl{border-collapse:collapse;width:100%;margin-bottom:12px;font-size:14px}.tbl th{text-align:left;color:var(--muted);font-weight:500}.tbl th,.tbl td{border-bottom:1px solid var(--line);vertical-align:top;padding:6px 8px}.tbl.small{font-size:12px}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.col{flex-direction:column;gap:8px;display:flex}.row input,.row select,.col textarea{border:1px solid var(--line);border-radius:8px;padding:7px 10px}.row input.wide{min-width:320px}.row input.narrow{width:70px}.chk{white-space:nowrap;align-items:center;gap:4px;margin-right:6px;font-size:13px;display:inline-flex}@media (width<=760px){.sidebar{z-index:10;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{transform:none}.burger{display:block}.msg.user .user-text{max-width:95%}.row input.wide{width:100%;min-width:0}}.doc-chips{background:var(--panel);border-top:1px solid var(--line);flex-wrap:wrap;gap:6px;padding:8px 16px 0;display:flex}.chip{background:#f0edf8;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:13px;display:inline-flex}.chip button{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:0;font-size:15px}.composer .attach{padding:8px 10px}.sources{color:var(--muted);flex-wrap:wrap;gap:8px;margin-top:6px;font-size:12px;display:flex}.sources .src{cursor:help;background:#f0f1f3;border-radius:6px;padding:1px 6px}.md img{border-radius:10px;max-width:100%}.user-text.transcript{cursor:pointer;max-width:100%}.user-text.transcript summary{font-weight:500}
