/* Insanity feature pack styles */
.pttbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:4px 8px;font-size:13px;background:#1a1730;border-top:1px solid #2c2846}
.pttbar .pttlab.live{color:#ff6b6b}
.classic .pttbar{background:#eef3fb;border-top:1px solid #b9c0c9;color:#1b2a44}
.classic .pttbar .pttlab.live{color:#c0392b}
.camctl .micmode{font-size:12px;padding:3px 4px;max-width:200px}
.camctl .ptt{user-select:none;-webkit-user-select:none;touch-action:none;min-width:150px}
.camctl .ptt.live{background:linear-gradient(#ff8a8a,#d23b3b)!important;color:#fff!important;border-color:#9c2222!important}
/* batch 2 */
.fxlv{font-size:12px;background:#ffd54a;color:#4a3500;border-radius:8px;padding:1px 6px;margin-left:6px;vertical-align:middle}
.fxlvl{margin:6px 0 10px}.fxlvlnum{font-size:20px;display:block}.fxbar{height:10px;background:#0002;border-radius:6px;overflow:hidden;margin:6px 0}.fxbar i{display:block;height:100%;background:linear-gradient(90deg,#7c4dff,#ff4fa3)}
.fxhist{max-height:150px;overflow:auto}.fxlist{max-height:60vh;overflow:auto}.fxlist .person{display:flex;gap:6px;align-items:center;padding:3px 0}
.fxgifts{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.fxfollow.on{background:#ffe9a8}
.fxbig{position:fixed;inset:0;pointer-events:none;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}
.fxbigemo{font-size:140px;animation:fxpop 3.4s ease-out forwards;filter:drop-shadow(0 6px 18px #0008)}
.fxbigtxt{font:700 22px system-ui;color:#fff;background:#0009;padding:6px 14px;border-radius:12px;animation:fxfade 3.4s forwards}
.fxconf{position:absolute;top:-40px;font-size:28px;animation:fxfall 2.6s linear forwards}
@keyframes fxpop{0%{transform:scale(.2) rotate(-20deg);opacity:0}15%{transform:scale(1.25) rotate(8deg);opacity:1}30%{transform:scale(1) rotate(0)}80%{opacity:1}100%{transform:scale(1.4);opacity:0}}
@keyframes fxfade{0%,10%{opacity:0}20%,80%{opacity:1}100%{opacity:0}}
@keyframes fxfall{to{transform:translateY(110vh) rotate(360deg)}}
.fxpond{position:fixed;right:12px;bottom:12px;width:min(520px,95vw);background:var(--panel,#1d1a33);color:inherit;border:1px solid #0004;border-radius:10px;box-shadow:0 10px 30px #0007;z-index:900;padding:0 8px 8px}
.fxpond .wtitle{display:flex;align-items:center;gap:6px;padding:6px 2px;font-weight:700}.fxpond .close{background:none;border:0;color:inherit;font-size:16px;cursor:pointer}
.fxpgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.fxpgrid .tile{position:relative;aspect-ratio:16/9;background:#000;border-radius:6px;overflow:hidden}.fxpgrid video{width:100%;height:100%;object-fit:cover}
.fxpgrid .tname{position:absolute;left:4px;bottom:3px;font-size:11px;color:#fff;text-shadow:0 1px 2px #000}
.fxprow{display:flex;gap:6px;margin:6px 0;align-items:center}.fxprow input{flex:1}
#camgrid.fxaudioonly .tile.fxao video{visibility:hidden}#camgrid.fxaudioonly .tile.fxao::after{content:'🎧 audio only';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#fff;font-size:13px;background:#0008;padding:3px 8px;border-radius:8px}
.fxad{position:fixed;left:12px;bottom:12px;z-index:800;background:#fffbe6;color:#3a2f00;border:1px solid #e6d27a;border-radius:8px;padding:6px 30px 6px 10px;font-size:13px;max-width:360px;box-shadow:0 4px 12px #0003}
.fxad span{cursor:pointer;text-decoration:underline}.fxad small{opacity:.6;margin-right:6px}.fxad .close{position:absolute;right:6px;top:4px;background:none;border:0;cursor:pointer}
label.chk{display:block;margin:6px 0}
.fxbots{border-bottom:1px solid rgba(128,128,128,.25);margin-bottom:4px}
.fxbot{cursor:pointer;flex-wrap:wrap}
.fxbot .small{flex-basis:100%;padding-left:18px;font-size:11px}
.fxbotb{background:#5865f2;color:#fff;border-radius:4px;font-size:10px;padding:0 4px;margin-left:6px;font-weight:700}
/* public links under the login window */
.cflogin{flex-direction:column;align-items:center}
.fxpublinks{margin-top:14px;text-align:center;font-size:13px;color:#b9c4e6;max-width:100%;padding:0 10px}
.fxpublinks a{color:#dfe7ff;text-decoration:none;margin:0 2px}.fxpublinks a:hover{text-decoration:underline}
@media (max-width:768px){.fxpublinks{margin:0;padding:12px 10px 18px;background:#fff;width:100%}.fxpublinks,.fxpublinks a{color:#0b57c2}}
