:root{--bg: #ffffff;--bg-soft: #f7f7f5;--bg-hover: #f1f1ef;--line: #e9e9e7;--text: #37352f;--muted: #8c8b88;--accent: #2f7fd1;--accent-soft: rgba(75, 163, 245, .14);--mention-bg: rgba(75, 163, 245, .18);--mentioned-row: rgba(255, 196, 0, .12);--danger: #e0472f;--ok: #3fbf7f;--radius: 8px;color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #191919;--bg-soft: #202020;--bg-hover: #2a2a2a;--line: #2f2f2f;--text: #edebe6;--muted: #8c8b88;--accent: #4ba3f5;--accent-soft: rgba(75, 163, 245, .16);--mention-bg: rgba(75, 163, 245, .22);--mentioned-row: rgba(255, 196, 0, .08);color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Manrope,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:var(--accent)}button{font:inherit;color:inherit;cursor:pointer}.muted{color:var(--muted)}.small{font-size:12px}.italic{font-style:italic}.center-note{display:grid;place-items:center;gap:12px;height:100%;padding:24px;text-align:center}.btn{border:1px solid var(--line);background:var(--bg-soft);border-radius:6px;padding:8px 14px}.btn:hover{background:var(--bg-hover)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn.primary:disabled{opacity:.6}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.ghost{background:transparent}.btn.sm{padding:3px 10px;font-size:13px}.link-btn{background:none;border:0;padding:0 2px;color:var(--accent)}.icon-btn{width:34px;height:34px;border-radius:8px;border:1px solid var(--line);background:var(--bg-soft);font-size:18px;line-height:1;flex:none}.icon-btn:hover{background:var(--bg-hover)}.login{display:grid;place-items:center;height:100%;padding:16px}.login-card{width:100%;max-width:340px;display:grid;gap:14px}.login-card h1{margin:0;font-weight:300;font-size:34px;letter-spacing:-.5px}.login-card label{display:grid;gap:6px;font-size:13px;color:var(--muted)}.login-card input{font:inherit;color:var(--text);background:var(--bg-soft);border:1px solid var(--line);border-radius:6px;padding:9px 11px}.login-card input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.eyebrow{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.18em;color:var(--muted)}.error{color:var(--danger);font-size:13px}.room,.inbox{display:flex;flex-direction:column;height:100%;position:relative}.room-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 14px;border-bottom:1px solid var(--line);flex:none;min-height:48px}.room-title{font-weight:700;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hash{color:var(--muted);font-weight:400}.room-header-right{display:flex;align-items:center;gap:10px;flex:none}.online{display:flex;gap:4px}.conn-warn{font-size:12px;color:var(--danger)}.avatar{position:relative;display:inline-grid;place-items:center;border-radius:50%;color:#fff;font-weight:700;flex:none;-webkit-user-select:none;user-select:none}.presence{position:absolute;right:-1px;bottom:-1px;width:9px;height:9px;border-radius:50%;border:2px solid var(--bg)}.presence.on{background:var(--ok)}.presence.off{background:var(--muted);opacity:.6}.message-list{flex:1;overflow-y:auto;padding:8px 0 4px;overscroll-behavior:contain}.load-older{text-align:center;padding:8px;font-size:13px}.room-intro{padding:24px 16px 12px}.room-intro-title{font-size:20px;font-weight:700;margin-bottom:4px}.day-divider,.unread-divider{display:flex;align-items:center;gap:8px;margin:14px 16px 6px;font-size:12px;font-weight:600;color:var(--muted)}.day-divider:before,.day-divider:after,.unread-divider:before,.unread-divider:after{content:"";flex:1;height:1px;background:var(--line)}.day-divider span{text-transform:capitalize}.unread-divider{color:var(--danger)}.unread-divider:before,.unread-divider:after{background:var(--danger);opacity:.5}.msg{position:relative;display:flex;gap:10px;padding:2px 16px}.msg.with-header{margin-top:8px;padding-top:4px}.msg:hover{background:var(--bg-soft)}.msg.mentioned{background:var(--mentioned-row);box-shadow:inset 2px 0 #e6b400}.msg.pending{opacity:.6}.msg.failed .msg-body{color:var(--danger)}.msg.flash{animation:flash 1.5s ease}@keyframes flash{0%,40%{background:var(--accent-soft)}to{background:transparent}}.msg-gutter{width:36px;flex:none;display:flex;justify-content:center}.msg-time-hover{visibility:hidden;font-size:10px;color:var(--muted);padding-top:3px;white-space:nowrap}.msg:hover .msg-time-hover{visibility:visible}.msg-main{min-width:0;flex:1}.msg-header{display:flex;align-items:baseline;gap:8px}.msg-author{font-weight:700}.msg-time{font-size:12px;color:var(--muted)}.msg-body{white-space:pre-wrap;overflow-wrap:anywhere}.mention{background:var(--mention-bg);color:var(--accent);border-radius:4px;padding:0 3px;font-weight:600}.msg-reply-ref{display:block;max-width:100%;text-align:left;border:0;border-left:3px solid var(--line);background:none;padding:0 0 0 8px;margin:2px 0 4px;color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-failed,.msg-confirm{font-size:13px;margin-top:4px;display:flex;gap:8px;align-items:center}.msg-failed{color:var(--danger)}.msg-actions{position:absolute;right:12px;top:-12px;display:none;background:var(--bg);border:1px solid var(--line);border-radius:8px;box-shadow:0 2px 8px #00000014}.msg-actions button{border:0;background:none;padding:4px 8px;font-size:14px}.msg-actions button:hover{background:var(--bg-hover)}.msg:hover .msg-actions{display:flex}@media (hover: none){.msg-actions{display:flex;position:static;margin-left:auto;border:0;box-shadow:none;background:none;align-self:flex-start}.msg-actions button{padding:2px 6px;opacity:.55}.msg-time-hover{visibility:visible}}.msg-edit textarea{width:100%;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--accent);border-radius:6px;padding:6px 8px;resize:vertical}.msg-edit-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;margin-top:4px}.msg-edit-actions .muted{margin-right:auto}.attachments{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.att-image img{display:block;max-width:min(320px,100%);max-height:240px;border-radius:8px;border:1px solid var(--line);object-fit:cover}.att-image-placeholder{display:block;width:200px;height:140px;border-radius:8px;background:var(--bg-hover)}.att-file{display:flex;gap:10px;align-items:center;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg-soft);text-decoration:none;color:var(--text);max-width:320px}.att-file:hover{background:var(--bg-hover)}.att-icon{font-size:22px}.att-meta{display:grid;min-width:0}.att-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.att-audio{display:grid;gap:2px}.att-audio audio{max-width:300px;height:36px}.jump-btn{position:absolute;left:50%;transform:translate(-50%);bottom:112px;border:0;background:var(--accent);color:#fff;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;box-shadow:0 4px 12px #00000026;z-index:2}.typing{flex:none;padding:0 18px;font-size:12px;color:var(--muted);height:18px}.composer{position:relative;flex:none;padding:4px 12px 8px}.composer.dragging:after{content:"Suelta para adjuntar";position:absolute;top:0;right:12px;bottom:8px;left:12px;display:grid;place-items:center;border:2px dashed var(--accent);border-radius:10px;background:var(--accent-soft);color:var(--accent);font-weight:600}.composer-row{display:flex;gap:8px;align-items:flex-end;border:1px solid var(--line);border-radius:10px;padding:6px;background:var(--bg)}.composer-row:focus-within{border-color:var(--accent)}.composer textarea{flex:1;font:inherit;color:var(--text);background:transparent;border:0;resize:none;outline:none;padding:6px 4px;max-height:200px}.send-btn{width:34px;height:34px;border-radius:8px;border:0;background:var(--accent);color:#fff;font-size:15px;flex:none}.send-btn:disabled{background:var(--bg-hover);color:var(--muted);cursor:default}.composer-hint{padding:4px 4px 0}@media (max-width: 520px){.composer-hint{display:none}}.composer-reply{display:flex;justify-content:space-between;gap:8px;font-size:13px;padding:4px 8px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.composer-uploads{display:flex;flex-wrap:wrap;gap:6px;padding:0 0 6px}.upload-chip{display:inline-flex;align-items:center;gap:4px;font-size:13px;background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;padding:3px 6px 3px 10px;max-width:280px}.upload-chip.error{border-color:var(--danger)}.mention-menu{position:absolute;left:12px;bottom:calc(100% - 2px);margin:0;padding:4px;list-style:none;background:var(--bg);border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 20px #0000001f;min-width:220px;z-index:3}.mention-menu li{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer}.mention-menu li.active,.mention-menu li:hover{background:var(--bg-hover)}.room-list{list-style:none;margin:0;padding:6px;overflow-y:auto;flex:1}.room-row{width:100%;display:grid;grid-template-columns:1fr auto;grid-template-areas:"name meta" "preview meta";gap:0 10px;text-align:left;border:0;background:none;padding:9px 10px;border-radius:8px}.room-row:hover{background:var(--bg-hover)}.room-row-name{grid-area:name;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-row.unread .room-row-name{font-weight:800}.room-row-preview{grid-area:preview;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-row-meta{grid-area:meta;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--danger);color:#fff;font-size:12px;font-weight:700}
