/* Token chat overlays the retained reel/pad; video comments keep their own sheet. */
.live-chat-layer{position:absolute;inset:0;z-index:65;pointer-events:auto;isolation:isolate}
.live-chat-scrim{position:absolute;inset:0;width:100%;height:100%;padding:0;background:rgba(0,0,0,.28);touch-action:manipulation}
.live-chat-sheet{position:absolute;left:0;right:0;bottom:var(--live-chat-keyboard,0px);display:flex;flex-direction:column;height:min(76%,680px);max-height:calc(100% - var(--live-chat-keyboard,0px) - max(12px,var(--safe-top,0px)));min-height:180px;border:0;border-bottom:0;border-radius:24px 24px 0 0;padding:0 var(--safe-right,0px) 0 var(--safe-left,0px);background:var(--bg);color:rgba(255,255,255,.85);overflow:hidden;contain:paint;animation:live-chat-in 240ms cubic-bezier(.32,.72,0,1);font-family:var(--font);font-variant-numeric:tabular-nums;user-select:text;-webkit-user-select:text}
.live-chat-grabber{height:3px;width:30px;min-height:3px;border-radius:3px;background:#FFFFFF40;margin:8px auto 0}
.live-chat-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 12px 7px 16px;flex-shrink:0}
.live-chat-header>div{min-width:0}
.live-chat-profile{display:flex;align-items:center;gap:10px;min-width:0}
.live-chat-heading-copy{min-width:0}
.live-chat-header-avatar{display:flex;flex-shrink:0}
.live-chat-header h2{margin:0;font-size:19px;line-height:26px;letter-spacing:-.4px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.live-chat-header h2:focus{outline:none}
.live-chat-header p{margin:1px 0 0;color:var(--muted);font-size:12px;line-height:17px}
.live-chat-close{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;flex-shrink:0}
.live-chat-disclosure{font-size:11px;line-height:16px;color:var(--tertiary);padding:0 16px 10px;margin:0;flex-shrink:0}
.live-chat-thread{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;padding:4px 16px 12px;scrollbar-width:thin;scrollbar-color:#FFFFFF30 transparent}
.live-chat-message{display:flex;align-items:flex-start;gap:8px;padding:10px 0;position:relative;border-radius:10px}
.live-chat-avatar{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;flex-shrink:0;background:#FFFFFF0D;font-size:10px;font-weight:500;color:var(--muted);overflow:hidden}
.live-chat-avatar img{width:100%;height:100%;object-fit:cover}
.live-chat-message-body{min-width:0;flex:1}
.live-chat-row-heading{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-height:16px}
.live-chat-row-heading strong{font-size:12px;line-height:16px;font-weight:500;overflow-wrap:anywhere}
.live-chat-row-heading time{font-size:10px;line-height:16px;color:var(--tertiary);margin-left:auto}
.live-chat-message-body p{margin:4px 0 0;font-size:13px;line-height:19px;overflow-wrap:anywhere;white-space:pre-wrap}
.live-chat-practice{font-size:10px;line-height:16px;letter-spacing:.3px;color:var(--tertiary)}
.live-chat-message.is-own .live-chat-avatar{color:var(--text)}
.live-chat-message.is-target{background:rgba(184,165,245,.1);box-shadow:none;padding-left:6px;padding-right:6px}
.live-chat-empty{margin:24px 0;color:var(--muted);font-size:13px;text-align:center}
.live-chat-status{margin:0;padding:6px 16px;color:var(--muted);font-size:12px;flex-shrink:0}
.live-chat-composer{display:flex;gap:8px;align-items:center;padding:8px 12px calc(10px + var(--safe-bottom,0px));margin:0;border-top:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);flex-shrink:0}
.live-chat-composer input{height:44px;min-height:44px;min-width:0;flex:1;padding:0 14px;border-radius:22px;border:0;background:rgba(255,255,255,.045);color:var(--text);font-size:16px;line-height:44px;font-family:var(--font);outline-offset:2px}
.live-chat-composer input::placeholder{color:var(--muted);font-size:13px}
.live-chat-composer button{height:44px;min-height:44px;width:44px;min-width:44px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#161219;flex-shrink:0}
.live-chat-composer button svg{width:22px;height:22px;stroke-width:1.7}
/* Home stays visible through contextual chat; route-level Pro stays opaque. */
.live-chat-layer[data-context=feed] .live-chat-scrim{background:transparent}
.live-chat-layer[data-context=feed] .live-chat-sheet{background:rgba(14,14,16,.18);text-shadow:0 1px 2px rgba(0,0,0,.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.live-chat-layer[data-context=page] .live-chat-sheet{background:var(--bg)}
.live-chat-inline{position:relative;inset:auto;width:100%;height:min(66dvh,600px);max-height:calc(100dvh - var(--live-chat-keyboard,0px) - 96px);min-height:240px;border:0;border-radius:0;background:var(--bg);animation:none;margin-bottom:var(--live-chat-keyboard,0px);scroll-margin-top:12px;scroll-margin-bottom:calc(var(--tab-height,64px) + var(--safe-bottom,0px) + var(--live-chat-keyboard,0px) + 12px)}
.live-chat-inline .live-chat-header{padding-top:8px}
.live-chat-inline .live-chat-composer{padding-bottom:10px;background:var(--bg)}
.live-chat-inline input{scroll-margin-bottom:calc(var(--tab-height,64px) + var(--safe-bottom,0px) + var(--live-chat-keyboard,0px) + 12px)}
@keyframes live-chat-in{from{transform:translateY(28px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes live-chat-opacity{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.live-chat-sheet{animation:live-chat-opacity 120ms linear}.live-chat-layer *{scroll-behavior:auto}}
@media(max-width:340px){.live-chat-header h2{font-size:18px}.live-chat-disclosure{font-size:10px;line-height:15px}.live-chat-thread{padding-left:12px;padding-right:12px}.live-chat-message-body p{font-size:12px}}
