/* Twitch widget styles */
.twitch-modal {
  position: fixed;
  left: 20px;
  bottom: 140px; /* above Discord widget */
  width: 360px;
  max-width: calc(100% - 40px);
  background: linear-gradient(180deg, rgba(20,23,30,0.98), rgba(10,12,18,0.98));
  border: 1px solid rgba(255,255,255,0.03);
  box-shadow: 0 8px 30px rgba(2,6,23,0.6);
  border-radius: 10px;
  overflow: hidden;
  z-index: 1200;
  display: none;
}
.twitch-modal.open { display: block; }
.twitch-modal .header {
  display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:transparent;border-bottom:1px solid rgba(255,255,255,0.02);
}
.twitch-modal .title { color:#fff;font-weight:600;font-size:14px }
.twitch-modal .controls button { background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:16px }
.twitch-modal .player { width:100%;height:210px;background:#000 }
.twitch-open-btn {
  position: fixed;
  left: 22px;
  bottom: 110px; /* above Discord open */
  width:88px;
  padding:6px;
  box-sizing:border-box;
  background:linear-gradient(180deg,rgba(255,255,255,0.02),rgba(255,255,255,0.01));
  border:1px solid rgba(255,255,255,0.04);
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 8px 20px rgba(2,6,23,0.45);
  text-align:center;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:1200;
}
.twitch-open-btn::after{content:'';position:absolute;left:-120%;top:0;height:100%;width:60%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.08),transparent);transform:skewX(-20deg);transition:left 0.9s linear}
.twitch-open-btn:hover::after{left:120%}
.twitch-open-btn img{width:64px !important;height:64px !important;max-width:64px !important;max-height:64px !important;object-fit:contain;border-radius:6px;display:block;margin:0 auto}
.twitch-open-btn .twitch-live{display:none;position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);background:rgba(0,0,0,0.72);padding:0.45rem 0.6rem;border-radius:6px;font-size:0.82rem;white-space:nowrap;color:#bff2d9}
.twitch-open-btn:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(2,6,23,0.6);transition:all 200ms var(--anim-ease)}
.twitch-open-btn:hover .twitch-live{display:block}
.twitch-status-dot { display:inline-block;width:8px;height:8px;border-radius:50%;background:#666;margin-left:8px;vertical-align:middle }
.twitch-status-dot.live { background: #e91916; box-shadow:0 0 6px rgba(233,25,22,0.9) }
.twitch-manual-note { font-size:12px;color:var(--muted);padding:6px 10px }
