*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0a0a0f;--surface: #14141f;--surface-hover: #1c1c2e;--border: #2a2a3d;--text: #e4e4ed;--text-muted: #8888a0;--accent: #7c5cff;--accent-glow: rgba(124, 92, 255, .25);--radius: 12px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;line-height:1.6}.hub{max-width:1100px;margin:0 auto;padding:2rem 1.5rem;min-height:100vh;display:flex;flex-direction:column}.hub-header{text-align:center;padding:3rem 0 2rem}.hub-title{font-size:2.5rem;font-weight:700;letter-spacing:-.02em}.accent{color:var(--accent)}.hub-subtitle{color:var(--text-muted);font-size:1.1rem;margin-top:.5rem}.search-wrapper{position:relative;max-width:400px;margin:1.5rem auto 0}.search-icon{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--text-muted);pointer-events:none}.search-input{width:100%;padding:.65rem 1rem .65rem 2.5rem;background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--text);font-size:.95rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem;align-content:start}.game-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;display:flex;flex-direction:column}.game-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 8px 32px var(--accent-glow)}.game-card:hover .game-card__play{opacity:1}.game-card--soon{opacity:.6;cursor:default}.game-card--soon:hover{transform:none;border-color:var(--border);box-shadow:none}.game-card__thumbnail{position:relative;aspect-ratio:2 / 1;background:var(--surface-hover);overflow:hidden}.game-card__thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.game-card:hover .game-card__thumbnail img{transform:scale(1.05)}.game-card__play{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000080;color:#fff;font-size:1.1rem;font-weight:600;letter-spacing:.05em;opacity:0;transition:opacity .2s ease}.game-card__badge{position:absolute;top:.5rem;right:.5rem;background:var(--accent);color:#fff;font-size:.65rem;font-weight:600;padding:.2rem .6rem;border-radius:999px;text-transform:uppercase;letter-spacing:.05em}.game-card__info{padding:.85rem;display:flex;flex-direction:column;gap:.35rem}.game-card__title{font-size:1rem;font-weight:600}.game-card__desc{color:var(--text-muted);font-size:.8rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.game-card__tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.25rem}.tag{background:var(--surface-hover);border:1px solid var(--border);color:var(--text-muted);font-size:.65rem;padding:.15rem .5rem;border-radius:999px}.filters{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1.25rem}.filter-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);font-size:.8rem;padding:.35rem .9rem;border-radius:999px;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.filter-btn:hover{background:var(--surface-hover);color:var(--text)}.filter-btn--active{background:var(--accent);border-color:var(--accent);color:#fff}.sort-wrapper{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem}.sort-label{color:var(--text-muted);font-size:.85rem}.sort-select{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.85rem;padding:.4rem .75rem;outline:none;cursor:pointer;transition:border-color .2s ease}.sort-select:focus{border-color:var(--accent)}.sort-select option{background:var(--surface);color:var(--text)}.pagination{display:flex;justify-content:center;align-items:center;gap:.4rem;margin-top:1.5rem;padding-bottom:.5rem}.page-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);font-size:.85rem;width:2.2rem;height:2.2rem;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease,color .2s ease,border-color .2s ease}.page-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.page-btn--active{background:var(--accent);border-color:var(--accent);color:#fff}.page-btn:disabled{opacity:.35;cursor:default}.loading{grid-column:1 / -1;text-align:center;color:var(--text-muted);font-size:.95rem;padding:3rem 0;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.no-results{text-align:center;color:var(--text-muted);font-size:1rem;padding:2rem 0}.ad-container{margin:1.25rem 0;min-height:90px;text-align:center}body.has-consent-banner{padding-bottom:5rem}.consent-banner{position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--border);padding:1rem 1.5rem;display:flex;align-items:center;justify-content:center;gap:1.5rem;z-index:1000;flex-wrap:wrap}.consent-text{color:var(--text-muted);font-size:.85rem;max-width:500px}.consent-actions{display:flex;gap:.75rem}.consent-btn{padding:.5rem 1.25rem;border:none;border-radius:999px;font-size:.85rem;font-weight:600;cursor:pointer;transition:opacity .2s ease}.consent-btn:hover{opacity:.85}.consent-btn--accept{background:var(--accent);color:#fff}.consent-btn--decline{background:var(--surface-hover);border:1px solid var(--border);color:var(--text-muted)}.hub-footer{text-align:center;padding:2rem 0 1rem;color:var(--text-muted);font-size:.85rem}.hub-footer a{color:var(--text-muted);text-decoration:none;transition:color .2s ease}.hub-footer a:hover{color:var(--accent)}@media (max-width: 480px){.hub-header{padding:2rem 0 1.5rem}.hub-title{font-size:1.75rem}.games-grid{grid-template-columns:1fr}.consent-banner{flex-direction:column;text-align:center;gap:.75rem}}
