:root{
  --bg:#f4f7ff; --card:#ffffff; --ink:#1a1c2c; --muted:#5e6378;
  --brand:#6c5ce7; --brand-2:#00d4ff; --accent:#ff6b9d; --ok:#22c55e;
  --shadow:0 8px 24px rgba(31,38,135,0.10);
  --radius:16px;
}
*{box-sizing:border-box} html,body{margin:0;padding:0}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}
img{max-width:100%;display:block} a{color:var(--brand);text-decoration:none}
.container{max-width:1180px;margin:0 auto;padding:0 16px}
h1,h2,h3{line-height:1.2;margin:0 0 .6em}
h1{font-size:clamp(1.6rem,3.2vw,2.4rem)} h2{font-size:1.5rem} h3{font-size:1.15rem}
.btn{display:inline-block;padding:12px 22px;border-radius:999px;font-weight:700;border:0;cursor:pointer;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;box-shadow:var(--shadow);transition:transform .15s}
.btn:hover{transform:translateY(-2px)} .btn.alt{background:linear-gradient(135deg,var(--accent),#ffb86b)}
.btn.ghost{background:#fff;color:var(--ink);border:1px solid #e3e6f0}
/* Header */
.site-header{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;gap:12px}
.logo{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--ink);font-size:1.15rem}
.logo-mark{font-size:1.6rem}
.main-nav{display:flex;gap:6px;flex-wrap:wrap}
.main-nav a{padding:8px 12px;border-radius:10px;color:var(--ink);font-weight:600;font-size:.95rem}
.main-nav a:hover,.main-nav a.active{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff}
.menu-toggle{display:none;background:none;border:0;font-size:1.5rem;cursor:pointer}
.header-search{display:flex;max-width:1180px;margin:0 auto 10px;padding:0 16px;gap:8px}
.header-search input{flex:1;padding:10px 14px;border-radius:999px;border:1px solid #e3e6f0;background:#f8faff;font-size:1rem}
.header-search button{padding:10px 16px;border-radius:999px;border:0;background:var(--brand);color:#fff;cursor:pointer}
@media (max-width:780px){
  .menu-toggle{display:block}
  .main-nav{display:none;width:100%;flex-direction:column;background:#fff;padding:8px 0}
  body.nav-open .main-nav{display:flex}
}
/* Hero */
.hero{background:linear-gradient(135deg,#6c5ce7 0%,#00d4ff 100%);color:#fff;padding:48px 16px 56px;text-align:center;border-radius:0 0 32px 32px;margin-bottom:32px}
.hero h1{color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.15)}
.hero p{font-size:1.1rem;opacity:.95;max-width:640px;margin:0 auto 20px}
.hero-search{max-width:520px;margin:20px auto 0;display:flex;gap:8px;background:#fff;border-radius:999px;padding:6px;box-shadow:var(--shadow)}
.hero-search input{flex:1;border:0;padding:12px 18px;font-size:1rem;background:transparent;outline:none;color:var(--ink)}
.hero-search button{border:0;padding:10px 22px;border-radius:999px;background:linear-gradient(135deg,var(--accent),#ffb86b);color:#fff;font-weight:700;cursor:pointer}
/* Sections */
section.block{margin:32px 0}
.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.section-head h2{margin:0}
.section-head a{font-weight:600}
/* Game grid */
.game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.game-card{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .2s, box-shadow .2s;display:flex;flex-direction:column}
.game-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(108,92,231,.18)}
.game-card img{aspect-ratio:4/3;object-fit:cover;background:#eee}
.game-card .body{padding:12px 14px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.game-card .cat{font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:var(--brand);font-weight:700}
.game-card h3{margin:0;font-size:1.05rem;color:var(--ink)}
.game-card p{margin:0;color:var(--muted);font-size:.88rem;flex:1}
.game-card .play{margin-top:8px;align-self:flex-start;padding:8px 16px;border-radius:999px;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;font-size:.85rem;font-weight:700}
/* Category cards */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}
.cat-card{background:#fff;padding:22px 16px;border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);font-weight:700;color:var(--ink);transition:transform .2s}
.cat-card:hover{transform:translateY(-3px)}
.cat-emoji{font-size:2rem;display:block;margin-bottom:6px}
/* Ad slot */
.ad-slot{background:#fff;border:1px dashed #c9cee0;border-radius:12px;padding:12px;margin:18px 0;text-align:center;color:var(--muted);font-size:.85rem;min-height:90px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ad-slot span{font-size:.7rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}
/* Game page */
.game-hero{display:grid;grid-template-columns:1fr;gap:18px;margin:18px 0}
.game-hero img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:480px}
.game-meta .cat{display:inline-block;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;padding:4px 12px;border-radius:999px;font-size:.75rem;text-transform:uppercase;font-weight:700;margin-bottom:8px}
.game-area{background:#fff;border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);margin:18px 0}
.canvas-wrap{position:relative;width:100%;max-width:600px;margin:0 auto;background:#0b132b;border-radius:12px;overflow:hidden;aspect-ratio:4/3}
canvas{display:block;width:100%;height:100%;touch-action:none}
.game-controls{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:14px}
.score-bar{display:flex;gap:18px;justify-content:center;font-weight:700;margin:10px 0}
.score-bar span b{color:var(--brand)}
.info-grid{display:grid;grid-template-columns:1fr;gap:14px;margin:18px 0}
.info-card{background:#fff;border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.info-card h2{font-size:1.15rem;margin-bottom:8px;color:var(--brand)}
@media(min-width:780px){.info-grid{grid-template-columns:1fr 1fr 1fr}.game-hero{grid-template-columns:auto 1fr;align-items:center}}
/* Footer */
.site-footer{background:#1a1c2c;color:#d6d8e7;margin-top:48px;padding:36px 0 12px}
.footer-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:20px}
.footer-grid h3,.footer-grid h4{color:#fff;margin-bottom:10px}
.footer-grid ul{list-style:none;padding:0;margin:0}
.footer-grid li{margin:6px 0}
.footer-grid a{color:#b8bcd1}
.footer-grid a:hover{color:#fff}
.copyright{border-top:1px solid #2c2f44;padding-top:14px;text-align:center;color:#7b8094;font-size:.85rem}
@media(min-width:680px){.footer-grid{grid-template-columns:2fr 1fr 1fr}}
/* Forms */
.form-card{background:#fff;border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);max-width:560px}
.form-card label{display:block;font-weight:600;margin:12px 0 6px}
.form-card input,.form-card textarea{width:100%;padding:10px 12px;border:1px solid #e3e6f0;border-radius:10px;font-size:1rem;font-family:inherit}
.form-card textarea{min-height:120px;resize:vertical}
.form-success{display:none;background:#d1fae5;color:#065f46;padding:12px;border-radius:10px;margin-bottom:12px}
.legal-prose{background:#fff;border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);max-width:820px;margin:0 auto}
.legal-prose h2{margin-top:24px}

/* ===== Mobile-friendly improvements ===== */
@media (max-width: 640px) {
  .container { padding: 0 12px; }
  .hero { padding: 28px 14px 36px; border-radius: 0 0 22px 22px; margin-bottom: 22px; }
  .hero h1 { font-size: 1.5rem; }
  .hero p { font-size: .95rem; }
  .hero-search { flex-direction: row; padding: 5px; }
  .hero-search input { padding: 10px 14px; font-size: .95rem; min-width: 0; }
  .hero-search button { padding: 9px 16px; font-size: .9rem; }
  .header-inner { padding: 10px 12px; }
  .logo-text { font-size: 1rem; }
  .logo-mark { font-size: 1.35rem; }
  .game-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .game-card .body { padding: 10px 10px 12px; }
  .game-card h3 { font-size: .95rem; }
  .game-card p { font-size: .78rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .game-card .cat { font-size: .68rem; }
  .game-card .play { font-size: .78rem; padding: 7px 12px; }
  .cat-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .cat-card { padding: 16px 10px; font-size: .9rem; }
  .cat-emoji { font-size: 1.6rem; }
  .section-head h2 { font-size: 1.2rem; }
  .section-head a { font-size: .85rem; }
  .btn { padding: 11px 18px; font-size: .95rem; }
  .ad-slot { padding: 10px; min-height: 70px; }
  .game-area { padding: 10px; }
  .game-controls .btn { flex: 1; min-width: 110px; }
  .score-bar { font-size: .9rem; gap: 12px; flex-wrap: wrap; }
  .info-card { padding: 14px; }
  .form-card { padding: 16px; }
  .legal-prose { padding: 16px; }
  .footer-grid { gap: 18px; }
}
@media (max-width: 380px) {
  .game-grid { grid-template-columns: 1fr; }
  .hero h1 { font-size: 1.3rem; }
}
/* Touch tap targets */
@media (max-width: 780px) {
  .main-nav a { padding: 12px 14px; font-size: 1rem; border-bottom: 1px solid #f0f0f5; border-radius: 0; }
  .main-nav a:last-child { border-bottom: 0; }
  .menu-toggle { padding: 6px 10px; border-radius: 8px; }
}
