/* Neon Jungle Arcade — Core Design System (No external deps) */

:root{
  --bg0:#06080f;
  --bg1:#070b16;
  --ink:#e9f7ff;
  --muted:#a8c4d8;

  --c1:#00ffd1; /* cyan */
  --c2:#a8ff00; /* lime */
  --c3:#b400ff; /* purple */
  --c4:#ffe600; /* yellow */

  --glass: rgba(255,255,255,.06);
  --glass2: rgba(255,255,255,.10);
  --border: rgba(255,255,255,.14);

  --shadow: 0 18px 50px rgba(0,0,0,.55);
  --radius: 18px;
  --radius2: 26px;
  --max: 1160px;

  --ease: cubic-bezier(.2,.8,.2,1);
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Helvetica Neue", sans-serif;
  color:var(--ink);
  background:
    radial-gradient(1200px 700px at 20% 20%, rgba(180,0,255,.22), transparent 55%),
    radial-gradient(900px 600px at 80% 30%, rgba(0,255,209,.16), transparent 55%),
    radial-gradient(1200px 800px at 50% 100%, rgba(168,255,0,.10), transparent 55%),
    linear-gradient(180deg, var(--bg0), var(--bg1));
  overflow-x:hidden;
}

/* Global animated fog */
body::before{
  content:"";
  position:fixed;
  inset:-20%;
  background:
    radial-gradient(closest-side at 20% 30%, rgba(0,255,209,.10), transparent 60%),
    radial-gradient(closest-side at 70% 40%, rgba(180,0,255,.10), transparent 60%),
    radial-gradient(closest-side at 40% 80%, rgba(255,230,0,.06), transparent 60%);
  filter: blur(22px);
  opacity:.9;
  pointer-events:none;
  z-index:-1;
  animation:fog 14s var(--ease) infinite alternate;
}
@keyframes fog{
  from{ transform: translate3d(-1.5%, -1%, 0) scale(1.02); }
  to{ transform: translate3d(1.5%, 1%, 0) scale(1.06); }
}

/* Base layout */
.container{
  width:min(var(--max), calc(100% - 40px));
  margin:0 auto;
}
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
button{ font:inherit; }

/* Skip link for accessibility */
.skip{
  position:absolute;
  left:-999px;
  top:12px;
  padding:10px 14px;
  background:rgba(0,0,0,.7);
  border:1px solid var(--border);
  border-radius:12px;
  z-index:999;
}
.skip:focus{ left:12px; }

/* Header / Nav */
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter: blur(12px);
  background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.12));
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.navbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 0;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width: 180px;
}
.brand-badge{
  width:38px;height:38px;border-radius:12px;
  background:
    radial-gradient(circle at 30% 30%, rgba(0,255,209,.9), rgba(180,0,255,.6) 55%, rgba(0,0,0,.3) 100%);
  box-shadow: 0 0 24px rgba(0,255,209,.22), 0 0 34px rgba(180,0,255,.14);
  border:1px solid rgba(255,255,255,.18);
}
.brand-text{
  line-height:1.05;
}
.brand-text b{
  display:block;
  letter-spacing:.6px;
  font-weight:900;
}
.brand-text span{
  font-size:12px;
  color:var(--muted);
}

.nav-links{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.nav-links a{
  padding:10px 12px;
  border-radius:14px;
  color: rgba(233,247,255,.88);
  border:1px solid transparent;
  transition: transform .18s var(--ease), background .18s var(--ease), border-color .18s var(--ease);
}
.nav-links a:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.12);
}
.nav-links a[aria-current="page"]{
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.18);
  box-shadow: 0 0 0 1px rgba(0,255,209,.12) inset;
}

/* Neon button */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 16px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.16);
  background: linear-gradient(135deg, rgba(0,255,209,.16), rgba(180,0,255,.14));
  color:var(--ink);
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
  position:relative;
  overflow:hidden;
  transition: transform .18s var(--ease), filter .18s var(--ease);
}
.btn::after{
  content:"";
  position:absolute; inset:-2px;
  background: linear-gradient(90deg, rgba(0,255,209,.0), rgba(0,255,209,.55), rgba(180,0,255,.55), rgba(255,230,0,.55), rgba(0,255,209,.0));
  filter: blur(10px);
  opacity:.55;
  transform: translateX(-35%);
  animation: shine 2.8s var(--ease) infinite;
}
@keyframes shine{
  0%{ transform: translateX(-40%); }
  50%{ transform: translateX(40%); }
  100%{ transform: translateX(40%); }
}
.btn:hover{ transform: translateY(-2px); filter: brightness(1.08); }
.btn:active{ transform: translateY(0px) scale(.99); }
.btn.secondary{
  background: rgba(255,255,255,.06);
}

/* Cards / glass */
.card{
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--radius2);
  box-shadow: var(--shadow);
  overflow:hidden;
  position:relative;
}
.card::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(400px 200px at 10% 20%, rgba(0,255,209,.14), transparent 60%),
    radial-gradient(300px 220px at 90% 30%, rgba(180,0,255,.12), transparent 60%);
  pointer-events:none;
  opacity:.9;
}

/* Reveal animation */
.reveal{
  opacity:0;
  transform: translateY(12px);
  transition: opacity .7s var(--ease), transform .7s var(--ease);
}
.reveal.is-visible{
  opacity:1;
  transform: translateY(0);
}

/* HERO */
.hero{
  position:relative;
  padding: 44px 0 22px;
}
.hero-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:22px;
  align-items:stretch;
}
@media (max-width: 920px){
  .hero-grid{ grid-template-columns: 1fr; }
}
.hero-panel{
  padding: 28px;
  min-height: 330px;
}
.hero h1{
  margin:0 0 10px;
  font-size: clamp(30px, 3.4vw, 52px);
  letter-spacing: .8px;
  font-weight: 1000;
  text-transform: uppercase;
}
.hero p{
  margin: 0 0 18px;
  color: rgba(233,247,255,.84);
  max-width: 60ch;
  line-height: 1.5;
}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top: 12px;
}

/* Animated arcade grid rays */
.hero-gridfx{
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:hidden;
  z-index:-1;
}
.grid-lines{
  position:absolute;
  left:50%;
  top:68%;
  width:120%;
  height:90%;
  transform: translate(-50%,-50%) perspective(700px) rotateX(62deg);
  background:
    linear-gradient(to right, rgba(0,255,209,.20) 1px, transparent 1px) 0 0 / 44px 44px,
    linear-gradient(to bottom, rgba(180,0,255,.16) 1px, transparent 1px) 0 0 / 44px 44px;
  mask-image: radial-gradient(circle at 50% 50%, rgba(0,0,0,.95), transparent 62%);
  opacity:.55;
  animation:gridmove 8s linear infinite;
}
@keyframes gridmove{
  from{ background-position: 0 0, 0 0; }
  to{ background-position: 0 180px, 180px 0; }
}

/* Badge / tags */
.pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 6px 10px;
  border-radius: 999px;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.18);
  color: rgba(233,247,255,.88);
  font-size: 12px;
}

/* Features grid */
.features{
  padding: 10px 0 28px;
}
.grid3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
}
@media (max-width: 920px){
  .grid3{ grid-template-columns: 1fr; }
}
.feature{
  padding:18px 18px 16px;
  min-height: 140px;
}
.feature h2{
  margin: 6px 0 8px;
  font-size: 18px;
  letter-spacing:.3px;
  text-transform: uppercase;
}
.feature p{
  margin:0;
  color: rgba(233,247,255,.78);
  line-height: 1.45;
}

/* Footer */
.site-footer{
  margin-top: 40px;
  border-top: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.28));
}
.footer-inner{
  padding: 20px 0;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.footer-inner small{
  color: rgba(233,247,255,.70);
  line-height:1.4;
}

/* Floating leaves / fireflies container */
.fx-layer{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
}
.fx-layer .leaf{
  position:absolute;
  width: 16px;
  height: 10px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(0,255,209,.0), rgba(0,255,209,.7), rgba(168,255,0,.6));
  filter: drop-shadow(0 0 10px rgba(0,255,209,.35));
  opacity:.6;
}
.fx-layer .fly{
  position:absolute;
  width: 4px; height: 4px;
  border-radius: 50%;
  background: rgba(255,230,0,.95);
  box-shadow: 0 0 10px rgba(255,230,0,.55), 0 0 18px rgba(180,0,255,.30);
  opacity:.75;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  *{
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  body::before{ animation:none !important; }
}
/* ===== PART 2: Blog + Gallery + Games page styling ===== */

.section{
  padding: 20px 0 10px;
}
.page-title{
  margin: 0 0 10px;
  font-size: clamp(26px, 2.6vw, 42px);
  letter-spacing: .8px;
  font-weight: 1000;
  text-transform: uppercase;
}
.lead{
  margin: 0 0 18px;
  color: rgba(233,247,255,.80);
  line-height: 1.55;
  max-width: 70ch;
}

.toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  justify-content:space-between;
  margin: 14px 0;
}
.input{
  width: min(520px, 100%);
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.20);
  color: var(--ink);
  outline: none;
}
.input:focus{
  border-color: rgba(0,255,209,.35);
  box-shadow: 0 0 0 3px rgba(0,255,209,.10);
}

.cards{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
@media (max-width: 980px){
  .cards{ grid-template-columns: 1fr; }
}

.media{
  height: 170px;
  border-bottom: 1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(400px 240px at 30% 30%, rgba(0,255,209,.22), transparent 60%),
    radial-gradient(400px 240px at 70% 40%, rgba(180,0,255,.18), transparent 60%),
    linear-gradient(135deg, rgba(255,230,0,.10), rgba(0,0,0,.10));
}
.media img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.card-body{
  padding: 14px 14px 16px;
  position:relative;
}
.meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin-bottom: 8px;
}
.tag{
  font-size: 11px;
  padding: 5px 9px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.18);
  color: rgba(233,247,255,.86);
}
.date{
  font-size: 12px;
  color: rgba(233,247,255,.68);
}
.card-title{
  margin: 0 0 10px;
  font-size: 16px;
  letter-spacing: .2px;
}
.card-text{
  margin: 0 0 12px;
  color: rgba(233,247,255,.75);
  line-height:1.5;
  font-size: 13px;
}

/* Lightbox */
.lightbox{
  position:fixed;
  inset:0;
  background: rgba(0,0,0,.72);
  display:none;
  align-items:center;
  justify-content:center;
  padding: 18px;
  z-index: 80;
}
.lightbox.open{ display:flex; }
.lb-panel{
  width: min(980px, 100%);
  border-radius: 22px;
  overflow:hidden;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(10,12,18,.75);
  backdrop-filter: blur(14px);
  box-shadow: 0 30px 80px rgba(0,0,0,.6);
}
.lb-img{
  width:100%;
  max-height: 70vh;
  object-fit: contain;
  background: rgba(0,0,0,.25);
}
.lb-info{
  padding: 14px 16px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 12px;
}
.lb-info h3{
  margin:0 0 6px;
  font-size: 15px;
  letter-spacing:.3px;
  text-transform: uppercase;
}
.lb-info p{
  margin:0;
  color: rgba(233,247,255,.76);
  line-height:1.45;
  font-size: 13px;
}
.lb-close{
  border:1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  color: var(--ink);
  padding: 10px 12px;
  border-radius: 14px;
  cursor:pointer;
}
.lb-close:hover{ filter: brightness(1.08); }

/* Games page highlight */
.portal-hero{
  padding: 24px;
  position:relative;
}
.portal-hero::after{
  content:"";
  position:absolute; inset:-2px;
  border-radius: 28px;
  background: linear-gradient(90deg, rgba(0,255,209,.0), rgba(0,255,209,.35), rgba(180,0,255,.35), rgba(255,230,0,.25), rgba(0,255,209,.0));
  filter: blur(14px);
  opacity:.55;
  pointer-events:none;
}
.two-col{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 14px;
}
@media (max-width: 980px){
  .two-col{ grid-template-columns: 1fr; }
}

.game-card{
  padding: 14px;
}
.badges{
  display:flex; gap:8px; flex-wrap:wrap;
  margin-bottom: 10px;
}
.badge{
  font-size: 11px;
  padding: 5px 9px;
  border-radius: 999px;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.18);
}
.badge.new{ box-shadow: 0 0 0 1px rgba(0,255,209,.16) inset; }
.badge.pop{ box-shadow: 0 0 0 1px rgba(255,230,0,.16) inset; }
.badge.diff{ box-shadow: 0 0 0 1px rgba(180,0,255,.16) inset; }

.icon-row{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
@media (max-width: 980px){
  .icon-row{ grid-template-columns: 1fr; }
}
.icon{
  padding: 14px;
}
.icon b{
  display:block;
  margin-top: 8px;
  text-transform: uppercase;
  letter-spacing:.3px;
}
.icon small{
  display:block;
  color: rgba(233,247,255,.72);
  line-height:1.4;
}
/* ===== REAL IMAGE LOGO ===== */
.brand-logo{
  height: 44px;
  width: auto;
  display: block;
  filter:
    drop-shadow(0 0 10px rgba(0,255,209,.35))
    drop-shadow(0 0 18px rgba(180,0,255,.20));
}
@media (max-width: 520px){
  .brand-logo{ height: 38px; }
}
/* ===== BRAND LOGO UPGRADE: HIMANK WORLD ===== */
.brand-text b{
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 1000;
  font-size: 15px;
  text-shadow:
    0 0 10px rgba(0,255,209,.45),
    0 0 18px rgba(180,0,255,.22);
}

.brand-badge{
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background:
    radial-gradient(18px 18px at 30% 30%, rgba(0,255,209,.95), transparent 60%),
    radial-gradient(18px 18px at 70% 40%, rgba(180,0,255,.85), transparent 60%),
    radial-gradient(18px 18px at 55% 70%, rgba(255,230,0,.75), transparent 60%),
    linear-gradient(135deg, rgba(0,0,0,.25), rgba(0,0,0,.08));
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 14px 40px rgba(0,0,0,.45);
  position: relative;
  overflow: hidden;
}
.brand-badge::after{
  content:"HW";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-weight: 1000;
  font-size: 13px;
  letter-spacing: 1px;
  color: rgba(233,247,255,.95);
  text-shadow: 0 0 14px rgba(0,255,209,.45);
}
/* ===== BLOG HERO FIX (for blog.html) ===== */
.blog-hero{
  display:grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 18px;
  align-items: start;
  margin: 10px 0 18px;
}

.blog-controls{
  display:flex;
  gap: 12px;
  align-items:center;
  flex-wrap: wrap;
  margin-top: 12px;
}

.blog-search{
  flex: 1 1 520px;
  min-width: 260px;
  max-width: 740px;
}

.json-pill{
  white-space: nowrap;
}

/* Right side card */
.blog-hero-right .kicker{
  font-weight: 900;
  letter-spacing: .6px;
  text-transform: uppercase;
  font-size: 12px;
  color: rgba(233,247,255,.82);
  margin-bottom: 10px;
}

.blog-hero-right .mini-links{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}

.blog-hero-right .mini-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(233,247,255,.9);
  text-decoration:none;
  transition: transform .15s ease, filter .15s ease;
}

@media (hover:hover){
  .blog-hero-right .mini-link:hover{
    transform: translateY(-2px);
    filter: brightness(1.08);
  }
}

.blog-hero-right .divider{
  height: 1px;
  background: rgba(255,255,255,.12);
  margin: 14px 0;
}

.blog-hero-right .mini-list{
  margin: 0;
  padding-left: 18px;
  color: rgba(233,247,255,.75);
  line-height: 1.45;
}

/* Responsive: stack */
@media (max-width: 980px){
  .blog-hero{
    grid-template-columns: 1fr;
  }
}
/* ===== BLOG HERO FIX (for blog.html) ===== */
.blog-hero{
  display:grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 18px;
  align-items: start;
  margin: 10px 0 18px;
}

.blog-controls{
  display:flex;
  gap: 12px;
  align-items:center;
  flex-wrap: wrap;
  margin-top: 12px;
}

.blog-search{
  flex: 1 1 520px;
  min-width: 260px;
  max-width: 740px;
}

.json-pill{
  white-space: nowrap;
}

/* Right side card */
.blog-hero-right .kicker{
  font-weight: 900;
  letter-spacing: .6px;
  text-transform: uppercase;
  font-size: 12px;
  color: rgba(233,247,255,.82);
  margin-bottom: 10px;
}

.blog-hero-right .mini-links{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}

.blog-hero-right .mini-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(233,247,255,.9);
  text-decoration:none;
  transition: transform .15s ease, filter .15s ease;
}

@media (hover:hover){
  .blog-hero-right .mini-link:hover{
    transform: translateY(-2px);
    filter: brightness(1.08);
  }
}

.blog-hero-right .divider{
  height: 1px;
  background: rgba(255,255,255,.12);
  margin: 14px 0;
}

.blog-hero-right .mini-list{
  margin: 0;
  padding-left: 18px;
  color: rgba(233,247,255,.75);
  line-height: 1.45;
}

/* Responsive: stack */
@media (max-width: 980px){
  .blog-hero{
    grid-template-columns: 1fr;
  }
}
/* ===== MOBILE HAMBURGER MENU ===== */
.nav-toggle{
  display:none;
  width: 46px;
  height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  color: var(--ink);
  cursor:pointer;
  position: relative;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}

.nav-toggle:hover{ filter: brightness(1.08); }
.nav-toggle:active{ transform: scale(.99); }

.nav-toggle-bars{
  position:absolute;
  left:50%;
  top:50%;
  width: 20px;
  height: 2px;
  background: rgba(233,247,255,.92);
  transform: translate(-50%,-50%);
  border-radius: 999px;
  box-shadow: 0 -7px 0 rgba(233,247,255,.92), 0 7px 0 rgba(233,247,255,.92);
  transition: transform .18s var(--ease), box-shadow .18s var(--ease), opacity .18s var(--ease);
}

/* Mobile behavior */
@media (max-width: 860px){
  .navbar{
    position: relative;
  }

  .nav-toggle{ display:inline-flex; align-items:center; justify-content:center; }

  /* hide menu by default on mobile */
  .nav-links{
    display:none;
    position:absolute;
    right:0;
    top: calc(100% + 10px);
    width: min(320px, 92vw);
    padding: 10px;
    border-radius: 18px;
    background: rgba(10,12,18,.72);
    border: 1px solid rgba(255,255,255,.14);
    backdrop-filter: blur(14px);
    box-shadow: 0 24px 70px rgba(0,0,0,.55);
    z-index: 60;
  }

  .nav-links a{
    display:block;
    padding: 12px 14px;
    border-radius: 14px;
  }

  /* open state */
  .site-header.menu-open .nav-links{ display:block; }

  /* turn hamburger into X when open */
  .site-header.menu-open .nav-toggle-bars{
    box-shadow: none;
    transform: translate(-50%,-50%) rotate(45deg);
  }
  .site-header.menu-open .nav-toggle-bars::after{
    content:"";
    position:absolute;
    inset:0;
    background: rgba(233,247,255,.92);
    border-radius: 999px;
    transform: rotate(90deg);
  }
}
