/* Meeting tile, control button, and shared UI styles. */
/* Previously injected via sovcom_meeting_styles.js — moved to a static file so style-src 'self' CSP is satisfied. */

.meeting-tile{position:relative;background:#141428;border-radius:10px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;aspect-ratio:16/9}
.meeting-tile video{width:100%;height:100%;object-fit:cover;display:block}
.meeting-avatar{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#1a1a2e,#16213e)}
.meeting-avatar-init{width:52px;height:52px;border-radius:50%;font-size:22px;font-weight:700;
  background:linear-gradient(135deg,#5b8af0,#7060e0);display:flex;align-items:center;
  justify-content:center;color:#fff}
.meeting-name-bar{position:absolute;bottom:0;left:0;right:0;padding:20px 8px 6px;
  background:linear-gradient(to top,rgba(0,0,0,0.7),transparent);
  display:flex;align-items:center;gap:4px;font-size:11px;color:#fff}
.meeting-ctrl-btn{background:rgba(255,255,255,0.1);border:none;border-radius:10px;
  padding:8px 10px;color:#fff;cursor:pointer;font-size:13px;min-width:56px;
  transition:background 120ms;display:flex;flex-direction:column;align-items:center;gap:2px}
.meeting-ctrl-btn span{font-size:10px;white-space:nowrap}
.meeting-ctrl-btn.active-ctrl{background:rgba(255,255,255,0.2)}
.meeting-chat-msg{margin-bottom:10px}
.meeting-chat-sender{font-size:11px;color:#5b8af0;margin-bottom:2px}
.meeting-chat-text{font-size:13px;color:#e0e0f0;background:#1a1a2e;border-radius:8px;padding:6px 10px;word-break:break-word}
.meeting-reaction-float{position:absolute;bottom:140px;right:20px;
  animation:meetFloat 3s ease forwards;text-align:center;pointer-events:none;font-size:28px}
.meeting-reaction-float small{display:block;font-size:11px;color:rgba(255,255,255,0.7)}
#meeting-chat-panel,#meeting-participants-panel{display:flex!important;flex-direction:column;
  transform:translateX(100%);transition:transform 250ms}
#meeting-chat-panel.open,#meeting-participants-panel.open{transform:translateX(0)!important}
#meeting-participants-panel{transform:translateX(-100%)}
@keyframes meetFloat{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-80px)}}
.msg-sender-name{font-size:11px;color:var(--accent);margin:0 12px 2px;font-weight:500}
.list-row{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border)}
.voice-bubble{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:16px;background:var(--bg3);max-width:220px}
.voice-play-btn{background:var(--accent);border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;color:#fff}
.voice-waveform{display:flex;align-items:center;gap:2px;flex:1}.wv-bar{width:3px;background:rgba(255,255,255,0.4);border-radius:2px}
.voice-dur{font-size:11px;color:var(--sub);font-family:monospace}
.link-preview-card{display:flex;gap:10px;padding:10px;border-radius:10px;border:1px solid var(--border);background:var(--bg2);text-decoration:none;color:inherit;margin-top:6px;overflow:hidden}
.lp-image{width:70px;height:70px;border-radius:6px;object-fit:cover;flex-shrink:0}
.lp-body{flex:1;min-width:0}.lp-title{font-weight:600;font-size:13px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.lp-desc{font-size:11px;color:var(--sub);margin-top:2px}.lp-url{font-size:10px;color:var(--accent);margin-top:4px}
.story-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);cursor:pointer}
.story-avatar{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}
.story-posted{border:3px solid var(--accent);background:var(--bg3)}.story-empty{border:3px dashed var(--border);background:var(--bg2)}
.story-name{font-weight:600;font-size:15px}.story-sub{font-size:12px;color:var(--sub)}
.note-card{background:var(--bg2);border-radius:10px;padding:12px;margin-bottom:8px;border:1px solid var(--border)}
.note-text{font-size:14px;line-height:1.6;word-break:break-word}
.note-meta{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:11px;color:var(--sub)}
.note-del-btn{background:none;border:none;cursor:pointer;color:var(--danger);font-size:14px}
.edited-tag{font-size:10px;color:var(--sub);font-style:italic}
.feature-row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}
.feature-info{flex:1}
.feature-name{font-size:14px;font-weight:600;display:flex;align-items:center;gap:6px;margin-bottom:2px}
.feature-scope-badge{font-size:9px;padding:2px 5px;border-radius:4px;font-weight:700;text-transform:uppercase;background:var(--bg3);color:var(--sub)}
.feature-desc{font-size:12px;color:var(--sub);line-height:1.5}
.toggle-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0;margin-top:2px}
.toggle-switch input{opacity:0;width:0;height:0}
.toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--bg3);border-radius:24px;transition:200ms}
.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:200ms}
input:checked+.toggle-slider{background:var(--accent)}
input:checked+.toggle-slider:before{transform:translateX(20px)}
.toggle-disabled{opacity:0.5;cursor:not-allowed}
.coc-chain{font-size:11px;margin-top:6px;background:var(--bg2);border-radius:8px;padding:8px 10px}
.coc-header{font-weight:700;margin-bottom:4px;color:var(--accent)}
.coc-link{display:flex;gap:8px;align-items:center;padding:2px 0}
.coc-hop{color:var(--sub);min-width:45px}
.coc-signer{flex:1;font-family:monospace;font-size:10px}
.coc-valid{color:var(--green)}.coc-broken{color:var(--danger)}
.presence-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.8);z-index:9999;display:flex;align-items:center;justify-content:center}
.presence-card{background:var(--bg1);border-radius:16px;padding:28px;max-width:320px;width:90%;text-align:center}
.presence-icon{font-size:40px;margin-bottom:12px}
.presence-title{font-weight:700;font-size:18px;margin-bottom:6px}
.presence-desc{font-size:13px;color:var(--sub);margin-bottom:16px}
.presence-pin-input{width:100%;text-align:center;font-size:24px;letter-spacing:8px;background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:12px;color:var(--text);outline:none}
