:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#263c37;background:#eaf0ec;font-synthesis:none;--green:#187466;--muted:#89958f;--app-height:100dvh}*{box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{position:fixed;inset:0;margin:0}button,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:2px solid #238c7b;outline-offset:3px}[hidden]{display:none!important}.chat-shell{position:fixed;top:var(--app-top,0px);left:0;right:0;display:flex;flex-direction:column;width:100%;max-width:860px;height:var(--app-height);margin:auto;background:#f7f8f6;overflow:hidden}.header{display:flex;align-items:center;gap:10px;padding:calc(8px + env(safe-area-inset-top)) 20px 8px;background:#fff;border-bottom:1px solid #edf1ed;flex-shrink:0}.brand-mark{flex:0 0 32px;width:32px;height:32px;display:grid;place-items:center;background:linear-gradient(145deg,#238c78,#126153);border-radius:10px;color:white;box-shadow:0 5px 14px #18746615}.brand-mark svg{width:22px;height:22px}.brand-copy{flex:1;min-width:0}.brand-copy h1{font-size:15px;line-height:1.3;letter-spacing:.4px;margin:0;font-weight:650}.brand-copy p{display:flex;align-items:center;gap:5px;font-size:10px;line-height:1.3;color:#81928b;margin:3px 0 0}.status-dot{width:6px;height:6px;background:#c4a66d;border-radius:50%}.status-dot.connected{background:#54aa7e;box-shadow:0 0 0 3px #54aa7e12}.private-group{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin-left:auto}.service-note{font-size:9px;line-height:1.3;color:#90a097;margin:0;white-space:nowrap}#connection-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.private-tag{display:flex;align-items:center;gap:4px;font-size:10px;color:#8b9992;letter-spacing:.5px}.private-tag svg{width:13px;height:13px}.messages{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 28px 24px;scrollbar-width:thin;scrollbar-color:#dbe3dd transparent}.conversation-start{display:flex;align-items:center;justify-content:center;gap:12px;font-size:11px;color:#a8b1aa;padding:30px 0 26px;letter-spacing:1px}.start-line{width:30px;height:1px;background:#dfe6df}.day-divider{text-align:center;font-size:11px;color:#a0aaa3;margin:16px 0 23px}.message{display:flex;gap:10px;align-items:flex-start;margin:0 0 22px}.message.own{flex-direction:row-reverse}.message-main{max-width:85%;min-width:0;display:flex;flex-direction:column;align-items:flex-start}.own .message-main{align-items:flex-end}.message-sender{font-size:10px;color:#99a59c;margin:0 0 6px 2px;line-height:1.3}.bubble{background:#fff;border:1px solid #e8ede7;border-radius:0 15px 15px 15px;padding:13px 16px;font-size:14px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;color:#405047;box-shadow:0 2px 5px #273f2e02;min-width:40px}.own .bubble{background:var(--green);border-color:var(--green);border-radius:15px 0 15px 15px;color:#fff;box-shadow:0 4px 10px #1874660a}.message-meta{display:flex;align-items:center;gap:7px;font-size:10px;line-height:1.4;color:#a4afa6;margin-top:7px;font-variant-numeric:tabular-nums}.bubble a{color:inherit;text-decoration:underline;text-underline-offset:3px}.message-image{display:block;max-width:100%;width:auto;max-height:300px;object-fit:contain;border-radius:9px;cursor:zoom-in;background:#e5eee7}.media-bubble{padding:6px;max-width:310px;overflow:hidden}.media-bubble .message-text{padding:7px 8px 4px}.message-video{display:block;max-width:100%;max-height:320px;border-radius:9px;background:#172b23}.file-card{display:flex;align-items:center;gap:11px;text-decoration:none!important;min-width:180px;max-width:280px;padding:3px 0}.file-symbol{flex:0 0 35px;height:42px;display:grid;place-items:center;border:1px solid currentColor;border-radius:5px;opacity:.65;font-size:10px;text-transform:uppercase}.file-detail{min-width:0;display:flex;flex-direction:column;gap:4px}.file-detail strong{font-size:12px;font-weight:500;white-space:normal;line-height:1.6;overflow-wrap:anywhere}.file-detail small{font-size:10px;opacity:.6}.download-link{display:block;font-size:11px;line-height:1.5;margin:6px 2px 1px;text-align:right;opacity:.8}.pending{opacity:.65}.retry-message{border:0;background:none;color:#b9784c;padding:0;font-size:10px;text-decoration:underline}.loading-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:30px;font-size:12px;color:#8d9c92}.loading-ring{width:20px;height:20px;border-radius:50%;border:2px solid #dce7de;border-top-color:#35856d;animation:spin .8s linear infinite}.loading-state.failed .loading-ring{display:none}.text-button{background:#e9f0e9;border:0;color:var(--green);padding:9px 18px;border-radius:8px;font-size:12px}.composer-wrap{padding:16px 24px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e9eee8;flex-shrink:0}.composer{display:flex;align-items:flex-end;gap:11px;padding:7px 8px 7px 10px;border:1px solid #e2e9e1;border-radius:15px;background:#fafcf9;transition:border-color .15s}.composer:focus-within{border-color:#94baaa}.icon-button{display:grid;place-items:center;width:34px;height:38px;padding:7px;border:0;background:none;color:#8da294;flex-shrink:0}.icon-button svg{width:22px;height:22px}.composer textarea{flex:1;width:0;min-height:38px;max-height:130px;padding:9px 0;border:0;resize:none;background:none;color:#35483e;outline:none;font-size:16px;line-height:20px}.composer textarea:focus-visible{outline:none}.composer textarea::placeholder{color:#a8b2a9}.send-button{display:flex;align-items:center;justify-content:center;gap:3px;flex-shrink:0;border:0;background:var(--green);height:38px;border-radius:10px;color:white;padding:0 14px;font-size:12px;transition:opacity .15s}.send-button svg{width:17px;height:17px}.send-button:disabled{opacity:.35}.composer-note{display:flex;justify-content:space-between;gap:8px;font-size:10px;line-height:1.5;color:#aab4aa;margin:10px 3px 0}.attachment-preview{display:flex;align-items:center;gap:10px;background:#f1f6f0;border-radius:10px;margin:0 0 10px;padding:10px 12px}.attachment-icon{color:#69937c;font-size:22px}.attachment-preview>div{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}.attachment-preview strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.attachment-preview small{font-size:10px;color:#8ea18f}.attachment-preview button{border:0;background:none;color:#90a08f;font-size:23px}.upload-progress{display:flex;align-items:center;gap:10px;font-size:10px;color:#8b9d8e;margin:0 0 9px}.upload-progress progress{height:4px;flex:1;accent-color:#298770}.toast{position:absolute;z-index:5;left:50%;bottom:calc(145px + env(safe-area-inset-bottom));transform:translateX(-50%);max-width:85%;width:max-content;padding:11px 17px;background:#253e35f0;color:white;border-radius:10px;font-size:12px;line-height:1.7;box-shadow:0 4px 20px #0001;text-align:center}.image-dialog{padding:60px 15px 70px;border:0;max-width:100vw;max-height:100dvh;width:100vw;height:100dvh;background:#14231df5;overflow:hidden}.image-dialog::backdrop{background:#14231d}.image-dialog img{display:block;max-width:100%;max-height:calc(100dvh - 150px);margin:auto;object-fit:contain}.image-dialog>button{position:absolute;right:20px;top:15px;border:0;background:#ffffff12;color:#fff;font-size:30px;width:40px;height:40px;border-radius:50%}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:900px){body{padding:28px 0;background:radial-gradient(ellipse at 15% 0,#dbe9de,transparent 55%),#eaf0ec}.chat-shell{top:calc(var(--app-top,0px) + 28px);height:calc(var(--app-height) - 56px);max-height:1000px;border:1px solid #dfe7df;border-radius:22px;box-shadow:0 18px 80px #25472e0c}}@media(max-width:520px){.header{padding:calc(7px + env(safe-area-inset-top)) 15px 7px;gap:8px}.brand-mark{flex-basis:30px;width:30px;height:30px;border-radius:9px}.brand-copy h1{font-size:15px}.private-tag{font-size:10px}.messages{padding:0 16px 20px}.message-main{max-width:88%}.message{gap:8px;margin-bottom:20px}.bubble{padding:11px 13px;font-size:14px}.media-bubble{padding:5px}.composer-wrap{padding:12px 13px calc(10px + env(safe-area-inset-bottom))}.composer{gap:7px}.composer textarea{font-size:16px}.send-button{padding:0 10px}.send-button span{display:none}.composer-note{font-size:9px;letter-spacing:-.2px}.conversation-start{font-size:10px;gap:10px;padding:26px 0}.start-line{width:20px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
