diff --git a/html/gamehub.ejs b/html/gamehub.ejs index 7d9294a3..e9243895 100644 --- a/html/gamehub.ejs +++ b/html/gamehub.ejs @@ -59,60 +59,142 @@ --bg-start: #2c3e50; --bg-end: #34495e; --accent: #ffabcc; - --card-bg: rgba(255,255,255,0.1); - --card-hover: rgba(255,255,255,0.2); --font-main: 'PokeTube Flex', sans-serif; + --card-bg: rgba(255,255,255,0.1); + --card-border: rgba(255,255,255,0.6); + --card-hover: rgba(255,255,255,0.3); } * { box-sizing: border-box; margin:0; padding:0; } body { font-family: var(--font-main); background: linear-gradient(135deg, var(--bg-start), var(--bg-end)); color: #fff; - display:flex; align-items:center; justify-content:center; - min-height:100vh; + overflow: hidden; } - h1 { - font-weight:900; font-stretch:ultra-expanded; font-style:italic; - color: var(--accent); text-align:center; margin-bottom:1rem; - } - .game-container { - display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); - gap:1rem; width:90%; max-width:1000px; - } - .game { - background: var(--card-bg); - border:2px solid #fff; border-radius:10px; - text-decoration:none; color:#fff; padding:1rem; - text-align:center; transition:background .3s; - } - .game:hover { background: var(--card-hover); } - .game h2 { margin-bottom: .5rem; } - canvas, .board { display:none; } @font-face { font-family: var(--font-main); src: url("https://p.poketube.fun/.../robotoflex.ttf"); font-display: swap; } + /* Animated emoji background */ + .emoji-bg { + position: fixed; + top: 0; left: 0; + width: 100%; height: 100%; + pointer-events: none; + display: flex; + flex-wrap: wrap; + align-content: start; + font-size: 2rem; + } + .emoji-bg span { + margin: 0.5rem; + opacity: 0.15; + animation: float 8s ease-in-out infinite alternate; + } + @keyframes float { + to { transform: translateY(-20px) rotate(10deg); } + } + /* Main content wrapper */ + .wrapper { + position: relative; + z-index: 1; + max-width: 1000px; + margin: 2rem auto; + padding: 2rem; + background: var(--card-bg); + border-radius: 15px; + border: 2px solid var(--card-border); + box-shadow: 0 8px 32px rgba(0,0,0,0.4); + backdrop-filter: blur(10px); + } + h1 { + font-weight: 900; + font-stretch: ultra-expanded; + font-style: italic; + color: var(--accent); + text-align: center; + font-size: 3rem; + margin-bottom: 1.5rem; + text-shadow: 2px 2px 8px rgba(0,0,0,0.7); + } + .game-container { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); + gap: 1rem; + } + .game { + background: rgba(255,255,255,0.2); + border: 2px solid var(--card-border); + border-radius: 12px; + text-decoration: none; + color: #fff; + padding: 1.5rem 1rem; + text-align: center; + transition: transform 0.2s, background 0.3s; + } + .game:hover { + background: var(--card-hover); + transform: scale(1.05); + } + .game h2 { + margin-bottom: 0.75rem; + font-size: 1.5rem; + text-shadow: 1px 1px 4px rgba(0,0,0,0.7); + } + /* Hide canvas and boards until active */ + canvas, .board { display: none; }
-