/* ===== FONT ===== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap');

*{
  box-sizing:border-box;
  font-family:Inter,system-ui,sans-serif
}

body{
  margin:0;
  background:#071a12;
  color:#eafff6;
}

/* ===== APP ===== */
.app{
  max-width:420px;
  margin:auto;
  padding:14px
}

.glass{
  background:rgba(20,40,35,.9);
  border-radius:22px;
  padding:16px;
  margin-bottom:16px;
  box-shadow:0 0 0 1px var(--glow)
}

/* ===== HERO ===== */
.hero h1{
  text-align:center;
  color:var(--accent)
}

.hero p{
  text-align:center;
  opacity:.8
}

.hero-actions{
  display:flex;
  gap:10px;
  justify-content:center;
  margin-top:10px
}

/* ===== BUTTONS ===== */
button{
  border:none;
  border-radius:14px;
  padding:10px 14px;
  background:#1c332e;
  color:white;
  cursor:pointer;
  transition:.2s
}

button:active{
  transform:scale(.97)
}

.primary{
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  color:#001;
  font-weight:700
}

/* ===== FILTERS ===== */
.filters{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px
}

.tab.active{
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  color:#000
}

/* ===== GRID ===== */
.grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px
}

/* ===== EMOTE CARD ===== */
.emote-card{
  position:relative;
  background:#24333f;
  border-radius:18px;
  padding:16px;
  text-align:center;
  border:2px solid transparent;
  transition:.35s;
}

.emote-card:hover{
  transform:translateY(-6px) scale(1.02);
  border-color:#ff8a3d;
  box-shadow:0 0 35px rgba(255,138,61,.45);
}

.emote-card img{
  width:90px;
  margin-top:20px;
  transition:.35s
}

.emote-card:hover img{
  transform:scale(1.08)
}

/* ===== CARD TOP ===== */
.card-top{
  position:absolute;
  top:10px;
  left:10px;
  right:10px;
  display:flex;
  justify-content:space-between
}

.index{
  background:#6c7cff;
  padding:6px 10px;
  border-radius:8px;
  font-size:13px;
  font-weight:600
}

/* 🔥 EVO BADGE (SAFE & COMPATIBLE) */
.evo-badge{
  background:linear-gradient(135deg,#ff9800,#ff5722);
  padding:6px 12px;
  border-radius:12px;
  font-size:12px;
  font-weight:800;
  color:#000;
  box-shadow:0 0 14px rgba(255,138,61,.7);
}

/* ===== PLAY BUTTON ===== */
.play-btn{
  margin-top:12px;
  width:100%;
  background:#7c6cff;
  padding:12px;
  border-radius:14px;
  color:white;
  font-size:16px;
  font-weight:700
}

.play-btn:disabled{
  opacity:.7
}

/* ===== INPUT ===== */
input{
  width:100%;
  padding:14px;
  border-radius:14px;
  border:2px solid transparent;
  background:#1c332e;
  color:white;
  font-size:14px;
  outline:none;
  transition:.25s
}

input.error{
  border-color:#ff4d4d;
  box-shadow:0 0 12px rgba(255,77,77,.45)
}

/* ===== CONSOLE ===== */
.console{
  min-height:160px;
  max-height:220px;
  overflow:auto
}

.console-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:10px
}

.log-ok{
  border-left:4px solid var(--accent);
  padding-left:8px;
  margin-bottom:6px;
  font-size:13px
}

/* ===== FOOTER ===== */
.footer{
  text-align:center;
  font-size:13px
}

/* ===== THEME PANEL ===== */
.theme-panel{
  position:fixed;
  bottom:20px;
  left:50%;
  transform:translateX(-50%);
  width:280px;
  z-index:1001
}

.hidden{display:none}

.theme-head{
  display:flex;
  justify-content:space-between;
  margin-bottom:10px
}

.close-btn{
  background:none;
  border:none;
  color:white;
  font-size:20px;
  cursor:pointer
}

.themes{
  display:flex;
  gap:10px;
  justify-content:center
}

.theme{
  width:40px;
  height:40px;
  border-radius:50%;
  cursor:pointer
}

.green{background:#00ffb3}
.blue{background:#4fc3f7}
.purple{background:#b388ff}
.orange{background:#ff9800}

/* ===== TEAM MODAL ===== */
.modal{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.55);
  backdrop-filter:blur(6px);
  z-index:1000
}

.modal-box{
  position:relative;
  width:90%;
  max-width:340px;
  padding:26px 20px 26px;
  border-radius:24px;
  box-shadow:0 0 45px rgba(0,0,0,.6);
  animation:pop .35s ease
}

@keyframes pop{
  from{transform:scale(.9);opacity:0}
  to{transform:scale(1);opacity:1}
}

.modal-close{
  position:absolute;
  top:14px;
  right:14px;
  background:rgba(255,255,255,.08);
  width:34px;
  height:34px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  cursor:pointer
}

.modal-close:hover{
  background:rgba(255,255,255,.18)
}

.modal-box h3{
  margin:0 0 18px;
  text-align:center;
  color:var(--accent)
}

/* ===== TEAM MODAL ===== */
.modal-box label{
  display:block;
  margin:12px 0 6px;
  font-size:13px;
  font-weight:600;
  opacity:.9
}

.modal-box label small{
  font-size:12px;
  font-weight:400;
  opacity:.6
}

.modal-box input{
  margin-bottom:10px
}

.error-text{
  background:rgba(255,77,77,.14);
  border-left:4px solid #ff4d4d;
  padding:10px 12px;
  border-radius:12px;
  font-size:13px;
  margin:12px 0;
  color:#ffdada
}

.modal-box .primary{
  width:100%;
  padding:15px;
  font-size:16px;
  border-radius:18px;
  margin-top:6px
}

/* ===== PLAY WRAP ===== */
.play-wrap{
  position:relative;
  width:100%;
  height:56px;
  margin-top:12px;
}

/* Button above ring */
.play-wrap .play-btn{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
}

/* ===== CIRCULAR COUNTDOWN RING ===== */
.ring{
  position:absolute;
  inset:0;
  transform:rotate(-90deg);
  z-index:1;
}

.ring circle{
  fill:none;
  stroke:var(--accent);
  stroke-width:6;
  stroke-linecap:round;
  stroke-dasharray:283;
  stroke-dashoffset:283;
  transition:stroke-dashoffset 1s linear;
}

/* ===== PLAYING STATE ===== */
.play-btn.playing{
  background:linear-gradient(135deg,#ff9800,#ff5722);
  color:#000;
  cursor:default;
}

/* Active playing card */
.emote-card.active-playing{
  border-color:var(--accent);
  box-shadow:0 0 40px var(--glow);
  transform:scale(1.03);
  z-index:2;
}

/* Disable other buttons */
.play-btn:disabled{
  opacity:.35;
  cursor:not-allowed;
}

/* ===== TITLE COLORS ===== */
.white-text {
  color: #ffffff;
}

/* SHEIKH color theme ke sath change */
.theme-green .brand { color: #3cff9a; }
.theme-blue .brand { color: #4da6ff; }
.theme-purple .brand { color: #a78bfa; }
.theme-orange .brand { color: #ff9f43; }

.sub-title {
  font-size: 22px;      /* size thora bara */
  font-weight: 600;
  letter-spacing: 1px;
  margin-top: 0px;      /* upar move */
  margin-bottom: 6px;
  color: #ffffff;
}

.hero-desc {
  font-size: 14px;
  opacity: 0.85;
  margin-top: 4px;
  color: #ffffff;
}

/* ===== HERO TOP THIN LINE ===== */
.hero {
  position: relative;
  overflow: hidden;
}

.hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: currentColor;
}

/* theme based line color */
.theme-green .hero { color: #3cff9a; }
.theme-blue .hero { color: #4da6ff; }
.theme-purple .hero { color: #a78bfa; }
.theme-orange .hero { color: #ff9f43; }

/* ===== THEMES ===== */
.theme-green{--accent:#00ffb3;--accent2:#00c781;--glow:#00ffb344}
.theme-blue{--accent:#4fc3f7;--accent2:#0288d1;--glow:#4fc3f744}
.theme-purple{--accent:#b388ff;--accent2:#7c4dff;--glow:#b388ff44}
.theme-orange{--accent:#ff9800;--accent2:#ff5722;--glow:#ff980044}