/* ============================================================
   Stream Events Page
============================================================ */
.se-page{ max-width:900px; margin:0 auto; padding:0 20px 60px; display:flex; flex-direction:column; gap:32px; }

.se-hero{ text-align:center; padding:48px 20px 32px; }
.se-hero__eyebrow{ display:inline-flex; align-items:center; gap:8px; font-size:11px; font-weight:950; letter-spacing:2px; text-transform:uppercase; color:rgba(196,135,71,.75); background:rgba(196,135,71,.08); border:1px solid rgba(196,135,71,.20); border-radius:999px; padding:5px 14px; margin-bottom:16px; }
.se-hero__title{ font-size:52px; font-weight:950; font-style:italic; background:linear-gradient(135deg,#ffd77a,#e0a84a,#ffd77a); -webkit-background-clip:text; background-clip:text; color:transparent; line-height:1.1; margin:0 0 12px; }
.se-hero__sub{ font-size:16px; color:rgba(170,180,197,.75); max-width:520px; margin:0 auto; line-height:1.6; }

.se-card{ background:rgba(10,8,4,.88); border:1px solid rgba(196,135,71,.20); border-radius:22px; overflow:hidden; position:relative; transition:border-color .2s,transform .2s; }
.se-card:hover{ border-color:rgba(196,135,71,.40); transform:translateY(-2px); }
.se-card--live{ border-color:rgba(60,200,100,.35); }
.se-card--live::before{ content:''; position:absolute; inset:0; background:radial-gradient(ellipse 60% 40% at 50% 0%,rgba(60,200,100,.08),transparent 70%); pointer-events:none; }
.se-card--finished{ opacity:.5; filter:saturate(.4); }

.se-card__head{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:24px 24px 16px; flex-wrap:wrap; }
.se-card__status{ display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:950; letter-spacing:1px; text-transform:uppercase; padding:3px 10px; border-radius:999px; margin-bottom:6px; }
.se-card__status--upcoming{ background:rgba(196,135,71,.15); color:rgba(255,210,120,.9); border:1px solid rgba(196,135,71,.30); }
.se-card__status--live{ background:rgba(60,200,100,.15); color:rgba(120,240,160,.9); border:1px solid rgba(60,200,100,.30); }
.se-card__status--live::before{ content:''; width:7px; height:7px; border-radius:50%; background:rgba(60,200,100,.9); animation:sePulse 1.4s infinite; display:inline-block; }
.se-card__status--finished{ background:rgba(255,255,255,.06); color:rgba(170,180,197,.6); border:1px solid rgba(255,255,255,.08); }
@keyframes sePulse{ 0%,100%{ opacity:1; } 50%{ opacity:.3; } }
.se-card__title{ font-size:22px; font-weight:950; color:rgba(233,238,247,.97); margin:0; }
.se-card__date{ display:flex; align-items:center; gap:6px; font-size:13px; font-weight:700; color:rgba(196,135,71,.80); flex-shrink:0; white-space:nowrap; }

.se-card__body{ padding:0 24px 20px; display:flex; flex-direction:column; gap:16px; }
.se-card__desc{ font-size:14px; color:rgba(170,180,197,.80); line-height:1.65; }

.se-req{ display:flex; align-items:center; gap:10px; background:rgba(196,135,71,.07); border:1px solid rgba(196,135,71,.18); border-radius:12px; padding:12px 16px; }
.se-req__icon{ font-size:18px; flex-shrink:0; }
.se-req__text{ flex:1; font-size:13px; color:rgba(233,238,247,.82); line-height:1.5; }
.se-req__text strong{ color:rgba(255,210,120,.95); }
.se-req__more{ background:none; border:1px solid rgba(196,135,71,.35); border-radius:50%; width:26px; height:26px; cursor:pointer; color:rgba(196,135,71,.85); font-weight:900; font-size:13px; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:background .15s; }
.se-req__more:hover{ background:rgba(196,135,71,.15); }

.se-card__links{ display:flex; gap:10px; flex-wrap:wrap; }
.se-link{ display:inline-flex; align-items:center; gap:7px; padding:9px 18px; border-radius:12px; font-size:13px; font-weight:700; text-decoration:none; transition:filter .15s; }
.se-link--kick{ background:linear-gradient(135deg,#53fc18,#3db010); color:#0a1f00; }
.se-link--kick:hover{ filter:brightness(1.1); }
.se-link--discord{ background:linear-gradient(135deg,#5865f2,#4752c4); color:#fff; }
.se-link--discord:hover{ filter:brightness(1.1); }

.se-card__parts{ border-top:1px solid rgba(255,255,255,.06); padding:16px 24px 20px; }
.se-parts__head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.se-parts__title{ font-size:11px; font-weight:950; letter-spacing:1px; text-transform:uppercase; color:rgba(196,135,71,.70); }
.se-parts__count{ font-size:12px; color:rgba(170,180,197,.50); }
.se-parts__list{ display:flex; flex-wrap:wrap; gap:8px; }
.se-part{ display:flex; align-items:center; gap:8px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07); border-radius:10px; padding:7px 12px; }
.se-part__avatar{ width:30px; height:30px; border-radius:50%; object-fit:cover; border:1.5px solid rgba(196,135,71,.35); flex-shrink:0; }
.se-part__name{ font-size:13px; font-weight:700; color:rgba(233,238,247,.85); }
.se-part__wager{ font-size:10px; color:rgba(170,180,197,.50); }
.se-parts__empty{ font-size:13px; color:rgba(170,180,197,.45); font-style:italic; }

/* Requirements modal */
.se-modal{ position:fixed; inset:0; z-index:9000; display:flex; align-items:center; justify-content:center; padding:20px; }
.se-modal[hidden]{ display:none; }
.se-modal__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.75); backdrop-filter:blur(4px); cursor:pointer; }
.se-modal__box{ position:relative; background:linear-gradient(145deg,rgba(18,14,8,.98),rgba(10,8,4,.99)); border:1px solid rgba(196,135,71,.25); border-radius:22px; width:100%; max-width:500px; padding:28px 28px 24px; box-shadow:0 32px 80px rgba(0,0,0,.7); }
.se-modal__title{ font-size:18px; font-weight:950; color:rgba(255,210,120,.95); margin:0 0 14px; }
.se-modal__body{ font-size:14px; color:rgba(170,180,197,.85); line-height:1.7; white-space:pre-wrap; }
.se-modal__close{ position:absolute; top:16px; right:16px; width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10); color:rgba(233,238,247,.7); font-size:18px; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.se-modal__close:hover{ background:rgba(255,80,80,.15); color:rgba(255,190,190,.9); }

@media(max-width:767px){
  .se-page{ padding:0 5px 40px; }
  .se-hero__title{ font-size:36px; }
  .se-card__head{ gap:10px; }
  .se-card__title{ font-size:18px; }
  .se-card__body,.se-card__parts{ padding-left:16px; padding-right:16px; }
  .se-card__date{ font-size:12px; }
}
