/* TypeWithFun Visitor Experience V24 */
#featuredFirstGames .page-card,
#languageStartSection .page-card,
.visitor-next-actions .page-card { text-decoration: none; color: inherit; }
#featuredFirstGames .page-card,
#languageStartSection .page-card { position: relative; overflow: hidden; }
#featuredFirstGames .page-card::after,
#languageStartSection .page-card::after {
  content: ""; position: absolute; inset: auto -36px -48px auto; width: 118px; height: 118px;
  border-radius: 50%; background: color-mix(in srgb, currentColor 8%, transparent); pointer-events: none;
}
.visitor-feature-icon { font-size: 2rem; line-height: 1; display: inline-block; margin-bottom: .7rem; }
.visitor-return-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.visitor-return-card { padding: 1.25rem; }
.visitor-return-card .hero-actions { margin-top: 1rem; }
.visitor-difficulty-card {
  display: grid; gap: .55rem; margin: 1rem 0; padding: 1rem; border-radius: 16px;
  background: rgba(15, 23, 42, .72); border: 1px solid rgba(148, 163, 184, .28);
  color: #f8fafc; box-shadow: 0 14px 36px rgba(15, 23, 42, .18);
}
.visitor-difficulty-head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.visitor-difficulty-label { font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; opacity: .78; }
.visitor-difficulty-level { font-weight: 800; }
.visitor-difficulty-track { height: 9px; border-radius: 999px; background: rgba(255,255,255,.16); overflow: hidden; }
.visitor-difficulty-fill { height: 100%; width: 0; border-radius: inherit; background: linear-gradient(90deg,#38bdf8,#22c55e); transition: width .24s ease; }
.visitor-difficulty-note { font-size: .82rem; opacity: .82; }
.visitor-difficulty-hidden { display: none !important; }
.visitor-level-up {
  position: fixed; left: 50%; top: 18%; transform: translate(-50%,-12px); z-index: 9999;
  padding: .9rem 1.2rem; border-radius: 999px; background: #0f172a; color: #fff;
  box-shadow: 0 18px 45px rgba(0,0,0,.28); opacity: 0; pointer-events: none;
  transition: opacity .2s ease, transform .2s ease; font-weight: 800;
}
.visitor-level-up.is-visible { opacity: 1; transform: translate(-50%,0); }
.visitor-next-actions { margin: 1.25rem auto 2rem; max-width: 1180px; padding: 0 1rem; }
.visitor-next-actions-inner { padding: 1.2rem; }
.visitor-next-actions .hero-actions { margin-top: .9rem; }
.visitor-empty-state { font-weight: 650; }
body:not(.visitor-admin-page) a[href*="admin-dashboard.html"].visitor-public-admin-link,
body:not(.visitor-admin-page) a[href*="admin-contact.html"].visitor-public-admin-link { display: none !important; }
@media (max-width: 760px) {
  .visitor-return-grid { grid-template-columns: 1fr; }
  #featuredFirstGames .page-grid, #languageStartSection .page-grid { grid-template-columns: 1fr; }
  .visitor-difficulty-head { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .visitor-difficulty-fill, .visitor-level-up { transition: none; }
}
