/* Shared event countdown and attendee celebration visuals. */
.con-admin-profile-header__welcome-stack{
  display:grid;
  align-content:start;
  gap:1px;
  min-width:0;
  flex:1 1 auto;
}

.con-admin-event-countdown{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:0 6px;
  width:fit-content;
  max-width:100%;
  min-height:0;
  box-sizing:border-box;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#fff;
}
.con-admin-event-countdown__copy{
  display:inline-flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:0 5px;
  min-width:0;
}
.con-admin-event-countdown__copy strong{
  color:rgba(255,255,255,.92);
  font-size:12px;
  font-weight:600;
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.con-admin-event-countdown__copy span,
.con-admin-event-countdown__value{
  color:rgba(255,255,255,.66);
  font-size:11px;
  font-weight:400;
  line-height:1.25;
  white-space:nowrap;
}
.con-admin-event-countdown__value{
  display:inline-flex;
  align-items:baseline;
  min-width:0;
  margin:0;
  padding:0;
  border:0;
  font-variant-numeric:tabular-nums;
}
.con-admin-event-countdown__value:empty{display:none;}
.con-admin-event-countdown__value::before{
  content:"·";
  margin-right:6px;
  color:rgba(255,255,255,.42);
}

body.con-admin-event-celebration-open{overflow:hidden;}
.con-admin-event-celebration{
  position:fixed;
  inset:0;
  z-index:var(--con-admin-layer-modal);
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  padding:18px;
  opacity:0;
  transition:opacity .18s ease;
}
.con-admin-event-celebration.is-visible{opacity:1;}
.con-admin-event-celebration.is-closing{opacity:0;}
.con-admin-event-celebration__backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:rgba(0,28,63,.72);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  appearance:none;
  -webkit-appearance:none;
}
.con-admin-event-celebration__panel{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  width:min(100%,460px);
  max-height:min(92vh,680px);
  overflow:hidden;
  border:1px solid rgba(0,28,63,.18);
  border-radius:4px;
  background:#fff;
  color:#0f172a;
  box-shadow:0 22px 60px rgba(0,28,63,.26);
  transform:translateY(8px);
  transition:transform .18s ease;
}
.con-admin-event-celebration.is-visible .con-admin-event-celebration__panel{transform:translateY(0);}
.con-admin-event-celebration__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid rgba(0,28,63,.12);
  background:linear-gradient(180deg,#fff,#f8fafc);
}
.con-admin-event-celebration__heading{
  display:grid;
  gap:3px;
  min-width:0;
}
.con-admin-event-celebration__heading strong{
  color:#001c3f;
  font-size:1rem;
  font-weight:600;
  line-height:1.2;
}
.con-admin-event-celebration__heading span{
  color:#5f6f85;
  font-size:.84rem;
  line-height:1.35;
}
.con-admin-event-celebration__body{
  display:grid;
  gap:14px;
  min-height:0;
  padding:16px;
  overflow:auto;
}
.con-admin-event-celebration__badge-number{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border:1px solid rgba(0,28,63,.13);
  border-radius:4px;
  background:#f8fafc;
}
.con-admin-event-celebration__badge-number span{
  color:#5f6f85;
  font-size:.78rem;
  font-weight:600;
  line-height:1.2;
}
.con-admin-event-celebration__badge-number strong{
  color:#001c3f;
  font-size:1rem;
  font-weight:600;
  line-height:1.2;
  font-variant-numeric:tabular-nums;
}
.con-admin-event-celebration__rewards{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  width:100%;
}
.con-admin-event-celebration__reward{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 9px;
  border:1px solid #d7e3ef;
  border-radius:4px;
  background:#fff;
  color:#334155;
  font-size:12px;
  line-height:1.2;
}
.con-admin-event-celebration__reward > span{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#196cae;
}
.con-admin-event-celebration__reward.is-xp > span{background:#7c3aed;}
.con-admin-event-celebration__reward.is-coins > span{background:#d97706;}
.con-admin-event-celebration__reward.is-item > span{background:#0f766e;}
.con-admin-event-celebration__reward.is-discord > span{background:#5865f2;}
.con-admin-event-celebration__actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
}
.con-admin-event-celebration__continue{min-width:120px;}

.con-admin-event-particle-burst{
  position:absolute;
  top:50%;
  left:50%;
  z-index:2;
  width:1px;
  height:1px;
  pointer-events:none;
}
.con-admin-event-particle-burst > span{
  position:absolute;
  top:0;
  left:0;
  width:7px;
  height:3px;
  border-radius:2px;
  background:var(--particle-color,#60a5fa);
  opacity:0;
  transform:translate(-50%,-50%) scale(.5) rotate(0deg);
  animation:con-admin-event-particle-burst .92s cubic-bezier(.18,.72,.25,1) var(--particle-delay,0ms) forwards;
}
.con-admin-event-celebration .con-admin-event-particle-burst > span,
.con-admin-toast--checkin-celebration .con-admin-event-particle-burst > span{animation-play-state:paused;}
.con-admin-event-celebration.is-visible .con-admin-event-particle-burst > span,
.con-admin-toast--checkin-celebration.is-visible .con-admin-event-particle-burst > span{animation-play-state:running;}
.con-admin-event-particle-burst--checkin{
  top:50%;
  left:52px;
  z-index:0;
}
.con-admin-event-particle-burst--checkin > span{
  width:6px;
  height:3px;
  animation-duration:.78s;
}

.con-admin-toast--checkin-celebration{
  min-height:82px;
  border-color:rgba(147,197,253,.32);
  background:linear-gradient(120deg,rgba(0,28,63,.96),rgba(18,57,96,.94));
  box-shadow:0 16px 38px rgba(2,6,23,.34),inset 3px 0 0 rgba(74,222,128,.86);
  animation:con-admin-checkin-celebration-in .35s cubic-bezier(.2,.8,.2,1) both;
}
.con-admin-toast--checkin-celebration::before{
  content:"";
  position:absolute;
  inset:-80% -30%;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);
  transform:translateX(-55%) rotate(10deg);
  animation:con-admin-checkin-shimmer 2.4s ease-out 1;
}
.con-admin-toast--checkin-celebration > *{z-index:1;}
.con-admin-toast--checkin-celebration .con-admin-toast__title{font-size:15px;line-height:1.25;}
.con-admin-toast--checkin-celebration .con-admin-toast__message{color:rgba(255,255,255,.82);}
.con-admin-toast--checkin-celebration .con-admin-toast__media{
  width:48px;
  height:48px;
  min-width:48px;
  min-height:48px;
}
.con-admin-checkin-celebration__mark{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:50%;
  background:rgba(255,255,255,.1);
  color:#fff;
}
.con-admin-checkin-celebration__mark > span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#22c55e;
  color:#fff;
  font-size:14px;
  font-weight:600;
  animation:con-admin-checkin-mark .42s cubic-bezier(.2,.8,.2,1) both;
}
.con-admin-checkin-celebration__event{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  margin:0 0 7px;
  padding:4px 7px;
  border:1px solid rgba(191,219,254,.28);
  border-radius:4px;
  background:rgba(255,255,255,.08);
  color:#dbeafe;
  font-size:11px;
  font-weight:600;
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@keyframes con-admin-checkin-celebration-in{0%{opacity:0;transform:translateY(-10px) scale(.98)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes con-admin-checkin-shimmer{0%{transform:translateX(-60%) rotate(10deg)}100%{transform:translateX(60%) rotate(10deg)}}
@keyframes con-admin-checkin-mark{0%{opacity:0;transform:scale(.55)}75%{opacity:1;transform:scale(1.12)}100%{opacity:1;transform:scale(1)}}
@keyframes con-admin-event-particle-burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.5) rotate(0deg)}16%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--particle-x,0px)),calc(-50% + var(--particle-y,0px))) scale(1) rotate(var(--particle-rotation,120deg))}}

@media (max-width:767px){
  .con-admin-profile-header__welcome-stack{width:100%;}
}
@media (max-width:520px){
  .con-admin-event-countdown__copy span,
  .con-admin-event-countdown__value{white-space:normal;}
  .con-admin-event-celebration{
    align-items:stretch;
    padding:10px;
  }
  .con-admin-event-celebration__panel{
    width:100%;
    max-height:calc(100dvh - 20px);
  }
  .con-admin-event-celebration__head{padding:12px;}
  .con-admin-event-celebration__body{padding:12px;}
  .con-admin-event-celebration__actions{justify-content:stretch;}
  .con-admin-event-celebration__actions .con-admin-plugin-button{width:100%;}
}
@media (prefers-reduced-motion:reduce){
  .con-admin-event-celebration,
  .con-admin-event-celebration__panel{transition:none;}
  .con-admin-toast--checkin-celebration,
  .con-admin-toast--checkin-celebration::before,
  .con-admin-checkin-celebration__mark > span{animation:none;}
  .con-admin-event-particle-burst > span{display:none;animation:none;}
}
@media print{
  .con-admin-event-countdown,
  .con-admin-event-celebration{display:none;}
}
