
:root{
  --logo-url: url('/assets/blx-logo.png');
  --bg: #050509;
  --fg: #f2f5f9;
  --muted: #9aa3b2;
  --primary: #6cf0ff;
  --accent: #a78bfa;
  --danger: #ff4d5d;
  --glass: rgba(255,255,255,0.06);
  --glass-strong: rgba(255,255,255,0.12);
}
*{box-sizing:border-box} html,body{height:100%}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;
background:radial-gradient(1200px 600px at 50% 20%, rgba(108,240,255,0.06), transparent 60%), var(--bg);
color:var(--fg);overflow-x:hidden}
.bg-logo{position:fixed;inset:0;background-image:var(--logo-url);background-repeat:no-repeat;background-position:center;background-size:min(70vmin,680px);opacity:.06;filter:drop-shadow(0 0 50px rgba(108,240,255,.2));pointer-events:none}
.hero{min-height:100dvh;display:grid;place-items:center;text-align:center;padding:6rem 1.5rem 4rem}
.logo-type{letter-spacing:.6rem;font-weight:800;opacity:.85;text-transform:uppercase;margin-bottom:.5rem}
.headline{font-size:clamp(2.2rem,6vw,5rem);margin:.2rem 0 .4rem;line-height:1.05}
.tagline{color:var(--muted);margin-bottom:2rem;font-size:clamp(1rem,2vw,1.15rem)}
.glitch{position:relative;display:inline-block;text-shadow:0 0 12px rgba(108,240,255,.45);animation:flicker 3s infinite}
.glitch::before,.glitch::after{content:attr(aria-label);position:absolute;left:0;top:0;mix-blend-mode:screen;clip-path:inset(0 0 0 0)}
.glitch::before{transform:translate(-2px,0);text-shadow:2px 0 var(--primary);animation:glitchShift 2.2s infinite}
.glitch::after{transform:translate(2px,0);text-shadow:-2px 0 #ff4d5d;animation:glitchShift 3s infinite reverse}
@keyframes glitchShift{0%{clip-path:inset(0 0 0 0)}20%{clip-path:inset(10% 0 0 0)}40%{clip-path:inset(0 0 50% 0)}60%{clip-path:inset(0 0 0 0)}80%{clip-path:inset(40% 0 10% 0)}100%{clip-path:inset(0 0 0 0)}}
@keyframes flicker{0%,100%{opacity:1}45%{opacity:.95}46%{opacity:1}47%{opacity:.9}48%{opacity:1}}
.btn{border:1px solid var(--primary);background:linear-gradient(to bottom right, rgba(108,240,255,.12), rgba(108,240,255,.03));color:var(--fg);padding:.9rem 1.25rem;border-radius:12px;font-weight:700;letter-spacing:.02em;transition:transform .08s ease, background .2s ease, border-color .2s ease;cursor:pointer;backdrop-filter:blur(6px)}
.btn:hover{transform:translateY(-1px)} .btn:active{transform:translateY(0)}
.btn.ghost{border-color:var(--glass-strong)} .btn.primary{border-color:var(--primary);background:linear-gradient(to bottom right, rgba(108,240,255,.25), rgba(108,240,255,.06))}
.btn.danger{border-color:var(--danger);background:linear-gradient(to bottom right, rgba(255,77,93,.25), rgba(255,77,93,.06))}
.btn.full{width:100%}
.modal{position:fixed;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.45);backdrop-filter:blur(6px);padding:1rem;z-index:50}
.modal.hidden{display:none}
.modal-card{position:relative;width:min(480px,100%);padding:1.25rem;border-radius:16px;background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));border:1px solid var(--glass-strong);box-shadow:0 10px 30px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.06)}
.icon-btn{position:absolute;top:10px;right:10px;border:none;background:transparent;color:var(--muted);font-size:1.2rem;cursor:pointer}
.field{display:grid;gap:.4rem;margin:.8rem 0}
.field>span{font-size:.9rem;color:var(--muted)}
.field input{width:100%;border:1px solid var(--glass-strong);background:rgba(255,255,255,.06);color:var(--fg);padding:.85rem .9rem;border-radius:12px;outline:none}
.field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(108,240,255,.15)}
.error{color:var(--danger);min-height:1.2rem;margin-top:.3rem}
.footer{position:fixed;bottom:8px;left:0;right:0;text-align:center;color:var(--muted);font-size:.85rem;pointer-events:none}
/* Site core */
.container{max-width:1200px;margin:0 auto;padding:1.25rem}
.section{margin:3rem 0}
.card{border:1px solid var(--glass-strong);background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));border-radius:18px;padding:1.1rem 1.25rem;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.1rem}
.nav{position:sticky;top:0;backdrop-filter:blur(8px);background:rgba(5,5,9,.65);border-bottom:1px solid var(--glass-strong);z-index:40}
.nav .row{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;max-width:1200px;margin:0 auto}
.nav a{color:var(--fg);text-decoration:none;font-weight:700;margin-right:1rem}
.nav nav a{opacity:.85;margin:0 .5rem}
.nav .active{opacity:1;text-decoration:underline;text-underline-offset:6px}
.badge{display:inline-block;border:1px solid var(--glass-strong);border-radius:999px;padding:.35rem .7rem;font-size:.85rem;color:var(--muted)}
.hero-canvas{position:absolute;inset:0;z-index:0}
.hero-wrap{position:relative;isolation:isolate;min-height:100dvh;display:grid;place-items:center;text-align:center;padding-top:4.5rem}
.hero-content{z-index:1}
.hero-title{font-size:clamp(2.4rem,7vw,5.6rem);line-height:1.05;margin:.5rem 0;background: linear-gradient(90deg, var(--primary), var(--accent)); -webkit-background-clip:text; background-clip:text; color:transparent; filter: drop-shadow(0 0 18px rgba(108,240,255,.25));}
.hero-sub{color:var(--muted);max-width:850px;margin:0 auto 1.5rem}
.cta-row{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}
.kbd{font-family:ui-monospace, SFMono-Regular, Menlo, monospace; border:1px solid var(--glass-strong); border-radius:10px; padding:.2rem .45rem; font-size:.85rem; color:var(--muted)}
/* Games */
.game-card{position:relative;transform-style:preserve-3d;transition:transform .15s ease}
.game-card:hover{transform: perspective(900px) rotateX(4deg) rotateY(-4deg)}
.game-cover{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:16px;border:1px solid var(--glass-strong);box-shadow:0 10px 24px rgba(0,0,0,.35)}
.game-meta{display:flex;gap:.5rem;align-items:center;margin-top:.5rem}
.tag{border:1px solid var(--glass-strong);border-radius:999px;padding:.25rem .6rem;font-size:.8rem;color:var(--muted)}
/* Reveal */
.reveal{opacity:0; transform: translateY(14px); transition: opacity .5s ease, transform .5s ease}
.reveal.show{opacity:1; transform:none}
/* Mobile */
.mobile-toggle{display:none}
@media (max-width: 760px){
  .nav nav{display:none}
  .mobile-toggle{display:inline-flex;border:1px solid var(--glass-strong);background:transparent;color:var(--fg);padding:.5rem .7rem;border-radius:10px}
  .nav.open nav{display:flex;flex-direction:column;gap:.6rem;position:absolute;left:0;right:0;top:56px;background:rgba(5,5,9,.95);padding:1rem;border-bottom:1px solid var(--glass-strong)}
}
