/* ═══ Air Lock Persistent Widget ═══ */
.al-widget{position:fixed;bottom:70px;right:16px;z-index:999;font-family:'Rajdhani',sans-serif;pointer-events:none}
.al-widget *{pointer-events:auto}

/* Floating pill button (when collapsed) */
.al-pill{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:rgba(10,10,15,0.9);backdrop-filter:blur(12px);border:1px solid rgba(0,240,255,0.15);border-radius:24px;cursor:pointer;transition:all .3s;box-shadow:0 4px 20px rgba(0,0,0,0.4)}
.al-pill:hover{border-color:var(--cyan);box-shadow:0 0 20px rgba(0,240,255,0.15),0 4px 20px rgba(0,0,0,0.4)}
.al-pill.connected{border-color:rgba(0,240,255,0.3)}
.al-pill .al-dot{width:8px;height:8px;border-radius:50%;background:#555;flex-shrink:0;transition:all .3s}
.al-pill.connected .al-dot{background:var(--cyan);box-shadow:0 0 8px var(--cyan)}
.al-pill.connected .al-dot.talking{animation:alTalk .5s ease-in-out infinite alternate}
@keyframes alTalk{0%{box-shadow:0 0 8px var(--cyan)}100%{box-shadow:0 0 16px var(--cyan),0 0 24px rgba(0,240,255,0.3)}}
.al-pill .al-chan{font-family:'Orbitron',sans-serif;font-size:.6rem;font-weight:700;letter-spacing:.08em;color:var(--cyan);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.al-pill .al-users{font-size:.65rem;color:var(--muted)}
.al-pill .al-mute-icon{font-size:.8rem;opacity:.5}
.al-pill .al-mute-icon.muted{color:var(--orange);opacity:1}

/* Expanded panel */
.al-panel{position:absolute;bottom:calc(100% + 8px);right:0;width:280px;background:rgba(10,10,15,0.95);backdrop-filter:blur(16px);border:1px solid rgba(0,240,255,0.12);border-radius:12px;box-shadow:0 8px 40px rgba(0,0,0,0.5);overflow:hidden;display:none}
.al-panel.open{display:block}

/* Hologram animation */
.al-panel.holo-in{display:block;animation:holoIn .6s ease-out forwards}
.al-panel.holo-out{animation:holoOut .4s ease-in forwards}
@keyframes holoIn{
  0%{opacity:0;transform:translateY(10px) scaleY(0.3);filter:brightness(3) saturate(0) blur(4px)}
  15%{opacity:.6;transform:translateY(5px) scaleY(0.7);filter:brightness(2.5) saturate(0.2) blur(2px)}
  25%{opacity:.3;filter:brightness(1) saturate(0.5) blur(0)}
  35%{opacity:.8;filter:brightness(2) saturate(0.3) blur(1px)}
  50%{opacity:.5;transform:translateY(2px) scaleY(0.95);filter:brightness(1.5) saturate(0.7) blur(0)}
  65%{opacity:1;filter:brightness(1.2) saturate(0.9) blur(0)}
  80%{opacity:.85;filter:brightness(1) blur(0)}
  100%{opacity:1;transform:translateY(0) scaleY(1);filter:brightness(1) saturate(1) blur(0)}
}
@keyframes holoOut{
  0%{opacity:1;transform:translateY(0) scaleY(1);filter:brightness(1) blur(0)}
  20%{opacity:.8;filter:brightness(1.5) saturate(0.5) blur(1px)}
  50%{opacity:.4;transform:translateY(5px) scaleY(0.6);filter:brightness(2) saturate(0.2) blur(2px)}
  100%{opacity:0;transform:translateY(10px) scaleY(0.1);filter:brightness(3) saturate(0) blur(6px)}
}
/* Scanline overlay for hologram effect */
.al-panel::before{content:'';position:absolute;inset:0;z-index:10;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,240,255,0.02) 2px,rgba(0,240,255,0.02) 4px);opacity:0;transition:opacity .3s}
.al-panel.holo-in::before{animation:holoScanlines .6s ease-out forwards}
@keyframes holoScanlines{0%{opacity:.8}50%{opacity:.4}100%{opacity:0}}

/* Panel header */
.al-head{display:flex;align-items:center;gap:.6rem;padding:.8rem 1rem;border-bottom:1px solid rgba(0,240,255,0.08)}
.al-head-icon{font-size:1rem}
.al-head-title{flex:1;font-family:'Orbitron',sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.1em;color:var(--cyan)}
.al-head-close{background:none;border:none;color:var(--muted);cursor:pointer;font-size:1rem;padding:2px;transition:color .2s}
.al-head-close:hover{color:var(--white)}

/* Channel info */
.al-chan-info{padding:.6rem 1rem;border-bottom:1px solid rgba(0,240,255,0.06)}
.al-chan-name{font-family:'Orbitron',sans-serif;font-size:.65rem;font-weight:700;letter-spacing:.08em;color:var(--white)}
.al-chan-users{display:flex;gap:.4rem;margin-top:.4rem;flex-wrap:wrap}
.al-chan-user{font-size:.7rem;color:var(--muted);display:flex;align-items:center;gap:.2rem}
.al-chan-user .al-u-dot{width:5px;height:5px;border-radius:50%;background:var(--cyan)}
.al-chan-user.muted .al-u-dot{background:var(--muted)}

/* Controls */
.al-controls{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;padding:.6rem 1rem}
.al-ctrl{display:flex;align-items:center;justify-content:center;gap:.3rem;padding:.5rem;background:rgba(0,240,255,0.04);border:1px solid rgba(0,240,255,0.1);border-radius:6px;cursor:pointer;transition:all .2s;font-family:'Orbitron',sans-serif;font-size:.5rem;font-weight:700;letter-spacing:.06em;color:var(--muted)}
.al-ctrl:hover{border-color:var(--cyan);color:var(--cyan)}
.al-ctrl.active{background:rgba(255,106,0,0.1);border-color:rgba(255,106,0,0.3);color:var(--orange)}
.al-ctrl.danger{border-color:rgba(255,60,60,0.2);color:#ff4444}
.al-ctrl.danger:hover{background:rgba(255,60,60,0.1)}
.al-ctrl-icon{font-size:.9rem}

/* Mini soundboard */
.al-sounds{padding:.4rem 1rem .6rem;border-top:1px solid rgba(0,240,255,0.06)}
.al-sounds-title{font-family:'Orbitron',sans-serif;font-size:.5rem;font-weight:700;letter-spacing:.12em;color:var(--muted);margin-bottom:.4rem}
.al-sounds-grid{display:flex;gap:.3rem;flex-wrap:wrap}
.al-snd{padding:.3rem .5rem;background:rgba(245,166,35,0.05);border:1px solid rgba(245,166,35,0.1);border-radius:4px;cursor:pointer;font-size:.6rem;color:var(--muted);transition:all .2s}
.al-snd:hover{border-color:var(--gold);color:var(--gold)}
.al-snd.flash{animation:alSndFlash .3s ease-out}
@keyframes alSndFlash{0%{background:rgba(245,166,35,0.3);color:var(--gold)}100%{background:rgba(245,166,35,0.05)}}

/* Channel switcher */
.al-switch{padding:.4rem 1rem .6rem;border-top:1px solid rgba(0,240,255,0.06);max-height:120px;overflow-y:auto}
.al-switch-title{font-family:'Orbitron',sans-serif;font-size:.5rem;font-weight:700;letter-spacing:.12em;color:var(--muted);margin-bottom:.4rem}
.al-switch-item{display:flex;align-items:center;gap:.5rem;padding:.3rem .4rem;border-radius:4px;cursor:pointer;font-size:.75rem;color:var(--muted);transition:all .2s}
.al-switch-item:hover{background:rgba(0,240,255,0.04);color:var(--white)}
.al-switch-item.current{color:var(--cyan)}
.al-switch-item .al-sw-icon{font-size:.8rem}
.al-switch-item .al-sw-count{margin-left:auto;font-size:.6rem;opacity:.5}

/* Notification badge on pill */
.al-notif{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;background:var(--orange);color:#fff;font-family:'Orbitron',sans-serif;font-size:.5rem;font-weight:700;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px;display:none}
.al-notif.show{display:flex;animation:alNotifPop .3s ease-out}
@keyframes alNotifPop{0%{transform:scale(0)}50%{transform:scale(1.3)}100%{transform:scale(1)}}

/* Responsive */
@media(max-width:480px){.al-widget{right:8px;bottom:65px}.al-panel{width:260px}}
