:root{
  --bg-1:#151225;
  --bg-2:#1d1836;
  --panel:#221d3f;
  --panel-2:#2a2450;
  --accent:#ff5d8f;
  --accent-2:#3ddc97;
  --text:#f2eefc;
  --muted:#8b83b0;
  --border:rgba(255,255,255,0.08);
}
*{box-sizing:border-box;}
html,body{
  margin:0;min-height:100%;
  background:radial-gradient(circle at 50% -10%, var(--bg-2), var(--bg-1) 60%);
  color:var(--text);
  font-family:'Segoe UI',system-ui,-apple-system,Roboto,sans-serif;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

.site-header{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;gap:16px;
  padding:14px 20px;background:rgba(21,18,37,0.92);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border);
}
.logo{display:flex;align-items:center;gap:8px;font-weight:900;font-size:20px;letter-spacing:0.3px;white-space:nowrap;}
.logo .dot{color:var(--accent);}
.search-box{
  flex:1;max-width:420px;position:relative;
}
.search-box input{
  width:100%;background:var(--panel);border:1px solid var(--border);border-radius:10px;
  padding:10px 14px;color:var(--text);font-size:14px;
}
.search-box input::placeholder{color:var(--muted);}
.back-btn{
  background:var(--panel);border:1px solid var(--border);border-radius:10px;
  padding:9px 14px;font-weight:700;font-size:13px;cursor:pointer;color:var(--text);
  display:flex;align-items:center;gap:6px;
}

.container{max-width:1240px;margin:0 auto;padding:22px 20px 50px;}

.category-pills{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 22px;}
.pill{
  background:var(--panel);border:1px solid var(--border);border-radius:20px;
  padding:8px 16px;font-size:13px;font-weight:700;cursor:pointer;color:var(--muted);
}
.pill.active{background:var(--accent);color:#1a0e17;border-color:transparent;}

h2.section-title{font-size:20px;margin:28px 0 14px;font-weight:800;}

.game-grid{
  display:grid;grid-template-columns:repeat(auto-fill, minmax(150px, 1fr));gap:14px;
}
.game-card{
  background:var(--panel);border-radius:14px;overflow:hidden;cursor:pointer;
  border:1px solid var(--border);transition:transform 140ms ease, box-shadow 140ms ease;
}
.game-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(0,0,0,0.35);}
.thumb{
  width:100%;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;
  font-size:44px;position:relative;overflow:hidden;
}
.thumb img{width:100%;height:100%;object-fit:cover;}
.thumb .badge{
  position:absolute;top:8px;left:8px;background:rgba(0,0,0,0.45);color:#fff;
  font-size:10px;font-weight:800;padding:3px 8px;border-radius:20px;letter-spacing:0.4px;
}
.card-info{padding:10px 12px 12px;}
.card-info .title{font-size:13.5px;font-weight:800;line-height:1.25;}
.card-info .cat{font-size:11px;color:var(--muted);margin-top:2px;}

/* Game player page */
.play-layout{
  display:grid;grid-template-columns:160px 1fr 160px;gap:16px;align-items:start;
}
.ad-slot{
  background:var(--panel);border-radius:14px;border:1px solid var(--border);
  min-height:480px;display:flex;align-items:center;justify-content:center;
  position:sticky;top:78px;
}
.ad-placeholder{color:var(--muted);font-size:12px;text-align:center;padding:10px;line-height:1.5;}
.game-main{min-width:0;}
.game-frame-wrap{
  background:var(--panel);border-radius:16px;overflow:hidden;border:1px solid var(--border);
  box-shadow:0 20px 40px rgba(0,0,0,0.35);
}
.game-frame-wrap iframe{width:100%;height:640px;border:0;display:block;background:#0e0c1a;}
.game-meta{padding:16px 4px 0;}
.game-meta h1{font-size:24px;margin:0 0 6px;font-weight:900;}
.game-meta .cat{color:var(--muted);font-size:13px;}
.game-meta p.desc{color:var(--muted);font-size:14px;line-height:1.6;margin-top:10px;max-width:640px;}
.ad-banner-mobile{display:none;}

@media (max-width:960px){
  .play-layout{grid-template-columns:1fr;}
  .ad-slot{display:none;}
  .ad-banner-mobile{
    display:flex;align-items:center;justify-content:center;
    background:var(--panel);border:1px solid var(--border);border-radius:14px;
    min-height:90px;margin:16px 0;
  }
  .game-frame-wrap iframe{height:60vh;min-height:420px;}
}

.site-footer{
  border-top:1px solid var(--border);margin-top:40px;padding:26px 20px 40px;
  color:var(--muted);font-size:13px;text-align:center;
}
.site-footer .links{display:flex;gap:16px;justify-content:center;margin-bottom:10px;flex-wrap:wrap;}
.site-footer .links a{color:var(--text);opacity:0.85;}
.site-footer .links a:hover{opacity:1;}

.page-content{max-width:760px;margin:0 auto;padding:10px 4px 40px;line-height:1.7;color:var(--muted);}
.page-content h1{color:var(--text);font-size:28px;margin-bottom:6px;}
.page-content h2{color:var(--text);font-size:18px;margin-top:26px;}
.page-content a{color:var(--accent-2);}
