.attach-menu{display:flex;flex-wrap:wrap;gap:10px;padding:14px;margin-bottom:10px;background:var(--panel,var(--bg));border:1px solid var(--line);border-radius:24px}.attach-menu[hidden],.attachment[hidden]{display:none}.attach-menu button{padding:12px 18px;border-radius:99px;background:var(--selected);color:var(--accent);font-weight:650;min-height:44px}.attach-menu small{width:100%;color:var(--muted);font-size:0.875rem;padding:0 5px}.attachment{display:flex;flex-wrap:wrap;gap:12px;align-items:center;border:1px solid var(--line);border-radius:22px;padding:12px;margin-bottom:10px;background:var(--selected);color:var(--ink,var(--text));max-height:210px;overflow:auto}.attachment img{width:62px;height:62px;object-fit:cover;border-radius:16px}.attachment audio{width:min(100%,320px);height:42px}.attachment button{min-height:40px;min-width:40px;padding:8px 12px;border-radius:99px;border:1px solid var(--line);color:var(--accent);flex-shrink:0}.pending-caption{min-width:0;flex:1}.pending-caption strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:350px;font-size:1rem}.pending-caption small{display:block;color:var(--muted);font-size:0.875rem;margin-top:5px}.shared-media{max-width:100%;margin-bottom:8px}.shared-media img{max-width:100%;max-height:360px;object-fit:contain;border-radius:20px}.media-download{display:block;margin:7px 0;color:var(--accent);font-size:0.875rem;min-height:25px;text-decoration:underline;text-underline-offset:3px}.media-title{display:block;font-weight:650;font-size:0.9375rem;margin-bottom:10px}.voice-message{width:300px;max-width:100%}.voice-message audio{width:100%;height:44px}.document-message{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:20px;color:inherit;text-decoration:none;max-width:340px}.document-message>span:last-child{min-width:0}.document-message strong{display:block;overflow-wrap:anywhere;font-size:1.125rem}.document-message small{display:block;font-size:0.875rem;color:var(--muted);margin-top:5px}.file-symbol{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--selected);color:var(--accent);font-size:1.8125rem;flex-shrink:0}.record-dot{background:#ed7d75;width:12px;height:12px;border-radius:50%}#recordTime{font-variant-numeric:tabular-nums;font-size:1rem}#recordVoice[aria-pressed=true]{color:#ed7d75;background:var(--selected)}#composer button:disabled{opacity:.5}.bubble p:empty{display:none}.bubble:has(audio){min-width:min(300px,82%)}
@media(max-width:720px){#composer .icon{width:32px;height:42px}#composer #emoji{display:none}.attachment{gap:8px}.pending-caption strong{max-width:180px}.voice-message{width:260px}.document-message{max-width:260px}.attachment audio{width:100%}}
.attachment .pending-actions{display:flex;justify-content:flex-end;gap:8px;width:100%}.attachment .pending-actions button{width:auto;height:auto;min-height:44px;font-size:0.9375rem;line-height:1.3;padding:10px 16px}.attachment [hidden]{display:none!important}.attachment #retryAttachment{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:750}.attachment button:disabled{opacity:.5}.attachment progress{display:block;width:100%;height:6px;margin-top:10px;border:0;border-radius:99px;overflow:hidden;accent-color:var(--accent);background:var(--line)}.attachment progress::-webkit-progress-bar{background:var(--line);border-radius:99px}.attachment progress::-webkit-progress-value{background:var(--accent);border-radius:99px}.attachment progress::-moz-progress-bar{background:var(--accent);border-radius:99px}.attachment progress:indeterminate{background:linear-gradient(90deg,var(--line) 0 30%,var(--accent) 50%,var(--line) 70%);background-size:200% 100%;animation:upload-wait 1.4s linear infinite}.pending-error{width:100%;font-size:0.9375rem;line-height:1.5;overflow-wrap:anywhere;color:var(--ink)}.attachment[data-state=failed]{border-style:dashed}.attachment .pending-caption small{line-height:1.5}.attachment .pending-caption{flex-basis:120px}@keyframes upload-wait{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.attachment progress:indeterminate{animation:none}}
