
:root{
  --orange:#ff3212;
  --bg:#222;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#111;font-family:Arial,Helvetica,sans-serif}
body{display:flex;justify-content:center}
button,a{-webkit-tap-highlight-color:transparent}
.app{
  width:min(100%,397px);
  min-height:100vh;
  background:var(--bg);
  color:#fff;
  padding-bottom:59px;
  overflow:hidden;
  box-shadow:0 0 28px rgba(0,0,0,.55)
}
.hero img{display:block;width:100%;height:auto}
.ticker{
  height:31px;
  margin:7px 8px 5px;
  padding:0 7px;
  display:flex;
  align-items:center;
  gap:5px;
  background:#3b3b3b;
  border-radius:4px;
  overflow:hidden;
  font-size:11px
}
.ticker b{white-space:nowrap}
.ticker-window{flex:1;overflow:hidden;white-space:nowrap;color:#bcbcbc}
.ticker-text{display:inline-block;padding-left:100%;animation:marquee 13s linear infinite}
@keyframes marquee{to{transform:translateX(-100%)}}
.auth{
  margin:10px 8px 9px;
  height:45px;
  display:grid;
  grid-template-columns:1fr 1fr;
  background:#353535;
  border-radius:23px;
  overflow:visible
}
.auth a{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-size:18px
}
.register{
  color:#fff;
  background:linear-gradient(#ff4318,#ff170d);
  clip-path:polygon(0 0,100% 0,78% 100%,0 100%);
  border-radius:23px 0 0 23px
}
.login{color:#ff4a20}
.bonus{
  position:absolute;
  top:-11px;
  right:5px;
  padding:2px 7px;
  border-radius:10px;
  background:#ffd900;
  color:#c90000;
  font-size:12px;
  font-weight:800;
  transform:rotate(-4deg);
  text-shadow:0 1px #fff
}
.category-area{
  display:grid;
  grid-template-columns:28px 1fr 28px;
  align-items:center;
  padding:0 2px 8px
}
.categories{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:9px
}
.category{
  height:64px;
  border:0;
  border-radius:8px 8px 12px 12px;
  background:linear-gradient(#f8f8f8,#c8c8c8);
  color:#4c4c4c;
  box-shadow:inset 0 1px #fff,0 2px 5px rgba(0,0,0,.4);
  padding:4px 1px;
  font-weight:700;
  cursor:pointer
}
.category.active{background:linear-gradient(#ff4b18,#ff170e);color:#fff}
.cat-icon{display:block;font-size:28px;line-height:34px;filter:grayscale(1)}
.category.active .cat-icon{filter:none}
.category small{font-size:8px;font-weight:800}
.side-arrow{
  border:0;
  background:transparent;
  color:#ec491f;
  font-size:38px;
  line-height:1
}
.games{
  padding:0 8px 10px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:11px 10px
}
.game{
  position:relative;
  display:block;
  aspect-ratio:116/134;
  overflow:hidden;
  border:2px solid #ff7915;
  border-radius:13px;
  background:#b60b00;
  text-decoration:none;
  box-shadow:0 2px 4px rgba(0,0,0,.35)
}
.game img{display:block;width:100%;height:100%;object-fit:cover}
.game span{
  position:absolute;
  left:0;right:0;bottom:0;
  min-height:24px;
  display:flex;
  justify-content:center;
  align-items:flex-end;
  padding:4px 3px 3px;
  color:#fff;
  font-size:10px;
  font-weight:700;
  text-align:center;
  background:linear-gradient(transparent,rgba(125,0,0,.93));
  text-shadow:0 1px 2px #000
}
.game:active{transform:scale(.98)}
.bottom-nav{
  position:fixed;
  left:50%;
  bottom:0;
  width:min(100%,397px);
  height:59px;
  transform:translateX(-50%);
  display:grid;
  grid-template-columns:repeat(5,1fr);
  background:linear-gradient(#3c3c3c,#242424);
  border-radius:14px 14px 0 0;
  box-shadow:0 -2px 8px rgba(0,0,0,.35)
}
.nav-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  color:#b7b7b7;
  text-decoration:none
}
.nav-item.active{color:#ff3c13}
.nav-icon{font-size:26px;line-height:26px}
.nav-item small{font-size:9px}
.hidden{display:none!important}

@media(max-width:360px){
  .categories{gap:5px}
  .category{height:59px}
  .cat-icon{font-size:24px}
  .games{gap:8px 7px}
}


.auth-action{
  border:0;
  font-family:inherit;
  cursor:pointer
}
.modal{
  position:fixed;
  inset:0;
  z-index:100;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px
}
.modal.is-open{display:flex}
.modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(3px)
}
.modal-card{
  position:relative;
  z-index:1;
  width:min(100%,360px);
  padding:24px 18px 18px;
  border:1px solid rgba(255,99,34,.5);
  border-radius:16px;
  background:linear-gradient(180deg,#333,#202020);
  box-shadow:0 18px 60px rgba(0,0,0,.65)
}
.modal-card h2{
  margin:0 0 7px;
  color:#ff471e;
  text-align:center;
  font-size:24px
}
.modal-note{
  margin:0 0 17px;
  color:#bdbdbd;
  text-align:center;
  font-size:12px;
  line-height:1.45
}
.modal-close{
  position:absolute;
  top:7px;
  right:10px;
  border:0;
  background:transparent;
  color:#aaa;
  font-size:29px;
  cursor:pointer
}
.account-form{
  display:grid;
  gap:13px
}
.account-form label{
  display:grid;
  gap:6px;
  color:#eee;
  font-size:13px
}
.account-form input{
  width:100%;
  height:45px;
  padding:0 13px;
  border:1px solid #555;
  border-radius:9px;
  outline:none;
  background:#171717;
  color:#fff;
  font-size:15px
}
.account-form input:focus{
  border-color:#ff451c;
  box-shadow:0 0 0 3px rgba(255,69,28,.13)
}
.submit-btn{
  height:46px;
  border:0;
  border-radius:23px;
  background:linear-gradient(#ff4b1b,#f0180d);
  color:#fff;
  font-size:16px;
  font-weight:800;
  cursor:pointer
}
.submit-btn:disabled{
  opacity:.6;
  cursor:wait
}
.form-status{
  min-height:18px;
  text-align:center;
  color:#ccc;
  font-size:12px
}
.form-status.success{color:#66dc89}
.form-status.error{color:#ff7777}
body.modal-open{overflow:hidden}

.notice-card{text-align:center}
.notice-icon{
  width:58px;height:58px;margin:0 auto 12px;
  display:flex;align-items:center;justify-content:center;
  border:3px solid #ff4a1d;border-radius:50%;
  color:#ff4a1d;font-size:38px;font-weight:800
}
.redirect-countdown{margin-top:12px;color:#aaa;font-size:12px}
