/* ================= 🔴 LIVE streaming ================= */
.lv-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ff3355;box-shadow:0 0 0 0 rgba(255,51,85,.7);animation:lvPulse 1.4s infinite;flex:none}
@keyframes lvPulse{0%{box-shadow:0 0 0 0 rgba(255,51,85,.7)}70%{box-shadow:0 0 0 8px rgba(255,51,85,0)}100%{box-shadow:0 0 0 0 rgba(255,51,85,0)}}
.lv-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;background:#ff3355;color:#fff;font:800 11px/1 'Unbounded',Manrope,system-ui,sans-serif;letter-spacing:.06em}
.lv-tag .lv-dot{background:#fff;animation:none;width:6px;height:6px}
.lv-tag.dim{background:rgba(255,255,255,.12);font:700 11.5px/1 Manrope,system-ui,sans-serif;letter-spacing:0}
.lv-tag.off{background:#555}
.up{color:#26c281}.dn{color:#ff5c5c}

/* go-live modal */
.lv-go-hero{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:center;padding:14px;border-radius:14px;background:linear-gradient(135deg,rgba(255,51,85,.18),rgba(255,51,85,.04));border:1px solid rgba(255,51,85,.35);margin-bottom:12px}
.lv-go-hero p{grid-column:1/-1;margin:2px 0 0;font-size:13px;opacity:.8}
.lv-lbl{display:block;font-size:12px;opacity:.7;margin:4px 0 6px}
#lvTitle,#lvTipMsg{width:100%;box-sizing:border-box;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.15);background:rgba(0,0,0,.25);color:#fff;font:600 15px Manrope,system-ui,sans-serif}
.lv-list{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:6px;font-size:12.5px;opacity:.85}
.lv-sum{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.lv-sum div{padding:12px;border-radius:12px;background:rgba(255,255,255,.06);display:flex;flex-direction:column;gap:2px}
.lv-sum b{font:800 20px 'Unbounded',Manrope,system-ui,sans-serif}.lv-sum span{font-size:12px;opacity:.65}
.lv-tips{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:10px 0 12px}
.lv-tipb{padding:16px 8px;border-radius:14px;border:1px solid rgba(38,194,129,.4);background:linear-gradient(180deg,rgba(38,194,129,.2),rgba(38,194,129,.06));color:#fff;font:800 17px 'Unbounded',Manrope,system-ui,sans-serif;cursor:pointer}
.lv-tipb:active{transform:scale(.96)}

/* streamer bar */
#lvBar{position:fixed;z-index:47;left:50%;transform:translateX(-50%);top:calc(var(--hudh,64px) + 10px);display:flex;flex-direction:column;align-items:center;gap:6px;width:min(92vw,380px);pointer-events:none}
#lvBar>*{pointer-events:auto}
body.lv-on #lvBar{display:none}
body.ui-port #lvBar,body.ui-port #lvPop{top:calc(var(--hudh,64px) + 52px)}
#term:not([hidden]) ~ #lvBar,body:has(#term:not([hidden])) #lvBar{top:auto;bottom:calc(14px + env(safe-area-inset-bottom))}
.lv-pill{display:inline-flex;align-items:center;gap:9px;padding:8px 14px;border-radius:999px;border:1px solid rgba(255,51,85,.6);background:rgba(14,8,12,.88);color:#fff;font:700 13px Manrope,system-ui,sans-serif;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.lv-pill b{font:800 11px 'Unbounded',system-ui,sans-serif;letter-spacing:.08em;color:#ff5c7a}
.lv-peek{display:flex;flex-direction:column;gap:4px;width:100%}
.lv-peek .lv-m{background:rgba(10,12,20,.82);border-radius:12px;padding:6px 10px}
.lv-bar-in{width:100%;border-radius:18px;background:rgba(12,13,22,.96);border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 40px rgba(0,0,0,.5);padding:12px;display:flex;flex-direction:column;gap:10px}
.lv-bar-h{display:flex;flex-direction:column;gap:2px}.lv-bar-h span{font-size:12px;opacity:.6}
.lv-bar-in .lv-chat{max-height:34vh;overflow:auto;display:flex;flex-direction:column;gap:6px}
.lv-bar-b{display:flex;gap:8px;justify-content:flex-end}
@keyframes lvIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* chat lines */
.lv-m{font-size:13px;line-height:1.35;color:#e9e9f0;word-break:break-word}
.lv-m b{color:#ffd54a;margin-right:4px}
.lv-m.sys{opacity:.6;font-style:italic;font-size:12px}
.lv-m.tip{background:linear-gradient(90deg,rgba(38,194,129,.25),rgba(38,194,129,.05));border-left:3px solid #26c281;padding:6px 9px;border-radius:8px}
.lv-m.trade{padding:7px 10px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
.lv-m.trade.won{border-color:rgba(38,194,129,.5)}.lv-m.trade.lost{border-color:rgba(255,92,92,.45)}
.lv-side{display:inline-block;padding:2px 6px;border-radius:6px;font:800 10.5px 'Unbounded',system-ui,sans-serif;background:rgba(255,255,255,.08)}

/* floating reactions */
.lv-float{position:fixed;z-index:120;font-size:28px;font-style:normal;pointer-events:none;animation:lvFloat 1.7s ease-out forwards}
@keyframes lvFloat{0%{opacity:0;transform:translateY(0) scale(.6)}15%{opacity:1;transform:translateY(-20px) scale(1.15)}100%{opacity:0;transform:translateY(-160px) scale(1)}}

/* "X is live" pop-up */
#lvPop{position:fixed;z-index:48;left:50%;transform:translateX(-50%);top:calc(var(--hudh,64px) + 54px);display:flex;align-items:center;gap:10px;padding:8px 8px 8px 10px;border-radius:18px;background:rgba(12,13,22,.94);border:1px solid rgba(255,51,85,.5);box-shadow:0 14px 34px rgba(0,0,0,.5);width:min(92vw,400px);box-sizing:border-box;animation:lvIn .3s ease-out}
#lvPop>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
#lvPop b{display:flex;align-items:center;gap:6px;font-size:14px}
#lvPop>div>span{font-size:12px;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lv-x{width:34px;height:34px;flex:none;border-radius:50%;border:0;background:rgba(255,255,255,.1);color:#fff;font-size:15px;cursor:pointer}

/* Phone → Traders card */
.lv-card{border-radius:18px;padding:14px;margin-bottom:12px;background:radial-gradient(120% 140% at 0 0,rgba(255,51,85,.2),rgba(255,51,85,0) 60%),rgba(255,255,255,.04);border:1px solid rgba(255,51,85,.3)}
.lv-card-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.lv-card-h b{display:flex;align-items:center;gap:8px;font:800 15px 'Unbounded',Manrope,system-ui,sans-serif}
.lv-strip{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;margin:0 -14px;padding:0 14px 2px;scroll-snap-type:x mandatory}.lv-strip::-webkit-scrollbar{display:none}
.lv-tile{flex:none;width:168px;scroll-snap-align:start;text-align:left;display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(160deg,#2a1830,#121424);color:#fff;cursor:pointer}
.lv-tile-top{display:flex;justify-content:space-between;gap:4px;margin-bottom:6px}
.lv-tile-av,.lv-av{width:40px;height:40px;flex:none;border-radius:50%;display:grid;place-items:center;font:800 17px 'Unbounded',system-ui,sans-serif;color:#1a0f00;background:linear-gradient(135deg,#ffd54a,#ff8a3d);box-shadow:0 0 0 2px #ff3355}
.lv-tile b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lv-tile-t{font-size:12px;opacity:.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.lv-tile-m{font-size:12px;font-weight:700}.lv-tile-m i{font-style:normal}

/* terminal button */
.lv-termbtn{display:inline-flex;align-items:center;gap:6px;border-color:rgba(255,51,85,.5)!important}
.lv-termbtn.on{background:#ff3355!important;color:#fff!important}.lv-termbtn.on .lv-dot{background:#fff}

/* ===== the watch view ===== */
#liveView{position:fixed;inset:0;z-index:55;background:#07080f;color:#fff;display:flex;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);animation:lvIn .25s ease-out}
.lv-wrap{flex:1;min-width:0;display:grid;grid-template-columns:1fr 340px;grid-template-rows:auto 1fr;gap:0;height:100%}
.lv-head{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(90deg,rgba(255,51,85,.16),transparent 60%)}
.lv-who{flex:1;min-width:0;display:flex;flex-direction:column}
.lv-who b{font:800 16px 'Unbounded',Manrope,system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lv-who span{font-size:12.5px;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lv-badges{display:flex;gap:6px;flex:none}
.lv-stage{display:flex;flex-direction:column;min-height:0;min-width:0}
.lv-chartbox{position:relative;flex:1;min-height:180px;display:flex;flex-direction:column}
.lv-chtop{display:flex;align-items:center;gap:10px;padding:8px 12px;flex-wrap:wrap}
.lv-sym{display:flex;align-items:baseline;gap:8px}.lv-sym b{font:800 15px 'Unbounded',system-ui,sans-serif}.lv-sym span{font:700 15px 'JetBrains Mono',ui-monospace,monospace;color:#ffd54a}
.lv-tfs{display:flex;gap:4px;margin-left:auto}
.lv-tfs button{padding:5px 9px;border-radius:8px;border:0;background:rgba(255,255,255,.07);color:#cfd2dc;font:700 12px Manrope,system-ui,sans-serif;cursor:pointer;min-height:28px}
.lv-tfs button.on{background:#ffd54a;color:#111}
.lv-sess{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}.lv-sess span{font-size:10.5px;opacity:.6;text-transform:uppercase;letter-spacing:.06em}.lv-sess b{font:800 14px 'JetBrains Mono',ui-monospace,monospace}
#lvChart{flex:1;width:100%;min-height:0;display:block}
.lv-wait{position:absolute;inset:44px 0 0;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;font-size:14px;opacity:.85;background:#07080f}
.lv-wait[hidden]{display:none}
.lv-pos{max-height:34%;overflow:auto;border-top:1px solid rgba(255,255,255,.08);padding:8px 12px 10px}
.lv-pos-h{display:flex;justify-content:space-between;font-size:12px;opacity:.7;margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em}
.lv-pr{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.05);margin-bottom:6px}
.lv-pr .lv-side.up{background:rgba(38,194,129,.18)}.lv-pr .lv-side.dn{background:rgba(255,92,92,.18)}
.lv-pr-m{flex:1;min-width:0;display:flex;flex-direction:column}.lv-pr-m b i{font-style:normal;opacity:.6;font-size:12px}.lv-pr-m span{font-size:11.5px;opacity:.65;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lv-pl{display:flex;flex-direction:column;align-items:flex-end;font:800 14px 'JetBrains Mono',ui-monospace,monospace}.lv-pl i{font-style:normal;font-size:11px;opacity:.75}
.lv-none{font-size:13px;opacity:.65;margin:4px 0}
aside.lv-col{display:flex;flex-direction:column;min-height:0;border-left:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02)}
.lv-feed{flex:1;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:8px;min-height:0}
.lv-rx{display:flex;justify-content:space-around;padding:6px 8px;border-top:1px solid rgba(255,255,255,.06)}
.lv-rx button{width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.06);font-size:20px;cursor:pointer}
.lv-rx button:active{transform:scale(.85)}
.lv-say{display:flex;gap:6px;padding:8px 10px 10px}
.lv-say input{flex:1;min-width:0;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.3);color:#fff;font:600 14px Manrope,system-ui,sans-serif}
.lv-say .btn{flex:none;min-height:40px}

/* upright phones: header, chart, trades, then the chat below */
@media (max-width:760px) and (orientation:portrait){
  .lv-wrap{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1.15fr) minmax(0,1fr)}
  aside.lv-col{border-left:0;border-top:1px solid rgba(255,255,255,.08)}
  .lv-pos{max-height:30%}
  .lv-badges .hide-s{display:none}
  .lv-chartbox{min-height:150px}
}
/* sideways phones: thinner chat column */
@media (max-height:500px) and (orientation:landscape){
  .lv-wrap{grid-template-columns:1fr 290px}
  .lv-head{padding:6px 10px}.lv-av{width:32px;height:32px;font-size:14px}.lv-who b{font-size:14px}
  .lv-pos{max-height:38%}
  .lv-rx button{width:34px;height:34px;font-size:17px}
  .lv-feed{padding:8px}
}
