.fps-game-filter {
    --fps-filter-bg: var(--card-background, var(--bg-color, #fff));
    --fps-filter-border: var(--border-color, rgba(17, 24, 39, .12));
    --fps-filter-text: var(--text-color, #202124);
    --fps-filter-muted: var(--gray, #777);
    --fps-filter-accent: var(--accent-color, #0b5cff);
    box-sizing: border-box;
    width: 100%;
    padding: 18px;
    color: var(--fps-filter-text);
    background: var(--fps-filter-bg);
    border: 1px solid var(--fps-filter-border);
    border-radius: 16px;
}
.fps-game-filter__title { margin: 0 0 16px; font-size: 18px; font-weight: 700; }
.fps-game-filter__row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.fps-game-filter__field { display: grid; gap: 7px; min-width: 0; margin-bottom: 12px; }
.fps-game-filter__field > span:first-child { color: var(--fps-filter-muted); font-size: 13px; }
.fps-game-filter__control {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    height: 42px;
    padding: 0 12px;
    color: inherit;
    background: transparent;
    border: 1px solid var(--fps-filter-border);
    border-radius: 10px;
    outline: none;
}
.fps-game-filter__control:focus { border-color: var(--fps-filter-accent); }
.fps-game-filter__fps-control { position: relative; display: block; }
.fps-game-filter__fps-control input { padding-right: 42px; }
.fps-game-filter__fps-control b { position: absolute; top: 50%; right: 10px; transform: translateY(-50%); font-size: 12px; font-weight: 600; color: var(--fps-filter-muted); }
.fps-game-filter__apply,
.fps-game-filter__clear { width: 100%; min-height: 42px; border-radius: 10px; cursor: pointer; }
.fps-game-filter__apply { color: #fff; background: var(--fps-filter-accent); border: 1px solid var(--fps-filter-accent); }
.fps-game-filter__clear { margin-top: 6px; color: var(--fps-filter-accent); background: transparent; border: 0; }
html[data-theme="dark"] .fps-game-filter,
.theme-dark .fps-game-filter,
body.dark-theme .fps-game-filter {
    --fps-filter-bg: var(--card-background, #252525);
    --fps-filter-border: rgba(255, 255, 255, .12);
    --fps-filter-text: #e6e6e6;
    --fps-filter-muted: #a5a5a5;
}
@media (max-width: 480px) {
    .fps-game-filter { padding: 14px; border-radius: 12px; }
    .fps-game-filter__row { grid-template-columns: 1fr; gap: 0; }
}
