/* timer pill patch */
.count-timer{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:6px 10px;
  border:1px solid rgba(255,255,255,0.14);
  border-radius:999px;
  background:rgba(0,0,0,0.18);
  font-size:12px;
  letter-spacing:.3px;
  color:rgba(255,255,255,0.92);
  white-space:nowrap;
}
.count-row .count-timer{
  border-color:rgba(77,178,255,0.40);
  box-shadow:0 0 0 3px rgba(77,178,255,0.10);
}
.count-row.active{
  border-color:rgba(60,220,140,0.45);
  box-shadow:0 0 0 3px rgba(60,220,140,0.12);
}
.count-row.active .count-timer{
  border-color:rgba(60,220,140,0.45);
  box-shadow:0 0 0 3px rgba(60,220,140,0.12);
}
#buffTimer{
  border-color:rgba(77,178,255,0.40);
  box-shadow:0 0 0 3px rgba(77,178,255,0.10);
}

/* TZ pill (legacy) - no longer used (moved into header) */
.tz-pill{display:none;}

/* Menu anchored under pill */
.tz-menu{
  position:fixed;
  z-index:9999;
  min-width:220px;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:14px;
  background:rgba(0,0,0,0.22);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  overflow:hidden;
  box-shadow:0 18px 60px rgba(0,0,0,.55);
}
.tz-item{
  padding:10px 12px;
  font-size:12px;
  color:rgba(255,255,255,0.92);
  border-top:1px solid rgba(255,255,255,0.08);
}
.tz-item:first-child{ border-top:none; }
.tz-item:hover{
  background:rgba(255,255,255,0.06);
  cursor:pointer;
}

/* --- Alliance schedule: stacked slot rows --- */
.times.times--rows{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:stretch;
}
.slot-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.slot-status{
  margin-left:auto;
  flex:0 0 auto;
}

/* --- Time pill slot colors (slot-2 purple, slot-3 yellow) --- */
/* Applies ONLY to left time pills (those get slot-*). Status/cooldown pills keep ACTIVE=green logic. */

.time.slot-2{
  border-color: rgba(176,124,255,.38);
  box-shadow:
    0 0 0 1px rgba(176,124,255,.16) inset,
    0 0 0 6px rgba(176,124,255,.06);
}
.time.slot-2 .mini-dot{
  background: rgba(176,124,255,.95);
  box-shadow: 0 0 0 6px rgba(176,124,255,.06);
}

.time.slot-3{
  border-color: rgba(255,176,32,.50);
  box-shadow:
    0 0 0 1px rgba(255,176,32,.16) inset,
    0 0 0 6px rgba(255,176,32,.07);
}
.time.slot-3 .mini-dot{
  background: rgba(255,176,32,.95);
  box-shadow: 0 0 0 6px rgba(255,176,32,.07);
}

/* --- Alliance schedule: stacked slot rows (mobile wide pill + right outlined countdown) --- */

/* rows container (your app.js uses: class="times times--rows") */
.times--rows{
  display:flex;
  flex-direction:column;
  gap:10px;
}

/* base row */
.slot-row{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
}

/* MOBILE: time pill becomes screen-wide; status becomes a small outlined chip on the right */
@media (max-width: 859px){
  .slot-row{ align-items:stretch; }

  .slot-row .time{
    flex:1 1 auto;
    width:100%;
    justify-content:flex-start;
    padding-right: 132px; /* reserve space so text never runs under the countdown chip */
  }

  .slot-row .slot-status{
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    max-width: 122px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;

    /* outlined chip look (still allows ACTIVE inline styles to override) */
    background: rgba(255,255,255,.02);
    border-width: 1px;
  }
}

/* DESKTOP: stacked rows, countdown right, outlined */
@media (min-width: 860px){
  .slot-row{
    display:grid;
    grid-template-columns: 1fr auto;
    align-items:center;
    column-gap: 12px;
  }

  .slot-row .time{
    width:100%;
    justify-content:flex-start;
  }

  .slot-row .slot-status{
    justify-self:end;
    background: rgba(255,255,255,.02);  /* outlined / glass */
    border-width: 1px;
  }
}


/* --- FORCE: Alliance schedule rows (override older .times.times--rows) --- */
.times.times--rows,
.times--rows{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}

.slot-row{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
}

/* MOBILE: wide left pill + right outlined chip */
@media (max-width: 859px){
  .slot-row{ align-items:stretch; }

  .slot-row .time{
    flex:1 1 auto;
    width:100%;
    justify-content:flex-start;
    padding-right: 132px; /* reserve space for countdown chip */
  }

  .slot-row .slot-status{
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    max-width: 122px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;

    background: rgba(255,255,255,.02);
    border-width: 1px;
  }
}

/* DESKTOP: stacked rows, countdown right */
@media (min-width: 860px){
  .slot-row{
    display:grid;
    grid-template-columns: 1fr auto;
    align-items:center;
    column-gap:12px;
  }

  .slot-row .time{
    width:100%;
    justify-content:flex-start;
  }

  .slot-row .slot-status{
    justify-self:end;
    background: rgba(255,255,255,.02);
    border-width: 1px;
  }
}

/* --- FORCE MOBILE NO-OVERLAP: slot-status participates in flow --- */
@media (max-width: 859px){

  /* Keep row as a normal flex row */
  .slot-row{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
  }

  /* Time pill takes remaining width; remove reserved padding */
  .slot-row .time{
    flex:1 1 auto !important;
    width:auto !important;
    padding-right: 0 !important;
    min-width: 0 !important;
    justify-content:flex-start !important;
  }

  /* Status chip becomes normal flow item on the right (no overlap) */
  .slot-row .slot-status{
    position:static !important;
    right:auto !important;
    top:auto !important;
    transform:none !important;

    flex:0 0 auto !important;
    max-width: 160px !important;

    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
}

/* --- FORCE MOBILE: single pill row + timer as plain text (no separate pill) --- */
@media (max-width: 859px){

  /* The ROW becomes the single full-width pill */
  .times.times--rows .slot-row,
  .times--rows .slot-row{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;

    width:100% !important;
    padding:10px 14px !important;

    border-radius:999px !important;
    border:1px solid rgba(77,178,255,.28) !important;
    background: rgba(255,255,255,.03) !important;
    box-shadow:
      0 0 0 1px rgba(77,178,255,.10) inset,
      0 0 0 6px rgba(77,178,255,.05) !important;
  }

  /* LEFT time pill becomes content only (no own pill visuals) */
  .slot-row .time{
    flex:1 1 auto !important;
    width:auto !important;
    min-width:0 !important;

    padding:0 !important;
    border:none !important;
    background:transparent !important;
    box-shadow:none !important;

    justify-content:flex-start !important;
  }

  /* RIGHT timer becomes plain text on the right (no pill visuals) */
  .slot-row .slot-status{
    flex:0 0 auto !important;

    padding:0 !important;
    border:none !important;
    background:transparent !important;
    box-shadow:none !important;

    max-width: 170px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;

    justify-self:end !important;
  }

  /* Remove the dot inside the timer so it looks like text, not a pill */
  .slot-row .slot-status .mini-dot{ display:none !important; }
}

/* --- FIX: mobile slot colors + mini-dot square artifact --- */
@media (max-width: 859px){

  /* Ensure the dot is always perfectly round (prevents tiny square artifacts) */
  .slot-row .time .mini-dot{
    border-radius: 999px !important;
    background-clip: padding-box !important;
  }

  /* Also ensure any wrapper spans don’t paint a background box */
  .slot-row .time span{
    background: transparent !important;
  }

  /* Re-apply slot accent colors on MOBILE (your later mobile rules forced blue back) */
  .slot-row .time.slot-2{
    border-color: rgba(176,124,255,.58) !important;
    box-shadow:
      0 0 0 1px rgba(176,124,255,.18) inset,
      0 0 0 6px rgba(176,124,255,.08) !important;
  }
  .slot-row .time.slot-2 .mini-dot{
    background: rgba(176,124,255,.95) !important;
    box-shadow: 0 0 0 6px rgba(176,124,255,.08) !important;
  }

  .slot-row .time.slot-3{
    border-color: rgba(255,176,32,.62) !important;
    box-shadow:
      0 0 0 1px rgba(255,176,32,.18) inset,
      0 0 0 6px rgba(255,176,32,.09) !important;
  }
  .slot-row .time.slot-3 .mini-dot{
    background: rgba(255,176,32,.95) !important;
    box-shadow: 0 0 0 6px rgba(255,176,32,.09) !important;
  }
}

/* ============================================================
   FIX: Slot colors back + remove tiny inner squares (mobile)
   Goal: match the "second image" look (clean long pill, colored border)
   ============================================================ */

/* Make sure the long pill is the colored element (slot-1/2/3) */
.time.slot-1,
.time.slot-2,
.time.slot-3{
  background: rgba(255,255,255,.03) !important;
}

/* Force slot-2 (purple) */
.time.slot-2{
  border-color: rgba(176,124,255,.58) !important;
  box-shadow:
    0 0 0 1px rgba(176,124,255,.18) inset,
    0 0 0 6px rgba(176,124,255,.08) !important;
}
.time.slot-2 .mini-dot{
  background: rgba(176,124,255,.95) !important;
  box-shadow: 0 0 0 6px rgba(176,124,255,.08) !important;
}

/* Force slot-3 (yellow) */
.time.slot-3{
  border-color: rgba(255,176,32,.62) !important;
  box-shadow:
    0 0 0 1px rgba(255,176,32,.18) inset,
    0 0 0 6px rgba(255,176,32,.09) !important;
}
.time.slot-3 .mini-dot{
  background: rgba(255,176,32,.95) !important;
  box-shadow: 0 0 0 6px rgba(255,176,32,.09) !important;
}

/* Remove the "tiny colored squares": ensure inner wrappers never paint a box */
.time.slot-1 *,
.time.slot-2 *,
.time.slot-3 *{
  background: transparent !important;
}

/* But keep text readable */
.time.slot-1,
.time.slot-2,
.time.slot-3{
  color: inherit !important;
}

/* If your status text is inside the same long pill, keep it aligned right */
.time{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
}

/* Left cluster (dot + time) should be a clean inline row */
.time .slot-left{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  min-width:0 !important;
}

/* Make sure any inner span doesn’t render as a blocky badge */
.time span{
  border-radius: 0 !important;
}

/* Mobile: ensure long pill looks exactly like the desktop “clean bar” */
@media (max-width: 859px){
  .time{
    width:100% !important;
  }
}

/* === STATE-1729 SLOT PILL SYSTEM (single source of truth) ===
   Removes duplicate overrides and restores consistent alignment:
   - time left, status right
   - dots vertically aligned
   - slot 1/2/3 tint + ACTIVE green
   - no double-ring chaos
*/

html body .times.times--rows,
html body .times--rows{
  display:flex !important;
  flex-direction:column !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
}

html body .times--rows .slot-row{
  margin: 0 !important;
  padding: 0 !important;
  display:block !important;
}

html body .times--rows .slot-pill{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap: 12px !important;

  padding: 8px 10px !important;
  border-radius: 999px !important;

  background: rgba(255,255,255,.03) !important;
  border: 1px solid rgba(255,255,255,.12) !important;

  /* depth only (not a ring) */
  box-shadow: 0 10px 28px rgba(0,0,0,.35) !important;

  outline: none !important;
  filter: none !important;
}

html body .times--rows .slot-pill::before,
html body .times--rows .slot-pill::after{
  content: none !important;
  display: none !important;
}

html body .times--rows .slot-pill .slot-left,
html body .times--rows .slot-pill .slot-right{
  display:flex !important;
  align-items:center !important;
  gap: 10px !important;
  min-width: 0 !important;
}

html body .times--rows .slot-pill .slot-left{
  flex: 1 1 auto !important;
  max-width: 55% !important;
}

html body .times--rows .slot-pill .slot-right{
  flex: 0 0 auto !important;
  max-width: 45% !important;
  justify-content: flex-end !important;
}

html body .times--rows .slot-pill .slot-time-text,
html body .times--rows .slot-pill .slot-status-text{
  font-size: 13px !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

html body .times--rows .slot-pill .mini-dot{
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px !important;
  flex: 0 0 auto !important;
  box-shadow: none !important;
  background: rgba(77,178,255,.95) !important; /* default */
}

/* Slot tints (border + soft blur glow + dot) */
html body .times--rows .slot-pill.slot-1{
  border-color: rgba(77,178,255,.45) !important;
  box-shadow:
    0 10px 28px rgba(0,0,0,.35),
    0 0 16px rgba(77,178,255,.22) !important;
}
html body .times--rows .slot-pill.slot-1 .mini-dot{
  background: rgba(77,178,255,.95) !important;
}

html body .times--rows .slot-pill.slot-2{
  border-color: rgba(176,124,255,.52) !important;
  box-shadow:
    0 10px 28px rgba(0,0,0,.35),
    0 0 16px rgba(176,124,255,.24) !important;
}
html body .times--rows .slot-pill.slot-2 .mini-dot{
  background: rgba(176,124,255,.95) !important;
}

html body .times--rows .slot-pill.slot-3{
  border-color: rgba(255,176,32,.55) !important;
  box-shadow:
    0 10px 28px rgba(0,0,0,.35),
    0 0 16px rgba(255,176,32,.26) !important;
}
html body .times--rows .slot-pill.slot-3 .mini-dot{
  background: rgba(255,176,32,.95) !important;
}

/* ACTIVE overrides everything */
html body .times--rows .slot-pill.is-active{
  border-color: rgba(90,255,190,.55) !important;
  background: rgba(90,255,190,.05) !important;
  box-shadow:
    0 10px 28px rgba(0,0,0,.35),
    0 0 18px rgba(90,255,190,.22) !important;
}
html body .times--rows .slot-pill.is-active .mini-dot{
  background: rgba(90,255,190,.95) !important;
}

/* UNKNOWN subtle */
html body .times--rows .slot-pill.is-unknown{
  opacity: .88 !important;
}

/* Mobile compact */
@media (max-width: 520px){
  html body .times.times--rows,
  html body .times--rows{
    gap: 6px !important;
  }
  html body .times--rows .slot-pill{
    padding: 6px 9px !important;
  }
  html body .times--rows .slot-pill .slot-time-text,
  html body .times--rows .slot-pill .slot-status-text{
    font-size: 12.5px !important;
  }
}

