:root{--bg: #0d0d10;--bg-panel: #16161a;--bg-hover: #1e1e24;--bg-card: #1a1a20;--border: #2c2c34;--text: #f0f0f5;--text-muted: #888894;--accent: #7c5cff;--accent-hover: #9378ff;--accent-soft: rgba(124, 92, 255, .15);--green: #34d399;--orange: #e67e22;--red: #f87171;font-family:Outfit,Segoe UI,system-ui,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh}#root{min-height:100vh}button{font-family:inherit;cursor:pointer}input,textarea{font-family:inherit}input::placeholder,textarea::placeholder{color:var(--text-muted)}.msg-content{font-family:Outfit,"Noto Color Emoji","Segoe UI Emoji","Apple Color Emoji",sans-serif}.contact-list{flex:1;overflow:auto;display:flex;flex-direction:column;min-height:0}.contact-list__my-code{margin:14px 14px 0;padding:12px 14px;background:var(--bg-card);border-radius:12px;border:1px solid var(--border)}.contact-list__my-code-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:6px}.contact-list__my-code-value{font-size:18px;font-weight:600;letter-spacing:.08em;color:var(--accent);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:space-between;gap:8px}.contact-list__my-code-value:hover{color:var(--accent-hover)}.contact-list__copy-hint{font-size:11px;font-weight:500;letter-spacing:0;color:var(--text-muted)}.contact-list__add{padding:14px}.contact-list__add-trigger{width:100%;padding:12px 16px;border:1px dashed var(--border);border-radius:10px;background:transparent;color:var(--text-muted);font-size:14px;transition:border-color .2s,color .2s}.contact-list__add-trigger:hover{border-color:var(--accent);color:var(--accent)}.contact-list__add-form{margin-top:12px}.contact-list__add-input{width:100%;padding:12px 14px;margin-bottom:8px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);font-size:14px;letter-spacing:.05em}.contact-list__add-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.contact-list__add-error{color:var(--red);font-size:13px;margin:0 0 8px}.contact-list__add-submit{padding:10px 18px;border:none;border-radius:10px;background:var(--accent);color:#fff;font-size:14px;font-weight:500;transition:background .2s}.contact-list__add-submit:hover{background:var(--accent-hover)}.contact-list__sections{flex:1;overflow:auto}.contact-list__section{padding-bottom:8px}.contact-list__section-title{padding:10px 14px 6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.contact-list__item{width:100%;padding:12px 16px;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--text);text-align:left;display:flex;align-items:center;gap:12px;cursor:pointer;transition:background .15s}.contact-list__item:hover{background:var(--bg-hover)}.contact-list__item--selected,.contact-list__item--selected:hover{background:var(--accent-soft)}.contact-list__dot{width:10px;height:10px;border-radius:50%;background:var(--text-muted);flex-shrink:0}.contact-list__dot--online{background:var(--green)}.contact-list__dot--busy{background:var(--orange)}.contact-list__item-content{flex:1;min-width:0}.contact-list__item-name{font-weight:500;font-size:14px}.contact-list__item-preview{font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}
