@font-face {
  font-family: Vazirmatn;
  src: local('Vazirmatn'), local('Vazirmatn Regular');
}

:root{
  --bg:#0e0f12;
  --panel:#16181d;
  --text:#e7e9ee;
  --muted:#a7aab3;
  --blue:#3aa0ff;
  --green:#4caf50;
  --orange:#ff9800;
  --red:#ff5252;
}

*{ box-sizing: border-box; }
html,body{ height:100%; }
body{
  margin:0;
  background: var(--bg);
  color: var(--text);
  font-family: Vazirmatn, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Helvetica Neue", "Segoe UI Emoji";
  display:block; padding:0;
}

#ui{ position: fixed; top:8px; left:50%; transform: translateX(-50%); width: min(calc(100vw - 16px), 1000px); z-index: 5; }
#hud{
  background: linear-gradient(180deg, #1b1e25, #14161a);
  border: 1px solid #242832;
  border-radius: 10px;
  display:flex; gap:16px; align-items:center; padding:10px 14px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.35);
}
.hud-item{ color: var(--muted); }
.hud-item span{ color: var(--text); font-weight: 700; }

#game{
  width: 100vw; height: 100vh; display:block;
  border-radius: 0;
  background: #101318;
  border: none;
  outline: none;
  box-shadow: none;
  image-rendering: pixelated;
}

.modal{
  position: fixed; inset:0; display:flex; align-items:center; justify-content:center;
  background: rgba(0,0,0,0.55);
  z-index: 10;
}
.modal.hidden{ display:none; }
.modal .modal-content{
  width: min(92vw, 640px);
  background: var(--panel);
  border: 1px solid #2a2f3a;
  padding: 18px; border-radius: 12px;
}
.modal h2{ margin:0 0 8px; }
.modal p{ margin: 8px 0; color: var(--muted); }

.avatars{ display:flex; gap:12px; margin-top: 12px; }
.avatar-card{
  flex:1; background:#191c22; border:1px solid #2c3140; border-radius:12px; padding:12px;
  display:flex; flex-direction:column; align-items:center; gap:10px; cursor:pointer;
  transition: transform .1s ease, border-color .2s ease, box-shadow .2s ease;
}
.avatar-card:hover{ transform: translateY(-2px); border-color: var(--blue); box-shadow: 0 6px 18px rgba(58,160,255,0.2); }
.avatar-card:active{ transform: translateY(0); }
.avatar-card .label{ color: var(--text); font-weight: 700; }

.pixel-avatar{
  width: 96px; height: 96px; position: relative; image-rendering: pixelated;
}
/* Simple pixel characters using CSS boxes */
.pixel-avatar::before, .pixel-avatar::after{ content:""; position:absolute; }
.pixel-avatar.female{ display: block; }
.pixel-avatar.female::before{
  left: 32px; top: 16px; width: 32px; height: 48px; background: #ffb6c1; /* face+hands */ box-shadow:
    0 0 0 0 #000,
    -8px 32px 0 0 #3aa0ff,
    8px 32px 0 0 #3aa0ff; /* sword glow hands */
}
.pixel-avatar.female::after{
  left: 20px; top: 8px; width: 56px; height: 28px; background: #9c27b0; /* hair */
}
.pixel-avatar.male::before{
  left: 32px; top: 16px; width: 32px; height: 48px; background: #ffd7a8; box-shadow:
    -8px 32px 0 0 #3aa0ff,
    8px 32px 0 0 #3aa0ff;
}
.pixel-avatar.male::after{
  left: 24px; top: 8px; width: 48px; height: 20px; background: #795548; /* hair */
}

.hint{ color: var(--muted); font-size: 0.9rem; }

/* HP labels above enemies */
.hp-label{
  position:absolute; transform: translate(-50%, -100%);
  background: rgba(0,0,0,0.55); border: 1px solid rgba(255,255,255,0.15);
  color:#fff; padding:2px 6px; border-radius:6px; font-size:12px; pointer-events:none;
}
