/* ==========================================================
   السنيك — ألوان إماجينكس
   ========================================================== */
:root{
  --bg:#0A0912;
  --hud:#0D0B16;
  --cyan:#22D3EE;
  --purple:#A855F7;
  --pink:#E879F9;
  --text:#E9E9F5;
  --mute:#7C7C99;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;overflow:hidden;background:var(--bg)}
body.snake-body{
  font-family:'Tajawal','Segoe UI',Tahoma,sans-serif;
  color:var(--text);
  -webkit-user-select:none;user-select:none;-webkit-touch-callout:none;
  touch-action:none;overscroll-behavior:none;
}
.kufi{font-family:'Reem Kufi','Tajawal',serif}
button{font-family:inherit}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:8px}

#cv{position:fixed;inset:0;display:block;z-index:1}

/* ---------- الشريط العلوي ---------- */
#hud{
  position:fixed;top:0;left:0;right:0;z-index:5;
  background:var(--hud);
  padding:calc(env(safe-area-inset-top,0px) + 12px) 18px 12px;
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  box-shadow:0 6px 24px rgba(0,0,0,.6);
}
#hud::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:2px;
  background:linear-gradient(90deg,var(--cyan),var(--purple),var(--pink));
}
.hud-back{
  width:36px;height:36px;flex:none;border-radius:11px;
  display:flex;align-items:center;justify-content:center;
  font-size:26px;line-height:1;color:var(--mute);text-decoration:none;
  box-shadow:inset 0 0 0 1px rgba(168,85,247,.28);
  transition:color .15s ease,background .15s ease;
}
.hud-back:hover{color:var(--text);background:rgba(168,85,247,.12)}

.pill{display:flex;align-items:center;gap:8px}
.pill span{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--mute)}
.pill b{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}
.pill--score b{color:var(--cyan);text-shadow:0 0 10px rgba(34,211,238,.55)}
.pill--best b{color:var(--purple);text-shadow:0 0 10px rgba(168,85,247,.55)}

/* ---------- الشريط السفلي ---------- */
#foot{
  position:fixed;bottom:0;left:0;right:0;z-index:5;
  background:var(--hud);
  padding:12px 18px calc(env(safe-area-inset-bottom,0px) + 12px);
  display:flex;justify-content:center;align-items:center;
  box-shadow:0 -6px 24px rgba(0,0,0,.6);
}
#foot::before{
  content:'';position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,var(--pink),var(--purple),var(--cyan));
}
.by{
  direction:ltr;font-size:12px;font-weight:800;letter-spacing:.16em;
  text-decoration:none;padding:6px 14px;border-radius:999px;
  background:linear-gradient(135deg,var(--cyan),var(--pink));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  transition:opacity .15s ease;
}
.by:hover{opacity:.7}

/* ---------- رسالة الإيقاف ---------- */
#msg{
  display:none;position:fixed;left:50%;bottom:11%;transform:translateX(-50%);z-index:7;
  background:var(--hud);color:var(--text);font-size:15px;font-weight:800;
  padding:12px 22px;border-radius:12px;text-align:center;white-space:nowrap;
  border:1px solid rgba(168,85,247,.45);
  box-shadow:0 0 26px rgba(168,85,247,.35);
}
#msg.is-on{display:block}

/* ---------- شاشة البداية ---------- */
#start{
  position:fixed;inset:0;z-index:6;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
#start.hidden{display:none}
.rings{position:relative;width:210px;height:210px;display:flex;align-items:center;justify-content:center}
.ripple{
  position:absolute;width:180px;height:180px;border-radius:50%;
  border:2px solid var(--cyan);opacity:0;animation:ripple 2.4s ease-out infinite;
}
.ripple.r2{border-color:var(--purple);animation-delay:.8s}
.ripple.r3{border-color:var(--pink);animation-delay:1.6s}
.core-ring{
  position:absolute;width:180px;height:180px;border-radius:50%;padding:3px;
  background:conic-gradient(from 0deg,var(--cyan),var(--purple),var(--pink),var(--cyan));
  box-shadow:0 0 45px rgba(168,85,247,.55);animation:spin 5s linear infinite;
}
.core-ring::before{content:'';position:absolute;inset:3px;border-radius:50%;background:var(--bg)}
.core{
  position:absolute;z-index:2;text-align:center;
  font-weight:700;font-size:34px;line-height:1.5;
  background:linear-gradient(135deg,var(--cyan),var(--pink));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:beat 1.5s ease-in-out infinite;
}
#over{
  margin-top:28px;font-weight:800;font-size:20px;
  color:var(--pink);text-shadow:0 0 16px rgba(232,121,249,.7);min-height:24px;
}
.how{margin-top:14px;font-size:13px;color:var(--mute);text-align:center;padding:0 20px}

@keyframes ripple{0%{transform:scale(.7);opacity:.85}100%{transform:scale(2);opacity:0}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes beat{0%,100%{opacity:.78;transform:scale(1)}50%{opacity:1;transform:scale(1.07)}}

@media (prefers-reduced-motion: reduce){
  .ripple,.core-ring,.core{animation:none}
  .ripple{opacity:.25}
}
