:root{color-scheme:light;--bg:#f5f7f6;--panel:#fff;--line:#e5e9e7;--text:#17201c;--muted:#718078;--green:#087f5b;--green-soft:#d9f4e8;--bubble:#fff;--out:#d8f5e7;--shadow:0 8px 30px rgba(23,32,28,.08)}
*{box-sizing:border-box}html,body{height:100%;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--text);background:var(--bg);letter-spacing:0}button,input{font:inherit}.app-shell{height:100%;display:grid;grid-template-columns:minmax(300px,380px) 1fr;overflow:hidden}.sidebar{background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0}.sidebar-header,.chat-header{height:68px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);backdrop-filter:blur(14px);position:sticky;top:0;z-index:4}.sidebar-header strong{display:block;font-size:18px}.sidebar-header span{font-size:12px;color:var(--green)}.icon-button,.back-button{border:0;background:transparent;color:var(--green);cursor:pointer;padding:8px}.search-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px}.search-row input,.search-panel input,.login-box input{border:1px solid var(--line);background:#f7f9f8;border-radius:7px;padding:11px 12px;min-width:0}.search-row button,.search-panel button,.login-box button{border:0;background:var(--green);color:#fff;border-radius:7px;padding:10px 14px;cursor:pointer}.list-summary{font-size:12px;color:var(--muted);padding:0 14px 8px}.conversation-list{overflow:auto;flex:1}.conversation{width:100%;border:0;border-bottom:1px solid #f0f2f1;background:#fff;display:flex;gap:11px;padding:13px;text-align:left;cursor:pointer;min-height:90px}.conversation:hover,.conversation.active{background:#eef8f3}.avatar{width:44px;height:44px;border-radius:8px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-weight:700;flex:none}.conversation-body{min-width:0;flex:1}.conversation-top{display:flex;justify-content:space-between;gap:8px}.conversation-top strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation time,.conversation small{font-size:11px;color:var(--muted)}.conversation p{margin:6px 0 4px;font-size:13px;color:#66736c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-mark{color:var(--green);font-weight:600}.load-more,.older-button{border:0;background:#f0f5f2;color:var(--green);padding:11px;cursor:pointer}.chat-pane{height:100%;overflow:auto;background-color:#eef1ef;background-image:radial-gradient(#d8dfdb 0.6px,transparent .6px);background-size:18px 18px}.chat-header{justify-content:flex-start;gap:12px}.chat-header>div{flex:1;min-width:0}.chat-header h1{font-size:17px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-header p{font-size:12px;color:var(--muted);margin:3px 0 0}.back-button{display:none}.search-panel{display:flex;gap:8px;padding:10px 18px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:68px;z-index:3}.search-panel input:first-child{flex:1}.empty-state{height:calc(100% - 68px);display:grid;place-content:center;text-align:center;color:var(--muted)}.empty-icon{width:64px;height:64px;border-radius:16px;background:var(--green);color:#fff;display:grid;place-items:center;margin:auto;font-size:28px}.empty-state h2{color:var(--text);margin-bottom:4px}.messages{max-width:980px;margin:auto;padding:16px 24px 60px}.message-row{display:flex;margin:10px 0}.message-row.outgoing{justify-content:flex-end}.message-row.system{justify-content:center}.message-bubble{max-width:min(76%,720px);padding:10px 12px;border-radius:8px;background:var(--bubble);box-shadow:0 1px 2px rgba(0,0,0,.06)}.outgoing .message-bubble{background:var(--out)}.system .message-bubble{background:#e3e7e5;color:#58645e;max-width:80%}.sender{font-size:12px;color:var(--green);font-weight:600;margin-bottom:5px}.message-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55;font-size:15px}.message-time{font-size:10px;color:#809087;text-align:right;margin-top:6px}.image-attachment{display:block;color:var(--text);text-decoration:none}.image-attachment img{display:block;max-width:100%;max-height:440px;border-radius:5px;margin:4px 0}.image-attachment span{font-size:11px;color:var(--muted)}.attachment{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:10px;background:rgba(255,255,255,.65);border:1px solid rgba(0,0,0,.06);border-radius:6px;color:var(--text);text-decoration:none}.attachment audio,.attachment video{max-width:100%}.attachment.pending{opacity:.7}.attachment small{color:var(--muted)}.results{max-width:960px;margin:20px auto;padding:0 20px}.result{display:block;width:100%;border:1px solid var(--line);border-radius:7px;background:#fff;padding:14px;margin:9px 0;text-align:left;cursor:pointer}.result strong{color:var(--green)}.result time{float:right;color:var(--muted);font-size:12px}.result p{white-space:pre-wrap;max-height:5em;overflow:hidden}.result small{color:var(--muted)}.no-results{text-align:center;padding:60px;color:var(--muted)}.older-button{display:block;margin:10px auto;border-radius:7px}.login-body{min-height:100%;display:grid;place-items:center;background:#f1f5f3}.login-box{width:min(390px,calc(100% - 32px));background:#fff;border:1px solid var(--line);border-radius:8px;padding:32px;box-shadow:var(--shadow)}.brand-mark{width:54px;height:54px;background:var(--green);color:#fff;border-radius:13px;display:grid;place-items:center;font-size:24px}.login-box h1{margin:18px 0 4px}.login-box p{margin:0 0 24px;color:var(--muted)}.login-box label{display:block;font-size:13px;margin:12px 0 6px}.login-box input,.login-box button{width:100%}.login-box button{margin-top:14px}.login-error{color:#b42318;font-size:13px;margin-top:12px}.load-more[hidden],.older-button[hidden],[hidden]{display:none!important}
@media(max-width:760px){.app-shell{display:block}.sidebar,.chat-pane{position:fixed;inset:0}.chat-pane{transform:translateX(100%);transition:transform .2s ease;z-index:10}.chat-open .chat-pane{transform:translateX(0)}.back-button{display:block}.sidebar-header,.chat-header{height:60px}.search-panel{top:60px;flex-wrap:wrap}.search-panel input:first-child{flex-basis:100%}.messages{padding:12px 10px 50px}.message-bubble{max-width:88%}.conversation{min-height:82px}.image-attachment img{max-height:360px}}

