.page{max-width:1280px!important}.filter-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:.6rem .9rem;display:flex}.filter-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);white-space:nowrap;margin-right:.15rem;font-size:.7rem;font-weight:700}.filter-divider{background:var(--border);flex-shrink:0;width:1px;height:16px}.fchip{border:1px solid var(--border);color:var(--muted);cursor:pointer;user-select:none;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;background:0 0;border-radius:999px;align-items:center;gap:.25rem;padding:.2rem .5rem;font-family:inherit;font-size:.72rem;font-weight:700;transition:all .15s;display:inline-flex}.fchip:hover{border-color:var(--border-h);color:var(--text)}.fchip[data-state=include][data-key=featured]{color:#d8b4fe;background:#d8b4fe26;border-color:#d8b4fe80}.fchip[data-state=include][data-key=solo]{color:#94a3b8;background:#94a3b826;border-color:#94a3b880}.fchip[data-state=include][data-key=coop]{color:#4ade80;background:#4ade8026;border-color:#4ade8080}.fchip[data-state=include][data-key=pvp]{color:#f472b6;background:#f472b626;border-color:#f472b680}.fchip[data-state=include][data-key=escape]{color:#fbbf24;background:#fbbf2426;border-color:#fbbf2480}.fchip[data-state=include][data-key=action]{color:#22d3ee;background:#22d3ee26;border-color:#22d3ee80}.fchip[data-state=include][data-key=shooter]{color:#fb923c;background:#fb923c26;border-color:#fb923c80}.fchip[data-state=include][data-key=kids]{color:#facc15;background:#facc1526;border-color:#facc1580}.fchip[data-state=include][data-key=rhythm]{color:#a78bfa;background:#a78bfa26;border-color:#a78bfa80}.fchip[data-state=exclude]{color:#f87171;background:#f8717126;border-color:#f8717180;text-decoration:line-through}.filter-reset{color:var(--muted);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:.15rem .3rem;font-family:inherit;font-size:.72rem;font-weight:600;transition:color .15s}.filter-reset:hover{color:var(--text)}.status-bar{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.1rem;display:flex}.game-count{color:var(--muted);font-size:.85rem}.game-count strong{color:var(--accent)}.featured-section{margin-bottom:2.5rem}.featured-heading{color:var(--text);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.3rem;font-weight:800;display:flex}.featured-heading:before{content:"★";color:#d8b4fe}.featured-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}.featured-grid .game-card{border:2px solid #a855f766;box-shadow:0 0 24px #a855f726}.featured-grid .game-card:hover{border-color:#a855f7b3;box-shadow:0 0 32px #a855f740}.games-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;display:grid}.game-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);flex-direction:column;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex;overflow:hidden}.game-card:hover{border-color:var(--border-h);box-shadow:var(--shadow-m);transform:translateY(-2px)}.card-thumb{aspect-ratio:16/9;cursor:pointer;background:#0a0c10;border:none;width:100%;padding:0;display:block;position:relative;overflow:hidden}.card-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.game-card:hover .card-thumb img{transform:scale(1.04)}.play-overlay{opacity:0;background:#00000059;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.game-card:hover .play-overlay{opacity:1}.play-btn{background:#ffffffe6;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.2rem;transition:transform .15s;display:flex}.play-btn:hover{transform:scale(1.1)}.card-badges{flex-wrap:wrap;gap:.3rem;display:flex;position:absolute;top:8px;left:8px}.badge{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:.18rem .42rem;font-size:.68rem;font-weight:700}.badge-featured{color:#d8b4fe;background:#a855f733;border:1px solid #a855f766;font-weight:800}.badge-coop{color:#4ade80;background:#4ade8026;border:1px solid #4ade804d}.badge-pvp{color:#f472b6;background:#f472b626;border:1px solid #f472b64d}.badge-escape{color:#fbbf24;background:#fbbf2426;border:1px solid #fbbf244d}.badge-action{color:#22d3ee;background:#22d3ee26;border:1px solid #22d3ee4d}.badge-shooter{color:#fb923c;background:#fb923c26;border:1px solid #fb923c4d}.badge-kids{color:#facc15;background:#facc1526;border:1px solid #facc154d}.badge-rhythm{color:#a78bfa;background:#a78bfa26;border:1px solid #a78bfa4d}.card-body{flex-direction:column;flex:1;gap:.45rem;padding:.85rem 1rem .95rem;display:flex}.card-title{color:var(--text);font-size:.975rem;font-weight:700}.card-desc{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;font-size:.8rem;line-height:1.55;display:-webkit-box;overflow:hidden}.card-footer{margin-top:.4rem}.card-detail-btn{color:var(--accent);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:1px solid #22d3ee40;align-items:center;padding:.28rem .55rem;font-family:inherit;font-size:.78rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.card-detail-btn:hover{border-color:var(--accent);background:#22d3ee14}.modal-overlay{z-index:1000;backdrop-filter:blur(4px);opacity:0;background:#000000bf;justify-content:center;align-items:center;padding:1rem;transition:opacity .2s;display:flex;position:fixed;inset:0}.modal-overlay:not([hidden]){opacity:1}.modal-overlay[hidden]{display:none}.modal-panel{background:var(--card);border:1px solid var(--border);border-radius:calc(var(--r) + 2px);flex-direction:column;width:100%;max-width:800px;max-height:90vh;display:flex;position:relative;overflow-y:auto;box-shadow:0 24px 64px #0009}.modal-topbar{z-index:2;background:var(--card);border-bottom:1px solid var(--border);padding:.75rem 1rem;padding-top:max(.75rem, env(safe-area-inset-top));padding-left:max(1rem, env(safe-area-inset-left));padding-right:max(1rem, env(safe-area-inset-right));justify-content:space-between;align-items:center;gap:.75rem;display:flex;position:sticky;top:0}.modal-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:1rem;font-weight:700;overflow:hidden}.modal-close{border:1px solid var(--border);width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:inherit;font-size:1rem;transition:background .15s,color .15s;display:flex}.modal-close:hover{background:var(--border);color:var(--text)}.modal-video-wrap{aspect-ratio:16/9;background:#000;flex-shrink:0;width:100%;position:relative}.modal-iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.modal-info{padding:1rem 1.1rem 1.25rem;padding-bottom:max(1.25rem, env(safe-area-inset-bottom));flex-direction:column;gap:.65rem;display:flex}.modal-badges{flex-wrap:wrap;gap:.35rem;display:flex}.modal-desc{color:var(--muted);margin:0;font-size:.88rem;line-height:1.65}.modal-yt-link{color:var(--accent);border-radius:var(--r-sm);border:1px solid #22d3ee40;align-self:flex-start;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.8rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.modal-yt-link:hover{border-color:var(--accent);background:#22d3ee14}@media (width<=600px){.modal-overlay{padding:.5rem}.modal-panel{max-height:92vh}}.empty{text-align:center;color:var(--muted);flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;gap:.75rem;padding:4rem 2rem;display:flex}.empty-icon{font-size:3rem}.empty-title{color:var(--text);font-size:1.05rem;font-weight:700}@media (width<=640px){.games-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}}@media (width<=400px){.games-grid{grid-template-columns:1fr}}
