/* FlashBox v2.3.1 Stable - style.css */
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:Arial,Helvetica,sans-serif;
}

:root{
  --panel:rgba(13,18,38,.84);
  --line:rgba(255,255,255,.12);
  --text:#f8fbff;
  --muted:#d7e0ef;
  --accent:#ffb300;
  --accent2:#ff7a18;
  --danger:#ef4444;
}

html, body{
  width:100%;
  height:100%;
}

body{
  color:var(--text);
  overflow:hidden;
  user-select:none;
  background:
    linear-gradient(180deg, rgba(13,18,38,.12), rgba(13,18,38,.58)),
    url("assets/images/background.png");
  background-size:cover;
  background-position:center bottom;
  background-repeat:no-repeat;
}

#app{
  width:100%;
  height:100%;
}

.screen{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}

.screen.hidden{
  display:none !important;
}

.panel{
  width:min(94vw, 560px);
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:28px;
  backdrop-filter: blur(14px);
  box-shadow:0 24px 50px rgba(0,0,0,.36);
}

.home-panel{
  padding:22px;
}

.brand{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:16px;
}

.brand-icon{
  width:84px;
  height:84px;
  border-radius:20px;
  object-fit:cover;
  border:2px solid rgba(255,255,255,.18);
  box-shadow:0 0 24px rgba(255,183,0,.28);
}

.brand-text h1{
  font-size:40px;
  line-height:1;
}

.brand-text p{
  margin-top:6px;
  color:var(--muted);
  font-size:14px;
}

.home-desc{
  line-height:1.65;
  color:#eef3fb;
  margin-bottom:18px;
}

.home-actions{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}

.btn,
.icon-btn{
  border:none;
  cursor:pointer;
  transition:transform .16s ease, filter .16s ease, opacity .16s ease;
}

.btn{
  min-height:50px;
  padding:0 16px;
  border-radius:16px;
  font-size:16px;
  font-weight:700;
  color:#fff;
}

.btn:hover,
.icon-btn:hover{
  transform:translateY(-2px);
  filter:brightness(1.05);
}

.btn:active,
.icon-btn:active{
  transform:translateY(0) scale(.98);
}

.primary{
  background:linear-gradient(135deg, var(--accent2), var(--accent));
  box-shadow:0 12px 24px rgba(255,122,24,.28);
}

.secondary{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
}

.ghost{
  background:transparent;
  border:1px solid rgba(255,255,255,.16);
}

.home-note{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.72);
  font-size:12px;
  text-align:center;
}

.hud{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:10;
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px;
  pointer-events:none;
  flex-wrap:wrap;
}

.hud-card{
  pointer-events:auto;
  min-width:74px;
  background:rgba(7,11,25,.78);
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  padding:10px 12px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  backdrop-filter:blur(12px);
  box-shadow:0 10px 20px rgba(0,0,0,.18);
}

.hud-card span{
  font-size:22px;
  line-height:1;
}

.hud-card b{
  font-size:22px;
}

.hud-spacer{
  flex:1 1 auto;
}

.icon-btn{
  pointer-events:auto;
  width:48px;
  height:48px;
  border-radius:14px;
  font-size:22px;
  color:#fff;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
}

#arena{
  position:relative;
  width:100vw;
  height:100vh;
  padding-top:88px;
  padding-bottom:88px;
  overflow:hidden;
}

.box{
  position:absolute;
  left:0;
  top:0;
  width:88px;
  height:88px;
  border-radius:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-weight:900;
  font-size:28px;
  cursor:pointer;
  transform:translateZ(0) scale(.92);
  animation:pop .16s ease-out;
  transition:left .14s linear, top .14s linear, transform .12s ease, opacity .15s ease;
  box-shadow:0 12px 30px rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.16);
}

.box.hidden{
  display:none !important;
}

.box.red{
  background:linear-gradient(135deg, #ff6a6a, #d91841);
  box-shadow:0 0 22px rgba(255,78,92,.55);
}

.box.green{
  background:linear-gradient(135deg, #3ef28a, #0ca85e);
  box-shadow:0 0 22px rgba(31,212,124,.45);
}

.box.black{
  background:linear-gradient(135deg, #262b37, #0f121a);
  box-shadow:0 0 18px rgba(0,0,0,.55);
}

.box.heart{
  background:linear-gradient(135deg, #ff7aa8, #ff355d);
  box-shadow:0 0 22px rgba(255,85,126,.42);
}

.box.slow{
  background:linear-gradient(135deg, #7fd4ff, #238fff);
  box-shadow:0 0 22px rgba(49,160,255,.42);
}

#popup{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) scale(.95);
  opacity:0;
  pointer-events:none;
  color:#fff;
  font-weight:900;
  font-size:34px;
  text-shadow:0 0 16px rgba(255,255,255,.55);
  transition:opacity .18s ease, transform .18s ease;
}

.overlay{
  background:rgba(4,8,18,.72);
  backdrop-filter:blur(10px);
  z-index:40;
}

.modal{
  padding:22px;
  text-align:center;
}

.modal h2{
  font-size:34px;
  margin-bottom:10px;
}

.modal p{
  margin-top:10px;
  font-size:16px;
  line-height:1.6;
  color:#edf2ff;
}

.about-list{
  margin-top:16px;
  display:grid;
  gap:8px;
  color:#fff;
}

.about-list div{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  padding:10px 12px;
}

.modal-actions{
  display:flex;
  gap:12px;
  margin-top:18px;
}

.modal-actions .btn{
  flex:1;
}

.countdownOverlay{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:rgba(4,8,18,.42);
  backdrop-filter: blur(2px);
  z-index:15;
}

.countdownOverlay.hidden{
  display:none !important;
}

#countdownText{
  font-size:92px;
  font-weight:900;
  color:#fff;
  text-shadow:0 0 18px rgba(255,255,255,.5);
  line-height:1;
}

#countdownLabel{
  margin-top:6px;
  font-size:22px;
  font-weight:800;
  letter-spacing:1px;
  color:#fff;
  opacity:.95;
}

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

@media (max-width:720px){
  .brand{
    align-items:flex-start;
  }

  .brand-text h1{
    font-size:30px;
  }

  .brand-icon{
    width:68px;
    height:68px;
  }

  .home-actions{
    grid-template-columns:1fr;
  }

  .box{
    width:74px;
    height:74px;
    font-size:22px;
  }

  .hud-card{
    min-width:66px;
    padding:8px 10px;
  }

  .hud-card b{
    font-size:20px;
  }

  #arena{
    padding-top:96px;
    padding-bottom:92px;
  }

  #countdownText{
    font-size:72px;
  }
}
