/* FunPlayArena Styles – bright, playful, arcade vibe */
:root{
  --bg:#0d0b1a; /* deep indigo */
  --bg-2:#12102a;
  --text:#eef1ff;
  --muted:#b9bce0;
  --primary:#8b5cf6; /* violet */
  --primary-2:#22d3ee; /* cyan */
  --accent:#f472b6; /* pink */
  --surface:rgba(255,255,255,0.06);
  --surface-2:rgba(255,255,255,0.1);
  --shadow:0 10px 30px rgba(0,0,0,.35);
  --radius:18px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;
  color:var(--text); background:
    radial-gradient(1000px 600px at 80% -10%, rgba(34,211,238,.15), transparent 60%),
    radial-gradient(900px 600px at -10% 10%, rgba(139,92,246,.2), transparent 60%),
    linear-gradient(180deg, #16132f 0%, #0d0b1a 60%);
}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
.container{width:min(1200px,92%); margin-inline:auto}
.narrow{width:min(850px,92%)}

/* Header */
.site-header{position:relative; z-index:10;}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding:18px 0}
.logo{display:flex; align-items:center; gap:10px; font-weight:700}
.logo-mark{font-size:24px}
.logo-text{letter-spacing:.2px}
.nav{display:flex; gap:18px; flex-wrap:wrap}
.nav a{color:var(--muted); padding:6px 8px; border-radius:10px}
.nav a.active, .nav a:hover{color:var(--text); background:var(--surface)}

/* Buttons */
.btn{appearance:none; border:0; cursor:pointer; padding:12px 18px; border-radius:14px; background:var(--surface); color:var(--text); transition:.2s transform,.2s opacity,.2s background}
.btn:hover{transform:translateY(-2px)}
.btn:disabled{opacity:.6; cursor:not-allowed}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-2)); box-shadow:0 10px 30px rgba(139,92,246,.35)}
.btn-secondary{background:linear-gradient(135deg,var(--accent),var(--primary)); box-shadow:0 10px 30px rgba(244,114,182,.35)}
.btn-ghost{background:transparent; border:1px solid var(--surface-2)}
.btn-cta{background:linear-gradient(135deg,var(--primary-2),var(--accent)); padding:10px 16px}

/* Hero */
.hero{padding:64px 0 40px}
.hero-inner{display:grid; grid-template-columns:1.2fr .8fr; gap:40px; align-items:center}
.hero-copy h1{font-size:44px; line-height:1.1; margin:0 0 14px}
.hero-copy p{color:var(--muted); margin:0 0 20px}
.hero-actions{display:flex; gap:12px; flex-wrap:wrap}
.hero-art{position:relative; min-height:280px}
.blob{position:absolute; inset:auto; filter:blur(40px); opacity:.7; border-radius:50%}
.blob.b1{width:220px; height:220px; right:10%; top:10%; background:radial-gradient(circle at 30% 30%, var(--primary), transparent)}
.blob.b2{width:260px; height:260px; left:10%; bottom:10%; background:radial-gradient(circle at 70% 70%, var(--primary-2), transparent)}
.scene-card{position:absolute; inset:20px; border-radius:22px; background:linear-gradient(180deg,#201b44,#0f0c22); box-shadow:var(--shadow); overflow:hidden}
.scene-top{height:40%; background:radial-gradient(200px 120px at 70% 20%, rgba(255,255,255,.2), transparent 60%), linear-gradient(180deg,#2a255a,#17133a)}
.scene-body{height:60%; background:linear-gradient(180deg,#17133a,#0f0c22)}

/* Sections */
.section{padding:64px 0}
.section-head{text-align:center; margin-bottom:24px}
.section-head p{color:var(--muted)}
.two-col{display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:center}
.grid{display:grid; gap:18px}
.cards-3{grid-template-columns:repeat(3,1fr)}
.cards-3-4{grid-template-columns:repeat(3,1fr)}
.cards-4x2{grid-template-columns:repeat(4,1fr)}
.trio{grid-template-columns:repeat(3,1fr)}

/* Cards */
.card{background:var(--surface); border:1px solid var(--surface-2); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow)}
.card .card-img{height:150px; background:linear-gradient(135deg,rgba(139,92,246,.5),rgba(34,211,238,.5));}
.card .card-body{padding:16px}
.card h3{margin:0 0 8px}
.card p{margin:0 0 14px; color:var(--muted)}
.card.game .card-img{height:170px; border-bottom:1px solid var(--surface-2)}
.card.coming{opacity:.8}

/* Dummy art variants */
.i1{background-image:linear-gradient(135deg,#865bfa,#21d0ea)}
.i2{background-image:linear-gradient(135deg,#21d0ea,#f36fb0)}
.i3{background-image:linear-gradient(135deg,#f36fb0,#865bfa)}
.i4{background-image:linear-gradient(135deg,#6ee7b7,#21d0ea)}
.i5{background-image:linear-gradient(135deg,#fda4af,#f59e0b)}
.i6{background-image:linear-gradient(135deg,#60a5fa,#f472b6)}
.i7,.i8,.i9,.i10,.i11{background-image:linear-gradient(135deg,#312e81,#0ea5e9)}

/* About art/mascot */
.mascot{height:220px; border-radius:22px; background:
  radial-gradient(140px 100px at 80% 20%, rgba(255,255,255,.15), transparent 60%),
  linear-gradient(135deg,var(--primary),var(--accent)); box-shadow:var(--shadow)}
.mascot.large{height:280px}

/* Responsible icons */
.icon-block{background:var(--surface); border:1px solid var(--surface-2); padding:18px; border-radius:16px; text-align:center}
.icon{font-size:28px; margin-bottom:8px}

/* Banner */
.banner{padding:48px 0; background:linear-gradient(135deg,rgba(139,92,246,.25),rgba(34,211,238,.15))}
.banner h1{margin:0 0 6px}
.banner p{margin:0; color:var(--muted)}

/* Blog */
.blog-layout{grid-template-columns:2fr 1fr; align-items:start}
.post{background:var(--surface); border:1px solid var(--surface-2); padding:16px; border-radius:16px}
.post .meta{color:var(--muted); font-size:.9rem}
.sidebar .widget{background:var(--surface); border:1px solid var(--surface-2); padding:16px; border-radius:16px}
.sidebar ul{list-style:none; padding:0; margin:0}
.sidebar li{margin:8px 0}

/* Forms */
.form label{display:block; margin-bottom:12px; color:var(--muted)}
.form input,.form textarea{width:100%; padding:12px 14px; border-radius:12px; border:1px solid var(--surface-2); background:#0d0b1f; color:var(--text)}
.form input:focus,.form textarea:focus{outline:2px solid var(--primary-2)}
.form .small{color:var(--muted)}
.map-lite{height:220px; border-radius:16px; background:linear-gradient(135deg,#1f2937,#0f172a)}

/* Footer */
.site-footer{margin-top:40px; background:#0a0916; border-top:1px solid var(--surface-2)}
.footer-grid{display:grid; gap:24px; grid-template-columns:2fr 1fr 1fr; padding:36px 0}
.footer-logo{font-weight:700}
.site-footer h4{margin:0 0 8px}
.site-footer ul{list-style:none; padding:0; margin:0}
.site-footer li{margin:6px 0}
.footer-bottom{border-top:1px solid var(--surface-2); text-align:center; padding:14px 0; color:var(--muted)}
.badges{display:flex; gap:8px; margin-top:8px; color:var(--muted)}

/* Modal */
.modal{position:fixed; inset:0; display:none}
.modal.show{display:block}
.modal-backdrop{position:absolute; inset:0; background:rgba(0,0,0,.6)}
.modal-dialog{position:relative; z-index:1; width:min(1100px,92%); margin:6vh auto; background:#0b0a18; border:1px solid var(--surface-2); border-radius:18px; box-shadow:var(--shadow); padding:16px}
.modal-title{margin:0 0 8px}
.modal-content{aspect-ratio:16/9; background:#0f1022; border-radius:12px; overflow:hidden; border:1px solid var(--surface-2)}
.modal-content iframe{width:100%; height:100%; border:0}
.modal-close{position:absolute; top:10px; right:10px; background:var(--surface); color:var(--text); border:0; border-radius:50%; width:36px; height:36px; cursor:pointer}

/* Cookie banner */
.cookie-banner{position:fixed; left:0; right:0; bottom:16px; z-index:50}
.cookie-inner{background:#0b0a18; border:1px solid var(--surface-2); border-radius:14px; padding:12px 14px; display:flex; gap:12px; align-items:center; justify-content:space-between; box-shadow:var(--shadow)}
.cookie-inner p{margin:0; color:var(--muted)}
.cookie-actions{display:flex; gap:8px}

/* Utilities */
.small{font-size:.9rem; color:var(--muted)}
.disclaimer{color:var(--muted); text-align:center; margin-top:12px}

/* Responsive */
@media (max-width: 980px){
  .hero-inner{grid-template-columns:1fr}
  .two-col{grid-template-columns:1fr}
  .cards-4x2{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 720px){
  .cards-3,.cards-3-4{grid-template-columns:1fr}
  .trio{grid-template-columns:1fr}
  .blog-layout{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
}
